@heycar/heycars-map 0.2.12 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/business-components/AbsoluteAddressBox/AbsoluteAddressBox.css.d.ts +8 -0
- package/dist/business-components/AbsoluteAddressBox/AbsoluteAddressBox.d.ts +8 -2
- package/dist/business-components/AddressBox/AddressBox.d.ts +5 -7
- package/dist/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.d.ts +3 -1
- package/dist/components/Gmap/Gmap.css.d.ts +1 -0
- package/dist/index.cjs +48 -48
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1341 -1296
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/Demo/DemoBusinessRecomendPlace.tsx +1 -0
- package/src/business-components/AbsoluteAddressBox/AbsoluteAddressBox.css.ts +66 -0
- package/src/business-components/AbsoluteAddressBox/AbsoluteAddressBox.tsx +34 -3
- package/src/business-components/AddressBox/AddressBox.tsx +2 -4
- package/src/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.tsx +5 -4
- package/src/components/Amap/Amap.css.ts +3 -1
- package/src/components/Gmap/Gmap.css.ts +5 -0
- package/src/components/Gmap/Gmap.ts +3 -1
- package/src/index.ts +1 -0
- package/todo.md +5 -9
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.rgf09w0{width:7.1045vw;height:10.93vw;display:flex}._15rq2xn0{display:flex;flex-direction:column;align-items:center;margin-bottom:-1.6vw}._15rq2xn1{padding:2.13vw 4.5vw 2.67vw 4.27vw;display:flex;align-items:center;background:linear-gradient(90deg,#79AFFF 0%,#5C8DFF 32%,#507FFF 75%,#4471FF 100%);border-radius:3.2vw}._15rq2xn2{font-size:3.47vw;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#fff;line-height:4.8vw;white-space:nowrap}._15rq2xn3{font-size:2.93vw;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#eafaf8;line-height:4.27vw;white-space:nowrap;opacity:.8}._15rq2xn4{margin-left:3.2vw;width:1.44vw;height:2.4vw}._15rq2xn5{width:.8vw;height:4vw;background:#4C80FF;border-radius:0vw 0vw 26.67vw 26.67vw;z-index:1}._15rq2xn6{margin-top:-1.5vw;width:3.2vw;height:3.2vw}._4a4ovk0{margin-bottom:-.4vw;display:flex;flex-direction:column;align-items:center}._4a4ovk1{padding:1.07vw 2.4vw 1.6vw 2.67vw;background:#FFFFFF;box-shadow:0 .53vw 2.4vw #3f3f3f33;border-radius:2.13vw}._4a4ovk2{padding:2.67vw 2.67vw 2.4vw 3.2vw;background:#FFFFFF;box-shadow:0 0 2.67vw #4e556c26;border-radius:4.8vw;font-size:3.2vw;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:#1e1e1e;line-height:4.53vw;white-space:nowrap}._4a4ovk3{font-size:3.2vw;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:#1e1e1e;line-height:4.53vw;white-space:nowrap}._4a4ovk4{font-size:2.4vw;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#7e7e7e;line-height:3.47vw;white-space:nowrap}._4a4ovk5{color:#4471ff;font-family:PingFangSC-Medium,PingFang SC;font-weight:500}._4a4ovk6{margin-top:1.33vw;width:6.192vw;height:7.998vw}._4a4ovk7{margin-top:2.4vw;width:6.192vw;height:7.998vw}._1l6offo0{display:flex}._1l6offo1{width:4.53vw;height:4.53vw;margin-bottom:-2.265vw}._1l6offo2{width:16.27vw;height:16.27vw;margin-bottom:-8.135vw}.fhyw80{display:flex;align-items:center}.fhyw81{flex-direction:row-reverse}.fhyw83{margin-right:-2.265vw}.fhyw84{margin-left:-2.265vw}.fhyw85{margin-bottom:-2.265vw}.fhyw86{margin-right:calc(50% - 2.265vw)}.fhyw87{margin-left:calc(50% - 2.265vw)}.fhyw88{display:flex;width:4.53vw;height:4.53vw}.fhyw89{opacity:0}.fhyw8b{font-size:3.47vw;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#243e66;line-height:4.53vw;white-space:nowrap}._65j3sr1{margin-top:1.87vw;margin-bottom:-5.5vw;width:6vw;height:11vw}@keyframes rrvp0y0{0%{transform:scale(0);opacity:1}33.33%{transform:scale(.5);opacity:1}66.66%{transform:scale(1);opacity:0}to{transform:scale(1);opacity:0}}@keyframes rrvp0y1{0%{transform:scale(0);opacity:0}33.33%{transform:scale(0);opacity:1}66.66%{transform:scale(.5);opacity:1}to{transform:scale(1);opacity:0}}.rrvp0y2{display:flex;margin-bottom:-30.935vw;width:61.87vw;height:61.87vw;animation-name:rrvp0y0;animation-duration:3s;animation-iteration-count:infinite;animation-timing-function:linear}.rrvp0y3{animation-name:rrvp0y1}
|
|
1
|
+
.n8tgem0{position:absolute;bottom:50%;left:0;right:0;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center;z-index:1}.n8tgem1{padding:2.67vw 4.27vw;background:linear-gradient(90deg,#79AFFF 0%,#5C8DFF 32%,#507FFF 75%,#4471FF 100%);border-radius:3.2vw;display:flex;align-items:center}.n8tgem2{padding-right:2.67vw;max-width:41.33vw}.n8tgem3{display:-webkit-box;font-size:3.47vw;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#fff;line-height:4.8vw;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.n8tgem4{margin-top:.53vw;font-size:2.93vw;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#fff;line-height:4.27vw;opacity:.8}.n8tgem5{width:1.758vw;height:2.93vw}.n8tgem6{width:.8vw;height:4vw;background:#4C80FF;border-radius:0vw 0vw 26.67vw 26.67vw}.n8tgem7{width:6.9355vw;height:10.67vw}.rgf09w0{width:7.1045vw;height:10.93vw;display:flex}._15rq2xn0{display:flex;flex-direction:column;align-items:center;margin-bottom:-1.6vw}._15rq2xn1{padding:2.13vw 4.5vw 2.67vw 4.27vw;display:flex;align-items:center;background:linear-gradient(90deg,#79AFFF 0%,#5C8DFF 32%,#507FFF 75%,#4471FF 100%);border-radius:3.2vw}._15rq2xn2{font-size:3.47vw;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#fff;line-height:4.8vw;white-space:nowrap}._15rq2xn3{font-size:2.93vw;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#eafaf8;line-height:4.27vw;white-space:nowrap;opacity:.8}._15rq2xn4{margin-left:3.2vw;width:1.44vw;height:2.4vw}._15rq2xn5{width:.8vw;height:4vw;background:#4C80FF;border-radius:0vw 0vw 26.67vw 26.67vw;z-index:1}._15rq2xn6{margin-top:-1.5vw;width:3.2vw;height:3.2vw}._1d8ur7t0,._7anfuo0{position:relative}._4a4ovk0{margin-bottom:-.4vw;display:flex;flex-direction:column;align-items:center}._4a4ovk1{padding:1.07vw 2.4vw 1.6vw 2.67vw;background:#FFFFFF;box-shadow:0 .53vw 2.4vw #3f3f3f33;border-radius:2.13vw}._4a4ovk2{padding:2.67vw 2.67vw 2.4vw 3.2vw;background:#FFFFFF;box-shadow:0 0 2.67vw #4e556c26;border-radius:4.8vw;font-size:3.2vw;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:#1e1e1e;line-height:4.53vw;white-space:nowrap}._4a4ovk3{font-size:3.2vw;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:#1e1e1e;line-height:4.53vw;white-space:nowrap}._4a4ovk4{font-size:2.4vw;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#7e7e7e;line-height:3.47vw;white-space:nowrap}._4a4ovk5{color:#4471ff;font-family:PingFangSC-Medium,PingFang SC;font-weight:500}._4a4ovk6{margin-top:1.33vw;width:6.192vw;height:7.998vw}._4a4ovk7{margin-top:2.4vw;width:6.192vw;height:7.998vw}._1l6offo0{display:flex}._1l6offo1{width:4.53vw;height:4.53vw;margin-bottom:-2.265vw}._1l6offo2{width:16.27vw;height:16.27vw;margin-bottom:-8.135vw}.fhyw80{display:flex;align-items:center}.fhyw81{flex-direction:row-reverse}.fhyw83{margin-right:-2.265vw}.fhyw84{margin-left:-2.265vw}.fhyw85{margin-bottom:-2.265vw}.fhyw86{margin-right:calc(50% - 2.265vw)}.fhyw87{margin-left:calc(50% - 2.265vw)}.fhyw88{display:flex;width:4.53vw;height:4.53vw}.fhyw89{opacity:0}.fhyw8b{font-size:3.47vw;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#243e66;line-height:4.53vw;white-space:nowrap}._65j3sr1{margin-top:1.87vw;margin-bottom:-5.5vw;width:6vw;height:11vw}@keyframes rrvp0y0{0%{transform:scale(0);opacity:1}33.33%{transform:scale(.5);opacity:1}66.66%{transform:scale(1);opacity:0}to{transform:scale(1);opacity:0}}@keyframes rrvp0y1{0%{transform:scale(0);opacity:0}33.33%{transform:scale(0);opacity:1}66.66%{transform:scale(.5);opacity:1}to{transform:scale(1);opacity:0}}.rrvp0y2{display:flex;margin-bottom:-30.935vw;width:61.87vw;height:61.87vw;animation-name:rrvp0y0;animation-duration:3s;animation-iteration-count:infinite;animation-timing-function:linear}.rrvp0y3{animation-name:rrvp0y1}
|
package/package.json
CHANGED
|
@@ -68,6 +68,7 @@ export const DemoBusinessRecomendPlace = defineSetup(function DemoBusinessRecome
|
|
|
68
68
|
getRecomendPlace={getRecomendPlace}
|
|
69
69
|
mapContext={mapContext}
|
|
70
70
|
onGeoError={(e) => console.log("onGeoError e = ", e)}
|
|
71
|
+
onClickLocator={() => alert("hi")}
|
|
71
72
|
/>
|
|
72
73
|
</div>
|
|
73
74
|
);
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { style } from "@vanilla-extract/css";
|
|
2
|
+
|
|
3
|
+
export const absoluteAddressBoxLayout = style({
|
|
4
|
+
position: "absolute",
|
|
5
|
+
bottom: "50%",
|
|
6
|
+
left: 0,
|
|
7
|
+
right: 0,
|
|
8
|
+
marginLeft: "auto",
|
|
9
|
+
marginRight: "auto",
|
|
10
|
+
display: "flex",
|
|
11
|
+
flexDirection: "column",
|
|
12
|
+
alignItems: "center",
|
|
13
|
+
zIndex: 1,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export const absoluteAddressBox = style({
|
|
17
|
+
padding: "2.67vw 4.27vw",
|
|
18
|
+
background: "linear-gradient(90deg, #79AFFF 0%, #5C8DFF 32%, #507FFF 75%, #4471FF 100%)",
|
|
19
|
+
borderRadius: "3.2vw",
|
|
20
|
+
display: "flex",
|
|
21
|
+
alignItems: "center",
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export const boxTextLayout = style({
|
|
25
|
+
paddingRight: "2.67vw",
|
|
26
|
+
maxWidth: "41.33vw",
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export const boxTitle = style({
|
|
30
|
+
display: "-webkit-box",
|
|
31
|
+
fontSize: "3.47vw",
|
|
32
|
+
fontFamily: "PingFangSC-Semibold, PingFang SC",
|
|
33
|
+
fontWeight: 600,
|
|
34
|
+
color: "#FFFFFF",
|
|
35
|
+
lineHeight: "4.8vw",
|
|
36
|
+
WebkitLineClamp: 2,
|
|
37
|
+
WebkitBoxOrient: "vertical",
|
|
38
|
+
overflow: "hidden",
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export const boxDescription = style({
|
|
42
|
+
marginTop: "0.53vw",
|
|
43
|
+
fontSize: "2.93vw",
|
|
44
|
+
fontFamily: "PingFangSC-Regular, PingFang SC",
|
|
45
|
+
fontWeight: 400,
|
|
46
|
+
color: "#FFFFFF",
|
|
47
|
+
lineHeight: "4.27vw",
|
|
48
|
+
opacity: 0.8,
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export const arrowRight = style({
|
|
52
|
+
width: "1.758vw",
|
|
53
|
+
height: "2.93vw",
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
export const straightLine = style({
|
|
57
|
+
width: "0.8vw",
|
|
58
|
+
height: "4vw",
|
|
59
|
+
background: "#4C80FF",
|
|
60
|
+
borderRadius: "0vw 0vw 26.67vw 26.67vw",
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
export const locatorIcon = style({
|
|
64
|
+
width: "6.9355vw",
|
|
65
|
+
height: "10.67vw",
|
|
66
|
+
});
|
|
@@ -1,8 +1,39 @@
|
|
|
1
|
+
import imgAddressLocator from "../../assets/icons/svg/address-locator.svg";
|
|
2
|
+
import imgArrowRight from "../../assets/icons/svg/arrow-right.svg";
|
|
3
|
+
import type { MapLogProps } from "../../hooks/useMapLog";
|
|
1
4
|
import { defineSetup } from "../../types/helper";
|
|
2
|
-
import
|
|
5
|
+
import * as css from "./AbsoluteAddressBox.css";
|
|
3
6
|
|
|
4
|
-
export
|
|
7
|
+
export interface AbsoluteAddressBoxProps extends MapLogProps {
|
|
8
|
+
type: "box" | "locator";
|
|
9
|
+
title: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
onClick?: () => any;
|
|
12
|
+
}
|
|
13
|
+
export const AbsoluteAddressBox = defineSetup(function AbsoluteAddressBox(
|
|
14
|
+
props: AbsoluteAddressBoxProps,
|
|
15
|
+
{ emit }
|
|
16
|
+
) {
|
|
17
|
+
const handleClick = () => emit("click");
|
|
5
18
|
return () => {
|
|
6
|
-
|
|
19
|
+
const { type, title, description } = props;
|
|
20
|
+
if (type === "locator")
|
|
21
|
+
return (
|
|
22
|
+
<div class={css.absoluteAddressBoxLayout}>
|
|
23
|
+
<img class={css.locatorIcon} src={imgAddressLocator} />
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
return (
|
|
27
|
+
<div class={css.absoluteAddressBoxLayout}>
|
|
28
|
+
<div class={css.absoluteAddressBox} onClick={handleClick}>
|
|
29
|
+
<div class={css.boxTextLayout}>
|
|
30
|
+
<div class={css.boxTitle}>{title}</div>
|
|
31
|
+
{description && <div class={css.boxDescription}>{description}</div>}
|
|
32
|
+
</div>
|
|
33
|
+
<img class={css.arrowRight} src={imgArrowRight} />
|
|
34
|
+
</div>
|
|
35
|
+
<i class={css.straightLine} />
|
|
36
|
+
</div>
|
|
37
|
+
);
|
|
7
38
|
};
|
|
8
39
|
});
|
|
@@ -9,14 +9,12 @@ import { createElement, defineSetup } from "../../types/helper";
|
|
|
9
9
|
import type { Point } from "../../types/interface";
|
|
10
10
|
import { createDom } from "../../utils/dom";
|
|
11
11
|
import { vec2lnglat } from "../../utils/transform";
|
|
12
|
+
import type { AbsoluteAddressBoxProps } from "../AbsoluteAddressBox";
|
|
12
13
|
import { AAddressLocator, GAddressLocator } from "../AddressLocator";
|
|
13
14
|
import * as css from "./AddressBox.css";
|
|
14
15
|
|
|
15
|
-
export interface AddressBoxProps extends MapLogProps {
|
|
16
|
-
type: "box" | "locator";
|
|
16
|
+
export interface AddressBoxProps extends MapLogProps, AbsoluteAddressBoxProps {
|
|
17
17
|
position: Point;
|
|
18
|
-
title: string;
|
|
19
|
-
description?: string;
|
|
20
18
|
}
|
|
21
19
|
export const AAddressBox = defineSetup(function AAddressBox(props: AddressBoxProps) {
|
|
22
20
|
useMapLog(props, "AAddressBox");
|
|
@@ -10,7 +10,7 @@ import { useMapRecomendPlace, UseMapRecomendPlaceProps } from "../../hooks/useMa
|
|
|
10
10
|
import { useMapSupplier } from "../../hooks/useMapSupplier";
|
|
11
11
|
import { defineLagecySetup } from "../../types/helper";
|
|
12
12
|
import type { Place, Point } from "../../types/interface";
|
|
13
|
-
import {
|
|
13
|
+
import { AbsoluteAddressBox, AbsoluteAddressBoxProps } from "../AbsoluteAddressBox";
|
|
14
14
|
import { PassengerCircle } from "../PassengerCircle";
|
|
15
15
|
import { PickupPoints } from "../PickupPoints";
|
|
16
16
|
|
|
@@ -35,12 +35,13 @@ export interface BusinessRecomendPlaceMapProps
|
|
|
35
35
|
onChangePlace?: UseMapPlaceProps["onChange"];
|
|
36
36
|
onChangeRecomandPlace?: UseMapRecomendPlaceProps["onChange"];
|
|
37
37
|
onGeoError?: UseGeoLocationProps["onError"];
|
|
38
|
+
onClickLocator?: AbsoluteAddressBoxProps["onClick"];
|
|
38
39
|
}
|
|
39
40
|
export const BusinessRecomendPlaceMap = defineLagecySetup(
|
|
40
41
|
(props: BusinessRecomendPlaceMapProps, { emit }) => {
|
|
41
42
|
useMapLog(props, "BusinessRecomendPlaceMap");
|
|
42
43
|
const { geoDefaultPosition, getRecomendPlace, mapContext } = props;
|
|
43
|
-
const { mapRef, setMap
|
|
44
|
+
const { mapRef, setMap } = useHeycarMap();
|
|
44
45
|
const { readyPromise } = useMapSupplier();
|
|
45
46
|
const centerPlace = reactive<Place>({
|
|
46
47
|
lng: geoDefaultPosition?.[0] ?? 0,
|
|
@@ -151,12 +152,12 @@ export const BusinessRecomendPlaceMap = defineLagecySetup(
|
|
|
151
152
|
<HeycarMap center={centerPoint.value} zoom={18} mapRef={setMap} log={props.log}>
|
|
152
153
|
<PassengerCircle position={geoPosition.value} />
|
|
153
154
|
<PickupPoints places={placeCandidates.value} onClick={setCenterByPlace} log={props.log} />
|
|
154
|
-
<
|
|
155
|
-
position={centerPoint.value}
|
|
155
|
+
<AbsoluteAddressBox
|
|
156
156
|
title={availableRef.value ? centerPlace.name : props.unavailableTitle}
|
|
157
157
|
description={description}
|
|
158
158
|
type={isDragging.value ? "locator" : "box"}
|
|
159
159
|
log={props.log}
|
|
160
|
+
onClick={() => emit("clickLocator")}
|
|
160
161
|
/>
|
|
161
162
|
</HeycarMap>
|
|
162
163
|
);
|
|
@@ -8,6 +8,8 @@ import {
|
|
|
8
8
|
watchNoneImmediatePostEffectForDeepOption,
|
|
9
9
|
watchPostEffectForGMapEvent,
|
|
10
10
|
} from "../../utils/compare";
|
|
11
|
+
import * as css from "./Gmap.css";
|
|
12
|
+
|
|
11
13
|
export interface GmapProps extends google.maps.MapOptions {
|
|
12
14
|
mapRef?: SetMap<google.maps.Map>;
|
|
13
15
|
onDragStart?: MapEventHandler<google.maps.Map>;
|
|
@@ -50,5 +52,5 @@ export const Gmap = defineSetup(function Gmap(props: GmapProps, { slots, emit })
|
|
|
50
52
|
}
|
|
51
53
|
);
|
|
52
54
|
watchPostEffectForGMapEvent(mapRef, props, handleDrag, ["onDragStart", "onDragEnd"]);
|
|
53
|
-
return () => h("div", { ref: elementRef }, slots.default?.());
|
|
55
|
+
return () => h("div", { ref: elementRef, class: css.gmap }, slots.default?.());
|
|
54
56
|
});
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "./style.css";
|
|
2
|
+
export { AbsoluteAddressBox } from "./business-components/AbsoluteAddressBox";
|
|
2
3
|
export { AddressBox } from "./business-components/AddressBox";
|
|
3
4
|
export { BusinessQuotingMap } from "./business-components/BusinessQuotingMap";
|
|
4
5
|
export { BusinessRecomendPlaceMap } from "./business-components/BusinessRecomendPlaceMap";
|
package/todo.md
CHANGED
|
@@ -2,20 +2,14 @@ https://dawchihliou.github.io/articles/building-custom-google-maps-marker-react-
|
|
|
2
2
|
|
|
3
3
|
2. Google 地址名称太长
|
|
4
4
|
3. 中心点 drag 期间位置
|
|
5
|
-
4.
|
|
6
|
-
5.
|
|
7
|
-
6. google/高德 坐标系转化
|
|
8
|
-
7. click 事件
|
|
5
|
+
4. 高德地图加载期间出现大量的请求
|
|
6
|
+
5. google/高德 坐标系转化
|
|
9
7
|
|
|
10
8
|
---
|
|
11
9
|
|
|
12
|
-
1. 需要计算用户与上车点的预估时间 导出
|
|
13
|
-
2. 全程时间与距离导出
|
|
14
10
|
3. 司机接单页起点名称怎么显示 ?
|
|
15
11
|
4. passenger 超过 10 公里 fitview 不考虑怎么设计
|
|
16
|
-
5.
|
|
17
|
-
6. walkingRoute 显示报错
|
|
18
|
-
7. 需要一个手段让 fitview 初始化起作用
|
|
12
|
+
5. 需要一个手段让 fitview 初始化起作用
|
|
19
13
|
|
|
20
14
|
---
|
|
21
15
|
|
|
@@ -27,3 +21,5 @@ https://dawchihliou.github.io/articles/building-custom-google-maps-marker-react-
|
|
|
27
21
|
---
|
|
28
22
|
|
|
29
23
|
1. 定位失败的视觉稿文字提示
|
|
24
|
+
2. 用户手动输入地址,然后跳回 home 页面, centerplace 的 name 不正确
|
|
25
|
+
3. 用户地址搜索,先设置台湾,搜个结果,然后切换城市到新加坡,搜索到结果依然是台湾
|