@heycar/heycars-map 0.4.9 → 0.5.1
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/api/contants.d.ts +5 -0
- package/dist/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceSection.d.ts +3 -3
- package/dist/business-components/TaxiCar/TaxiCar.css.d.ts +8 -0
- package/dist/hooks/useMapPlace.d.ts +1 -0
- package/dist/hooks/useMapRecomendPlace.d.ts +1 -0
- package/dist/index.cjs +171 -54
- package/dist/index.js +171 -54
- package/dist/style.css +4 -1
- package/package.json +1 -1
- package/todo.md +32 -27
- package/vite.config.dev.ts +3 -0
package/dist/api/contants.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
import type { Point } from "../types/interface";
|
|
2
2
|
export declare const BEIJIN_POINT: Point;
|
|
3
|
+
export declare const ZINDEX_BUBBLE_LAYER = 50;
|
|
4
|
+
export declare const ZINDEX_START_END_LOGO_LAYER = 40;
|
|
5
|
+
export declare const ZINDEX_PLACE_LAYER = 30;
|
|
6
|
+
export declare const ZINDEX_CAR_LAYER = 21;
|
|
7
|
+
export declare const ZINDEX_PASSENGER_LAYER = 20;
|
|
@@ -14,7 +14,7 @@ type SectionConfirmedProps = Required<MROP> & {
|
|
|
14
14
|
export declare const SectionConfirmed: import("vue").DefineComponent<import("vue/types/v3-component-props").ComponentObjectPropsOptions<SectionConfirmedProps>, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").EmitByProps<SectionConfirmedProps, Required<SectionConfirmedProps>>, never, SectionConfirmedProps, {} | {}>;
|
|
15
15
|
type SectionDriverStartServiceProps = Required<MROP> & {
|
|
16
16
|
passengerPosition?: Point;
|
|
17
|
-
carPosition
|
|
17
|
+
carPosition?: Point;
|
|
18
18
|
from: Place;
|
|
19
19
|
renderTitle: (props: Pick<DrivingRouteRenderProps, "duration" | "distance">) => string;
|
|
20
20
|
};
|
|
@@ -27,14 +27,14 @@ type SectionBookDispatchedProps = Required<MROP> & {
|
|
|
27
27
|
export declare const SectionBookDispatched: import("vue").DefineComponent<import("vue/types/v3-component-props").ComponentObjectPropsOptions<SectionBookDispatchedProps>, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").EmitByProps<SectionBookDispatchedProps, Required<SectionBookDispatchedProps>>, never, SectionBookDispatchedProps, {} | {}>;
|
|
28
28
|
type SectionDriverArrivedProps = Required<MROP> & {
|
|
29
29
|
from: Place;
|
|
30
|
-
carPosition
|
|
30
|
+
carPosition?: Point;
|
|
31
31
|
passengerPosition?: Point;
|
|
32
32
|
title: string;
|
|
33
33
|
};
|
|
34
34
|
export declare const SectionDriverArrived: import("vue").DefineComponent<import("vue/types/v3-component-props").ComponentObjectPropsOptions<SectionDriverArrivedProps>, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").EmitByProps<SectionDriverArrivedProps, Required<SectionDriverArrivedProps>>, never, SectionDriverArrivedProps, {} | {}>;
|
|
35
35
|
type SectionInServiceProps = Required<MROP> & {
|
|
36
36
|
to: Place;
|
|
37
|
-
carPosition
|
|
37
|
+
carPosition?: Point;
|
|
38
38
|
renderTitle: (props: Pick<DrivingRouteRenderProps, "duration" | "distance">) => string;
|
|
39
39
|
};
|
|
40
40
|
export declare const SectionInService: import("vue").DefineComponent<import("vue/types/v3-component-props").ComponentObjectPropsOptions<SectionInServiceProps>, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").EmitByProps<SectionInServiceProps, Required<SectionInServiceProps>>, never, SectionInServiceProps, {} | {}>;
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
export { pointInfoBoxEmphasize, pointInfoBoxTitle, pointLayout, pointSingleInfoBox, } from "../StartEndPoint/StartEndPoint.css";
|
|
2
2
|
export declare const taxiCarLayout: string;
|
|
3
3
|
export declare const carIcon: string;
|
|
4
|
+
export declare const hide: import("@vanilla-extract/recipes").RuntimeFn<{
|
|
5
|
+
hide: {
|
|
6
|
+
true: {
|
|
7
|
+
visibility: "hidden";
|
|
8
|
+
};
|
|
9
|
+
false: {};
|
|
10
|
+
};
|
|
11
|
+
}>;
|
|
@@ -4,6 +4,7 @@ import { UseMapPlaceProps } from "./useMapPlace";
|
|
|
4
4
|
export interface UseMapRecomendPlaceProps<C = Record<string, any>> {
|
|
5
5
|
pointRef: Ref<Point>;
|
|
6
6
|
context?: C;
|
|
7
|
+
emptyPlaceName: string;
|
|
7
8
|
getLimit: (context?: C) => number;
|
|
8
9
|
getRecomendPlace: (place: Place, context?: C) => Promise<Place[] | undefined>;
|
|
9
10
|
onChangeCity?: UseMapPlaceProps["onChangeCity"];
|
package/dist/index.cjs
CHANGED
|
@@ -2663,6 +2663,12 @@ const KeyedFitView = defineSetup(function KeyedFitView2(props, {
|
|
|
2663
2663
|
return Vue.h("div", [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
|
2664
2664
|
};
|
|
2665
2665
|
});
|
|
2666
|
+
const BEIJIN_POINT = [116.2317, 39.5427];
|
|
2667
|
+
const ZINDEX_BUBBLE_LAYER = 50;
|
|
2668
|
+
const ZINDEX_START_END_LOGO_LAYER = 40;
|
|
2669
|
+
const ZINDEX_PLACE_LAYER = 30;
|
|
2670
|
+
const ZINDEX_CAR_LAYER = 21;
|
|
2671
|
+
const ZINDEX_PASSENGER_LAYER = 20;
|
|
2666
2672
|
const imgEndPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiAzMC4yMTVjMi4xMzQgMCAzLjg2My0uODkzIDMuODYzLTEuOTk1IDAtMS4xLTEuNzMtMS45OTQtMy44NjMtMS45OTQtMi4xMzQgMC0zLjg2My44OTMtMy44NjMgMS45OTQgMCAxLjEwMiAxLjczIDEuOTk1IDMuODYzIDEuOTk1eiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyNy4wMDZjMi4xMjggMC0uOS0zLjc0MyA1LjYyMS02LjY0M0MxOS44NDIgMTguNDUzIDIyIDE0Ljk1MyAyMiAxMC45NSAyMiA0LjkwMiAxNy4wNzUgMCAxMSAwUzAgNC45MDIgMCAxMC45NWMwIDMuOTE4IDIuMDY4IDcuMzU2IDUuMTc3IDkuMjlDMTEuNzUgMjMuMjg0IDkuMDYgMjcuMDA3IDExIDI3LjAwN3oiIHN0cm9rZT0iI0ZGRiIgZmlsbD0idXJsKCNwcmVmaXhfX2EpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSIvPjx0ZXh0IGZvbnQtZmFtaWx5PSJQaW5nRmFuZ1NDLVNlbWlib2xkLCBQaW5nRmFuZyBTQyIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9IjUwMCIgZmlsbD0iI0ZGRiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxLjIxNSkiPjx0c3BhbiB4PSI1IiB5PSIxNS40NDkiPue7iDwvdHNwYW4+PC90ZXh0PjwvZz48L3N2Zz4=";
|
|
2667
2673
|
const imgStartPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTIgMzAuMjE1YzEuOTUgMCAzLjUzMi0uODE2IDMuNTMyLTEuODIzIDAtMS4wMDctMS41ODEtMS44MjMtMy41MzItMS44MjMtMS45NSAwLTMuNTMyLjgxNi0zLjUzMiAxLjgyMyAwIDEuMDA3IDEuNTgxIDEuODIzIDMuNTMyIDEuODIzeiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyN2MyLjEyOCAwLS45LTMuNzQyIDUuNjIxLTYuNjQxIDMuMjIxLTEuOTEgNS4zNzktNS40MSA1LjM3OS05LjQxMkMyMiA0LjkwMSAxNy4wNzUgMCAxMSAwUzAgNC45MDEgMCAxMC45NDdjMCAzLjkxOCAyLjA2OCA3LjM1NSA1LjE3NyA5LjI5QzExLjc1IDIzLjI3NyA5LjA2IDI3IDExIDI3eiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMS4yMTUpIi8+PHRleHQgZm9udC1mYW1pbHk9IlBpbmdGYW5nU0MtU2VtaWJvbGQsIFBpbmdGYW5nIFNDIiBmb250LXNpemU9IjEyIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSIjRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSI+PHRzcGFuIHg9IjUiIHk9IjE1LjYyNCI+6LW3PC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==";
|
|
2668
2674
|
const StartEndPoint_css_ts_vanilla = "";
|
|
@@ -2780,7 +2786,8 @@ const AStartEndPoint = defineSetup(function AStartEndPoint2(props) {
|
|
|
2780
2786
|
"registerOverlay": props.registerOverlay,
|
|
2781
2787
|
"position": props.position,
|
|
2782
2788
|
"content": contentRef.value,
|
|
2783
|
-
"anchor": "bottom-center"
|
|
2789
|
+
"anchor": "bottom-center",
|
|
2790
|
+
"zIndex": ZINDEX_START_END_LOGO_LAYER
|
|
2784
2791
|
}
|
|
2785
2792
|
});
|
|
2786
2793
|
});
|
|
@@ -2824,7 +2831,8 @@ const GStartEndPoint = defineSetup(function GStartEndPoint2(props) {
|
|
|
2824
2831
|
"attrs": {
|
|
2825
2832
|
"registerOverlay": props.registerOverlay,
|
|
2826
2833
|
"position": vec2lnglat(props.position),
|
|
2827
|
-
"content": contentRef.value
|
|
2834
|
+
"content": contentRef.value,
|
|
2835
|
+
"zIndex": ZINDEX_START_END_LOGO_LAYER
|
|
2828
2836
|
}
|
|
2829
2837
|
});
|
|
2830
2838
|
};
|
|
@@ -3078,6 +3086,7 @@ const useAmapDrag = (props) => {
|
|
|
3078
3086
|
var _a;
|
|
3079
3087
|
isDragging.value = false;
|
|
3080
3088
|
const { lng, lat } = target.getCenter();
|
|
3089
|
+
spaceLog("dragEnd", "[lng, lat] = ", [lng, lat]);
|
|
3081
3090
|
centerRef.value = [lng, lat];
|
|
3082
3091
|
(_a = pipeAsync(onChange)) == null ? void 0 : _a([lng, lat]);
|
|
3083
3092
|
};
|
|
@@ -3127,7 +3136,7 @@ const useUpdate = () => {
|
|
|
3127
3136
|
return { idx, update };
|
|
3128
3137
|
};
|
|
3129
3138
|
const useAmapPlace = (props) => {
|
|
3130
|
-
const { onChange, onChangeCity } = props;
|
|
3139
|
+
const { onChange, onChangeCity, emptyPlaceName } = props;
|
|
3131
3140
|
const defaultPoint = [...props.pointRef.value];
|
|
3132
3141
|
const pointRef = Vue.ref(defaultPoint);
|
|
3133
3142
|
const { readyPromise } = useMapSupplier();
|
|
@@ -3167,9 +3176,11 @@ const useAmapPlace = (props) => {
|
|
|
3167
3176
|
geocoder.getAddress(new AMap.LngLat(lng, lat), (status, result) => {
|
|
3168
3177
|
switch (status) {
|
|
3169
3178
|
case "complete": {
|
|
3170
|
-
const { formattedAddress
|
|
3179
|
+
const { formattedAddress, addressComponent } = result.regeocode;
|
|
3171
3180
|
const cityName = addressComponent.city ? addressComponent.city : addressComponent.province;
|
|
3172
3181
|
const cityParentName = addressComponent.province;
|
|
3182
|
+
const name = formattedAddress ? formattedAddress : emptyPlaceName;
|
|
3183
|
+
console.log("geocoder.getAddress status, name, lng, lat = ", status, name, lng, lat);
|
|
3173
3184
|
place.name = name;
|
|
3174
3185
|
place.lng = lng;
|
|
3175
3186
|
place.lat = lat;
|
|
@@ -3178,9 +3189,10 @@ const useAmapPlace = (props) => {
|
|
|
3178
3189
|
return;
|
|
3179
3190
|
}
|
|
3180
3191
|
case "no_data":
|
|
3181
|
-
place.name =
|
|
3192
|
+
place.name = emptyPlaceName;
|
|
3182
3193
|
place.lng = lng;
|
|
3183
3194
|
place.lat = lat;
|
|
3195
|
+
console.log("geocoder.getAddress status, name, lng, lat = ", status, "", lng, lat);
|
|
3184
3196
|
onChange == null ? void 0 : onChange({ lng, lat, name: "" });
|
|
3185
3197
|
return;
|
|
3186
3198
|
case "error":
|
|
@@ -3192,7 +3204,7 @@ const useAmapPlace = (props) => {
|
|
|
3192
3204
|
return { place, updatePlace, setPlace, updateCity };
|
|
3193
3205
|
};
|
|
3194
3206
|
const useGmapPlace = (props) => {
|
|
3195
|
-
const { onChange, onChangeCity } = props;
|
|
3207
|
+
const { onChange, onChangeCity, emptyPlaceName } = props;
|
|
3196
3208
|
const defaultPoint = [...props.pointRef.value];
|
|
3197
3209
|
const pointRef = Vue.ref(defaultPoint);
|
|
3198
3210
|
const { readyPromise } = useMapSupplier();
|
|
@@ -3227,7 +3239,7 @@ const useGmapPlace = (props) => {
|
|
|
3227
3239
|
const geocoder = new google.maps.Geocoder();
|
|
3228
3240
|
const [lng, lat] = pointRef.value;
|
|
3229
3241
|
const { results } = await geocoder.geocode({ language: LANGUAGE, location: { lng, lat } });
|
|
3230
|
-
const name = results[0].formatted_address;
|
|
3242
|
+
const name = results[0].formatted_address ? results[0].formatted_address : emptyPlaceName;
|
|
3231
3243
|
const cityName = geocoderResult2cityName(results[0]);
|
|
3232
3244
|
const cityParentName = results.slice(-2)[0].address_components[0].long_name;
|
|
3233
3245
|
const countryName = results.slice(-1)[0].address_components[0].long_name;
|
|
@@ -3269,12 +3281,22 @@ const findGmapNearestPlace = (place, candidates) => {
|
|
|
3269
3281
|
return { shortestPlace, shortestDistance };
|
|
3270
3282
|
};
|
|
3271
3283
|
const useAmapRecomendPlace = (props) => {
|
|
3272
|
-
const {
|
|
3284
|
+
const {
|
|
3285
|
+
pointRef,
|
|
3286
|
+
getRecomendPlace,
|
|
3287
|
+
getLimit,
|
|
3288
|
+
context: context2,
|
|
3289
|
+
emptyPlaceName,
|
|
3290
|
+
onChange,
|
|
3291
|
+
onChangePlace,
|
|
3292
|
+
onChangeCity
|
|
3293
|
+
} = props;
|
|
3273
3294
|
const availableRef = Vue.ref(true);
|
|
3274
3295
|
const placeCandidatesRef = Vue.ref([]);
|
|
3275
3296
|
const { idx: recomendPlaceKey, update: updateRecomandPlace } = useUpdate();
|
|
3276
3297
|
const { readyPromise } = useMapSupplier();
|
|
3277
3298
|
const { place, updatePlace, setPlace, updateCity } = useAmapPlace({
|
|
3299
|
+
emptyPlaceName,
|
|
3278
3300
|
pointRef,
|
|
3279
3301
|
onChange: onChangePlace,
|
|
3280
3302
|
onChangeCity
|
|
@@ -3325,12 +3347,22 @@ const useAmapRecomendPlace = (props) => {
|
|
|
3325
3347
|
};
|
|
3326
3348
|
};
|
|
3327
3349
|
const useGmapRecomendPlace = (props) => {
|
|
3328
|
-
const {
|
|
3350
|
+
const {
|
|
3351
|
+
pointRef,
|
|
3352
|
+
getRecomendPlace,
|
|
3353
|
+
getLimit,
|
|
3354
|
+
context: context2,
|
|
3355
|
+
emptyPlaceName,
|
|
3356
|
+
onChange,
|
|
3357
|
+
onChangePlace,
|
|
3358
|
+
onChangeCity
|
|
3359
|
+
} = props;
|
|
3329
3360
|
const availableRef = Vue.ref(true);
|
|
3330
3361
|
const placeCandidatesRef = Vue.ref([]);
|
|
3331
3362
|
const { idx: recomendPlaceKey, update: updateRecomandPlace } = useUpdate();
|
|
3332
3363
|
const { readyPromise } = useMapSupplier();
|
|
3333
3364
|
const { place, updatePlace, setPlace, updateCity } = useGmapPlace({
|
|
3365
|
+
emptyPlaceName,
|
|
3334
3366
|
pointRef,
|
|
3335
3367
|
onChange: onChangePlace,
|
|
3336
3368
|
onChangeCity
|
|
@@ -3468,7 +3500,8 @@ const APassengerCircle = defineSetup(function APassengerCircle2(props) {
|
|
|
3468
3500
|
"position": props.position,
|
|
3469
3501
|
"content": contentRef.value,
|
|
3470
3502
|
"anchor": "bottom-center",
|
|
3471
|
-
"registerOverlay": props.registerOverlay
|
|
3503
|
+
"registerOverlay": props.registerOverlay,
|
|
3504
|
+
"zIndex": ZINDEX_PASSENGER_LAYER
|
|
3472
3505
|
}
|
|
3473
3506
|
});
|
|
3474
3507
|
};
|
|
@@ -3490,7 +3523,8 @@ const GPassengerCircle = defineSetup(function GPassengerCircle2(props) {
|
|
|
3490
3523
|
"attrs": {
|
|
3491
3524
|
"position": vec2lnglat(props.position),
|
|
3492
3525
|
"content": contentRef.value,
|
|
3493
|
-
"registerOverlay": props.registerOverlay
|
|
3526
|
+
"registerOverlay": props.registerOverlay,
|
|
3527
|
+
"zIndex": ZINDEX_PASSENGER_LAYER
|
|
3494
3528
|
}
|
|
3495
3529
|
});
|
|
3496
3530
|
});
|
|
@@ -3665,7 +3699,8 @@ const APlaceCircle = defineSetup(function APlaceCircle2(props, {
|
|
|
3665
3699
|
"attrs": {
|
|
3666
3700
|
"position": props.position,
|
|
3667
3701
|
"content": props.label ? contentRef.value : contentWithoutLabelRef.value,
|
|
3668
|
-
"anchor": textAlignRef.value === "left" ? AnchorType.middleRight : AnchorType.middleLeft
|
|
3702
|
+
"anchor": textAlignRef.value === "left" ? AnchorType.middleRight : AnchorType.middleLeft,
|
|
3703
|
+
"zIndex": ZINDEX_PLACE_LAYER
|
|
3669
3704
|
},
|
|
3670
3705
|
"on": {
|
|
3671
3706
|
"click": handleClick
|
|
@@ -3716,7 +3751,8 @@ const GPlaceCircle = defineSetup(function GPlaceCircle2(props, {
|
|
|
3716
3751
|
return () => Vue.h(GmapAdvancedMarkerView, {
|
|
3717
3752
|
"attrs": {
|
|
3718
3753
|
"position": vec2lnglat(props.position),
|
|
3719
|
-
"content": props.label ? contentRef.value : contentWithoutLabelRef.value
|
|
3754
|
+
"content": props.label ? contentRef.value : contentWithoutLabelRef.value,
|
|
3755
|
+
"zIndex": ZINDEX_PLACE_LAYER
|
|
3720
3756
|
},
|
|
3721
3757
|
"on": {
|
|
3722
3758
|
"click": handleClick
|
|
@@ -3793,7 +3829,8 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3793
3829
|
const pipedGetRecomendPlace = pipeOnlyLastEffect(getRecomendPlace);
|
|
3794
3830
|
const {
|
|
3795
3831
|
mapRef,
|
|
3796
|
-
setMap
|
|
3832
|
+
setMap,
|
|
3833
|
+
panTo
|
|
3797
3834
|
} = useHeycarMap();
|
|
3798
3835
|
const {
|
|
3799
3836
|
readyPromise
|
|
@@ -3904,6 +3941,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3904
3941
|
isElectedRef
|
|
3905
3942
|
} = useMapRecomendPlace({
|
|
3906
3943
|
pointRef: centerPoint,
|
|
3944
|
+
emptyPlaceName: DEFAULT_PLACE_NAME,
|
|
3907
3945
|
context: centerSource,
|
|
3908
3946
|
getRecomendPlace: pipedGetRecomendPlace,
|
|
3909
3947
|
getLimit: (context2) => {
|
|
@@ -3931,8 +3969,10 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3931
3969
|
Object.assign(centerPlace, {
|
|
3932
3970
|
...place
|
|
3933
3971
|
});
|
|
3972
|
+
panTo(place2point(place));
|
|
3934
3973
|
emit("changeRecomandPlace", place);
|
|
3935
|
-
|
|
3974
|
+
if (isFirstWorkflowRecomendLoadingRef.value)
|
|
3975
|
+
await pipeDefer(setZoom)(READY_ZOOM);
|
|
3936
3976
|
completeFirstWorkflowRecomend();
|
|
3937
3977
|
},
|
|
3938
3978
|
onChangeCity: (value) => {
|
|
@@ -3948,13 +3988,12 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3948
3988
|
mapContext.onChangeRecomendPlaces([...placeCandidates.value]);
|
|
3949
3989
|
});
|
|
3950
3990
|
return () => {
|
|
3951
|
-
var _a2;
|
|
3952
3991
|
const {
|
|
3953
3992
|
geoLoadingTitle,
|
|
3954
3993
|
recomendDescription,
|
|
3955
3994
|
unavailableTitle
|
|
3956
3995
|
} = props;
|
|
3957
|
-
const title = geoLoading.value ? geoLoadingTitle : !availableRef.value ? unavailableTitle :
|
|
3996
|
+
const title = geoLoading.value ? geoLoadingTitle : !availableRef.value ? unavailableTitle : centerPlace.name;
|
|
3958
3997
|
const description = !availableRef.value ? void 0 : isElectedRef.value ? recomendDescription : void 0;
|
|
3959
3998
|
return Vue.h(HeycarMap, {
|
|
3960
3999
|
"attrs": {
|
|
@@ -3986,7 +4025,6 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3986
4025
|
})]);
|
|
3987
4026
|
};
|
|
3988
4027
|
}).props(["log", "geoLoadingTitle", "unavailableTitle", "recomendDescription", "fallback", "geoDefaultPosition", "getRecomendPlace", "getDefaultCenterPlace", "loading", "mapContext"]);
|
|
3989
|
-
const BEIJIN_POINT = [116.2317, 39.5427];
|
|
3990
4028
|
const useAmapGeometry = () => {
|
|
3991
4029
|
const payload = useMapSupplier();
|
|
3992
4030
|
const apiMapDistance = (from, to) => {
|
|
@@ -4012,6 +4050,7 @@ const useMapGeometry = () => {
|
|
|
4012
4050
|
const imgTaxicar = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iNDQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxwYXRoIGQ9Ik0zNC4wODcgMTAuOTZjMCAyLjM2OS0uMDU0IDIuOTgtLjc4MiAzLjcwNC0uNzkzLjc5LTUuMjM2LjgzMy01LjIzNi44MzNsLTQuMTE2LjE5Mi05Ljg5Ni0uMTQ0cy03Ljc5LS4wMjYtOS4xMzEtLjAyNmMtMS4zNDIgMC0yLjQwNi0uODQ3LTIuNDA2LS44NDdDLjE0IDEyLjkzMiAwIDExLjA5IDAgMTEuMDlWNS44NnMuMTQtMS44NDIgMi41Mi0zLjU4M2MwIDAgMS4wNjQtLjg0NiAyLjQwNi0uODQ2IDEuMzQxIDAgOS4xMy0uMDI2IDkuMTMtLjAyNmw5Ljg5Ny0uMTQ0IDQuMTE2LjE5MnM0LjQ4NCAwIDUuMjM2LjgzM2MuNzc4Ljg2Ljc4MiAxLjM3Ljc4MiAzLjc0djQuOTM0eiIgaWQ9InByZWZpeF9fYiIvPjxwYXRoIGQ9Ik0wIDEuNDkzUzUuNy4xOCA4LjcxOS4wNWMzLjAyLS4xMzEgMy40Ny4wMTcgNS4yODIuMjEuNTA3LjA1MSAzLjI2LjkxIDMuMjYuOTFsLTcuMzAzLjNMMCAxLjQ5NHoiIGlkPSJwcmVmaXhfX2MiLz48cGF0aCBkPSJNMTAuMDggMi44MTVDOS4yOTUgNC40ODMgOC44NSA2LjQyMyA4Ljg1IDguNDk0YzAgMi4wNjIuNDQyIDMuOTk0IDEuMjIgNS42NTdsNS42OTgtMS4xNTdhMTUuNjAxIDE1LjYwMSAwIDAxLS42NjctNC41NTJjMC0xLjY1OS4yMDQtMy4wNjUuNjU5LTQuNTA1TDEwLjA4IDIuODE1eiIgaWQ9InByZWZpeF9fZSIvPjxwYXRoIGQ9Ik0yNS43NTMgOC40NTVjMCAxLjkyLS4yMiAzLjM2NC0uNjAxIDQuODkxbDIuNjI2LjM1YzEuMTc4LS4wMDUgMi4xMzItMi4zMzUgMi4xMzItNS4yMTVzLS45NTQtNS4yMS0yLjEzMi01LjIxbC0yLjYxNC4zNWMuMzcyIDEuNTEzLjU4OSAyLjk0LjU4OSA0LjgzNHoiIGlkPSJwcmVmaXhfX2ciLz48cGF0aCBkPSJNLjA2NC4wMTVMLjE1OC4wMDJDLjE4OC0uMDE2LjM3MS4xMDYuNC4xMjRjLjE4OC4xMjYuMzIxLjI0NC40My43Ni4wNTQuMjUyLjIwNyAxLjQ2NS4xOTggMS40OTZsLS42MzMuODMzLjExOSAzLjE3LS4wOTQuMDc2TDAgLjEzN2MwLS4wNTIuMDI1LS4xLjA2NC0uMTIyeiIgaWQ9InByZWZpeF9faSIvPjxwYXRoIGQ9Ik0uMDY0IDYuNTE1bC4wOTQuMDEzYy4wMy4wMTguMjEzLS4xMDQuMjQyLS4xMjIuMTg4LS4xMjYuMzIxLS4yNDQuNDMtLjc2LjA1NC0uMjUyLjIwNy0xLjQ2NS4xOTgtMS40OTZsLS42MzMtLjgzM0wuNDIgMHYuMDdMMCA2LjM5NGMwIC4wNTIuMDI1LjEuMDY0LjEyMnoiIGlkPSJwcmVmaXhfX2siLz48bGluZWFyR3JhZGllbnQgeDE9IjEyNS4yNjQlIiB5MT0iNDkuNjI2JSIgeDI9IjAlIiB5Mj0iNTAlIiBpZD0icHJlZml4X19kIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZGIiBzdG9wLW9wYWNpdHk9Ii41IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgeDE9IjIyLjcxMiUiIHkxPSI3My4xMzMlIiB4Mj0iNjguNjIlIiB5Mj0iNjYuMTk0JSIgaWQ9InByZWZpeF9fZiI+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIwJSIvPjxzdG9wIHN0b3Atb3BhY2l0eT0iLjUiIG9mZnNldD0iMTAwJSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IHgxPSIxMjguNzY4JSIgeTE9IjUwJSIgeDI9IjAlIiB5Mj0iNTAlIiBpZD0icHJlZml4X19oIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZGIiBzdG9wLW9wYWNpdHk9Ii41IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgeDE9IjEwMCUiIHkxPSIxMDAlIiB4Mj0iMjguNCUiIHkyPSIxMDAlIiBpZD0icHJlZml4X19qIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZCRUJFIiBzdG9wLW9wYWNpdHk9Ii41IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzM1MjIyMiIgc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgeDE9IjEwMCUiIHkxPSIxMDAlIiB4Mj0iMjguNCUiIHkyPSIxMDAlIiBpZD0icHJlZml4X19sIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZCRUJFIiBzdG9wLW9wYWNpdHk9Ii41IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzM1MjIyMiIgc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48ZmlsdGVyIHg9Ii0xNy42JSIgeT0iLTQxLjYlIiB3aWR0aD0iMTM1LjIlIiBoZWlnaHQ9IjE4My4yJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0icHJlZml4X19hIj48ZmVPZmZzZXQgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSIvPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjIiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjA4NjI3NDUwOTggMCAwIDAgMCAwLjA4NjI3NDUwOTggMCAwIDAgMCAwLjA4NjI3NDUwOTggMCAwIDAgMC41IDAiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIi8+PC9maWx0ZXI+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTAgMGgyNHY0NEgweiIvPjxnIGZpbGwtcnVsZT0ibm9uemVybyI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMCAxIDEgMCAzLjQ5OCA0LjY0MikiPjx1c2UgZmlsbD0iIzAwMCIgZmlsdGVyPSJ1cmwoI3ByZWZpeF9fYSkiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2IiLz48dXNlIGZpbGw9IiNERkVDRjIiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2IiLz48L2c+PHBhdGggZD0iTTE0LjQ1OCAzOC43MjhjMi4zNjkgMCAyLjk4LS4wNTMgMy43MDQtLjc4MS43OS0uNzk0LjgzNC01LjIzNy44MzQtNS4yMzdsLjE5MS00LjExNS0uMTQ0LTkuODk2cy0uMDI2LTcuNzktLjAyNi05LjEzMmMwLTEuMzQyLS44NDYtMi40MDUtLjg0Ni0yLjQwNS0xLjc0MS0yLjM4MS0zLjU4Mi0yLjUyLTMuNTgyLTIuNTJIOS4zNTdzLTEuODQxLjEzOS0zLjU4MiAyLjUyYzAgMC0uODQ3IDEuMDYzLS44NDcgMi40MDUgMCAxLjM0Mi0uMDI2IDkuMTMyLS4wMjYgOS4xMzJsLS4xNDQgOS44OTYuMTkyIDQuMTE1czAgNC40ODQuODMzIDUuMjM3Yy44Ni43NzcgMS4zNy43ODEgMy43NC43ODFoNC45MzV6IiBmaWxsPSIjRUZGNUY4Ii8+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMCAxIDEgMCAxNy4wOTMgMTUuMDYyKSIgb3BhY2l0eT0iLjkiPjx1c2UgZmlsbD0iIzE2MTYxNiIgeGxpbms6aHJlZj0iI3ByZWZpeF9fYyIvPjx1c2UgZmlsbD0idXJsKCNwcmVmaXhfX2QpIiB4bGluazpocmVmPSIjcHJlZml4X19jIi8+PC9nPjxwYXRoIGQ9Ik01LjgyNiAxNC41M2MxLjgwNi0uOTM3IDMuOTE1LTEuNDY1IDYuMTctMS40NjUgMi4yNDMgMCA0LjMzOS41MjggNi4xNDEgMS40NTJsLTEuMjc4IDYuNDg5YTE1LjM3NSAxNS4zNzUgMCAwMC00LjkxNS0uNzk0Yy0xLjc5MyAwLTMuMzI0LjI1NC00Ljg3My43OTRMNS44MjYgMTQuNTN6IiBmaWxsPSIjMTYxNjE2Ii8+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMCAxIDEgMCAzLjQ5OCA0LjY0MikiPjx1c2UgZmlsbD0iIzNDNDI0MiIgeGxpbms6aHJlZj0iI3ByZWZpeF9fZSIvPjx1c2UgZmlsbD0idXJsKCNwcmVmaXhfX2YpIiB4bGluazpocmVmPSIjcHJlZml4X19lIi8+PC9nPjxnIG9wYWNpdHk9Ii45IiB0cmFuc2Zvcm09Im1hdHJpeCgwIDEgMSAwIDMuNDk4IDQuNjQyKSI+PHVzZSBmaWxsPSIjMTYxNjE2IiB4bGluazpocmVmPSIjcHJlZml4X19nIi8+PHVzZSBmaWxsPSJ1cmwoI3ByZWZpeF9faCkiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2ciLz48L2c+PHBhdGggZD0iTTMuODcgMTcuNjUxbC44NzYtLjQ2MmEuMzEzLjMxMyAwIDAwLjE3LS4yNzR2LS4xODhsLTEuMzE3LjY5NXYuMDgyYy4wMDQuMTI3LjE1Mi4yMDkuMjcuMTQ3eiIgZmlsbD0iIzMwMzQzNSIvPjxwYXRoIGQ9Ik0zLjU2NCAxNy40NWwxLjA4Mi0uNTY4Yy4xLS4wNTMuMjEtLjA5LjMyNy0uMTA2YS4xMDguMTA4IDAgMDAuMDk2LS4xMDd2LS41NTJjMC0uMDktLjA3OC0uMTY0LS4xNzQtLjE2NEg0Ljg1Yy0uMTEgMC0uNTAyLjA2Mi0xIC41MjgtLjIyMi4yMDktLjM1My42MzgtLjM1My45MzMgMCAuMDMzLjAzNS4wNTMuMDY2LjAzN3oiIGZpbGw9IiNERkVDRjIiLz48cGF0aCBkPSJNNS40MzQgMTUuMDYyczEuMDk1IDQuNDY3IDEuMjI2IDcuNDg2Yy4xMzEgMy4wMi0uMDE3IDMuNDctLjIxIDUuMjgyLS4wNTEuNTA3LS45MzcgMy44MTMtLjkzNyAzLjgxM0w1LjM2IDI1LjE3bC4wNzQtMTAuMTF6IiBmaWxsPSIjMTYxNjE2IiBvcGFjaXR5PSIuOSIvPjxwYXRoIGQ9Ik0yMC4xMyAxNy42NTFsLS44NzYtLjQ2MmEuMzEzLjMxMyAwIDAxLS4xNy0uMjc0di0uMTg4bDEuMzE3LjY5NXYuMDgyYy0uMDA0LjEyNy0uMTUyLjIwOS0uMjcuMTQ3eiIgZmlsbD0iIzMwMzQzNSIvPjxwYXRoIGQ9Ik0yMC40MzYgMTcuNDVsLTEuMDgyLS41NjhhLjk4NC45ODQgMCAwMC0uMzI3LS4xMDYuMTA4LjEwOCAwIDAxLS4wOTYtLjEwN3YtLjU1MmMwLS4wOS4wNzgtLjE2NC4xNzQtLjE2NGguMDQ0Yy4xMSAwIC41MDIuMDYyIDEgLjUyOC4yMjIuMjA5LjM1My42MzguMzUzLjkzMyAwIC4wMzMtLjAzNS4wNTMtLjA2Ni4wMzd6IiBmaWxsPSIjREZFQ0YyIi8+PHBhdGggZD0iTTkuMjk2IDM4LjUyNGg1LjM3NWMyLjI1MiAwIDIuODA2LS40NTggMy40MzQtMS4xNS0uMTA0LjI4Ny0uMjE4LjUyLS4zNDQuNjU5LS43MTIuNzgxLTEuMDI2IDEuMzI1LTMuMzU2IDEuMzI1SDkuNTU4Yy0yLjMzIDAtMi41NDQtLjQ4Ni0zLjM5LTEuMzI1LS4xNDktLjE0Ny0uMjc2LS40MDUtLjM4OS0uNzMyLjc1NS43NzcgMS4xNjUgMS4yMjMgMy41MTcgMS4yMjN6IiBmaWxsPSIjOTVBNEFEIi8+PHBhdGggZD0iTTguODgxIDM3LjkyMmg2LjA1MmMxLjkxMSAwIDIuNzM2LS4yOTggMy4zMy0uNzgxYTMuMDc1IDMuMDc1IDAgMDEtLjI5Ny43MmMtLjU4NS42MTgtMS4yMyAxLjAxOS0zLjMzNCAxLjAxOUg5LjE3OGMtMS40OCAwLTIuMi0uMTc2LTIuNzE4LS41MDQtLjExOC0uMTEtLjI0LS4yMzctLjM4NC0uMzg0LS4xNC0uMTQ3LS4yNjYtLjQwNS0uMzc2LS43NC41OS40MzMgMS4zOC42NyAzLjE4MS42N3oiIGZpbGw9IiNDQkQ4REUiLz48cGF0aCBkPSJNMTEuODE4IDM4LjAzN2MxLjY1IDAgMy4xMTUtLjA2NiA0LjA0LS4xNjQtLjA3LjE5My0uMTUyLjM0NC0uMjQuNDI2LS4wMzUuMDM3LS4xMTMuMDctLjE0OC4wOTgtLjkyNS4wODItMi4xOTUuMTMtMy42NTIuMTNhNDYuMjIgNDYuMjIgMCAwMS0zLjUzOS0uMTE4Yy0uMDQtLjAzMy0uMTI2LS4wNy0uMTctLjExLS4wOTYtLjA4Mi0uMTc5LS4yMy0uMjUzLS40MTguOTM0LjA5OSAyLjM2LjE1NiAzLjk2Mi4xNTZ6IiBmaWxsPSIjRjJGQUZGIi8+PHBhdGggZD0iTTExLjk4OCAxMi4xOTRjLTIuMjAzIDAtNC4yODUuNDQ2LTYuMTA5IDEuMjI3Ljc4Ny02Ljk2MSAzLjUtNy4xOCAzLjUtNy4xOGg1LjE5MnMzLjEyNS4zMTkgMy41IDcuMTcyYTE1LjQ5MyAxNS40OTMgMCAwMC02LjA4My0xLjIyeiIgZmlsbD0iI0Y5RkRGRiIvPjxnIHRyYW5zZm9ybT0ibWF0cml4KDAgMSAxIDAgNS44MzQgMzcuNTE3KSI+PHVzZSBmaWxsPSIjQjkyRTREIiB4bGluazpocmVmPSIjcHJlZml4X19pIi8+PHVzZSBmaWxsLW9wYWNpdHk9Ii43IiBmaWxsPSJ1cmwoI3ByZWZpeF9faikiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2kiLz48L2c+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMCAxIDEgMCAxMS40MzggMzcuNTE3KSI+PHVzZSBmaWxsPSIjQjkyRTREIiB4bGluazpocmVmPSIjcHJlZml4X19rIi8+PHVzZSBmaWxsLW9wYWNpdHk9Ii43IiBmaWxsPSJ1cmwoI3ByZWZpeF9fbCkiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2siLz48L2c+PHBhdGggZD0iTTE4LjQxIDM2LjI3NGMtLjAzOC4yNS0uMDgyLjQ1NC0uMTMuNjQyLS4wOTIuMzcyLS40MTkuNjU1LS44Mi43MTItMS40NzUuMjA4LTMuNDM0LjQyMS01LjU4MS40MjEtMi4wODYgMC0zLjk4OC0uMjA0LTUuNDQ2LS40MDVhLjk3NS45NzUgMCAwMS0uODI0LS43MDggOC45MDMgOC45MDMgMCAwMS0uMTM1LS42NDJjMS41MjIuMjUgMy44MjYuNDEgNi40MDUuNDEgMi42NDggMCA1LjAwOS0uMTY4IDYuNTMyLS40M3oiIGZpbGw9IiNERkVDRjIiLz48cGF0aCBkPSJNMTYuMjE2IDM2LjcxMWMtLjk0Ny40ODctMi40ODcuNy00LjIzMi43LTEuNjk4IDAtMy4yMDctLjE5Ni00LjE1OS0uNjYzLS40NC0uODMtLjY2My0yLjY0My0uNjYzLTIuNjQzbC0uMDA5LS4xODRjLjc3My43MDggMi42NDUgMS4yMDMgNC44MyAxLjIwMyAyLjI0MyAwIDQuMTU5LS41MjQgNC44OTItMS4yNmwtLjAxMy4yNDFjMC0uMDA0LS4yMTggMS43NjQtLjY0NiAyLjYwNnpNNy40NDcgMjMuOTNhMjAuMTIgMjAuMTIgMCAwMC0uMjk0LTIuNDQydi0uMDY1YzEuNTM4LS4zMiAzLjE2Ny0uNjQ5IDQuODYyLS42NDkgMS42NzUgMCAzLjI5NC4zMjYgNC44MTYuNjM3YTIyLjY3MyAyMi42NzMgMCAwMC0uMzAzIDIuNTJjLS4xNDcgMi44ODQuMDIgMy4zMTQuMjMyIDUuMDQ4LjAwNi4wNTcuMDI2LjE1Mi4wNTYuMjc0LTEuNTEzLjI3OC0zIC41NC00LjkxMi41NC0xLjg0NyAwLTMuMjg5LS4yNS00Ljc1LS41MTF2LS4wMDhjLjAzLS4xMzEuMDU1LS4yMzMuMDYtLjI5LjIxOC0xLjc0NC4zOC0yLjE3My4yMzMtNS4wNTN6IiBmaWxsPSIjRjJGQUZGIi8+PHBhdGggZD0iTTEyLjA2NyAxOS43MTZsLTQuNjQ1LjY5MmMtLjQzMS0yLjkyLS44MzItNC4zNi0xLjIwMi00LjMyNGwtLjIxLTEuMjk3YTExLjczMiAxMS43MzIgMCAwMTYuMDI2LTEuNjczYy4zODYgMC0uMTM3LjA1LTEuNTY5LjE0N2wxLjYgNi40NTV6IiBmaWxsPSIjMTYxNjE2Ii8+PC9nPjwvZz48L3N2Zz4=";
|
|
4013
4051
|
const TaxiCar_css_ts_vanilla = "";
|
|
4014
4052
|
var carIcon = "_65j3sr1";
|
|
4053
|
+
var hide = createRuntimeFn({ defaultClassName: "", variantClassNames: { hide: { true: "_65j3sr2", false: "_65j3sr3" } }, defaultVariants: {}, compoundVariants: [] });
|
|
4015
4054
|
var pointInfoBoxEmphasize = "_4a4ovk5";
|
|
4016
4055
|
var pointInfoBoxTitle = "_4a4ovk3";
|
|
4017
4056
|
var pointLayout = "_4a4ovk0";
|
|
@@ -4022,24 +4061,43 @@ const ATaxiCar = defineSetup(function ATaxiCar2(props) {
|
|
|
4022
4061
|
const titleRow = !props.title ? "" : decodeAsterisk(props.title).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize}">${item.value}</span>`).join("");
|
|
4023
4062
|
const carStyle = `transform:rotate(${(_a = props.angle) != null ? _a : 0}deg)`;
|
|
4024
4063
|
if (!props.title)
|
|
4025
|
-
return
|
|
4026
|
-
|
|
4064
|
+
return {
|
|
4065
|
+
img: `<img src="${imgTaxicar}" class="${carIcon}" style="${carStyle}">`
|
|
4066
|
+
};
|
|
4067
|
+
const content = (hide$1) => `
|
|
4027
4068
|
<div class="${pointLayout}">
|
|
4028
|
-
<div class="${pointSingleInfoBox}
|
|
4069
|
+
<div class="${pointSingleInfoBox} ${hide({
|
|
4070
|
+
hide: !hide$1
|
|
4071
|
+
})}">
|
|
4029
4072
|
<div class="${pointInfoBoxTitle}">${titleRow}</div>
|
|
4030
4073
|
</div>
|
|
4031
|
-
<img src="${imgTaxicar}" class="${carIcon}
|
|
4074
|
+
<img src="${imgTaxicar}" class="${carIcon} ${hide({
|
|
4075
|
+
hide: hide$1
|
|
4076
|
+
})}" style="${carStyle}">
|
|
4032
4077
|
</div>
|
|
4033
4078
|
`;
|
|
4079
|
+
return {
|
|
4080
|
+
box: content(true),
|
|
4081
|
+
img: content(false)
|
|
4082
|
+
};
|
|
4034
4083
|
});
|
|
4035
|
-
return () => Vue.h(AmapMarker, {
|
|
4084
|
+
return () => Vue.h("div", [Vue.h(AmapMarker, {
|
|
4036
4085
|
"attrs": {
|
|
4037
4086
|
"position": props.position,
|
|
4038
|
-
"content": contentRef.value,
|
|
4087
|
+
"content": contentRef.value.img,
|
|
4039
4088
|
"anchor": "bottom-center",
|
|
4040
|
-
"registerOverlay": props.registerOverlay
|
|
4089
|
+
"registerOverlay": props.registerOverlay,
|
|
4090
|
+
"zIndex": ZINDEX_CAR_LAYER
|
|
4041
4091
|
}
|
|
4042
|
-
})
|
|
4092
|
+
}), Vue.h(AmapMarker, {
|
|
4093
|
+
"attrs": {
|
|
4094
|
+
"position": props.position,
|
|
4095
|
+
"content": contentRef.value.box,
|
|
4096
|
+
"anchor": "bottom-center",
|
|
4097
|
+
"registerOverlay": props.registerOverlay,
|
|
4098
|
+
"zIndex": ZINDEX_BUBBLE_LAYER
|
|
4099
|
+
}
|
|
4100
|
+
})]);
|
|
4043
4101
|
});
|
|
4044
4102
|
const GTaxiCar = defineSetup(function GTaxiCar2(props) {
|
|
4045
4103
|
const contentRef = Vue.computed(() => {
|
|
@@ -4047,28 +4105,46 @@ const GTaxiCar = defineSetup(function GTaxiCar2(props) {
|
|
|
4047
4105
|
const titleRow = !props.title ? "" : decodeAsterisk(props.title).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize}">${item.value}</span>`).join("");
|
|
4048
4106
|
const carStyle = `transform:rotate(${(_a = props.angle) != null ? _a : 0}deg)`;
|
|
4049
4107
|
if (!props.title)
|
|
4050
|
-
return
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4108
|
+
return {
|
|
4109
|
+
img: createDom("img", {
|
|
4110
|
+
class: carIcon,
|
|
4111
|
+
src: imgTaxicar,
|
|
4112
|
+
style: carStyle
|
|
4113
|
+
})
|
|
4114
|
+
};
|
|
4115
|
+
const content = (hide$1) => createDom("div", {
|
|
4056
4116
|
class: pointLayout
|
|
4057
4117
|
}, `
|
|
4058
|
-
<div class="${pointSingleInfoBox}
|
|
4118
|
+
<div class="${pointSingleInfoBox} ${hide({
|
|
4119
|
+
hide: !hide$1
|
|
4120
|
+
})}">
|
|
4059
4121
|
<div class="${pointInfoBoxTitle}">${titleRow}</div>
|
|
4060
4122
|
</div>
|
|
4061
|
-
<img src="${imgTaxicar}" class="${carIcon}
|
|
4123
|
+
<img src="${imgTaxicar}" class="${carIcon} ${hide({
|
|
4124
|
+
hide: hide$1
|
|
4125
|
+
})}" style="${carStyle}">
|
|
4062
4126
|
`);
|
|
4127
|
+
return {
|
|
4128
|
+
box: content(true),
|
|
4129
|
+
img: content(false)
|
|
4130
|
+
};
|
|
4063
4131
|
});
|
|
4064
4132
|
return () => {
|
|
4065
|
-
return Vue.h(GmapAdvancedMarkerView, {
|
|
4133
|
+
return Vue.h("div", [Vue.h(GmapAdvancedMarkerView, {
|
|
4066
4134
|
"attrs": {
|
|
4067
4135
|
"position": vec2lnglat(props.position),
|
|
4068
|
-
"content": contentRef.value,
|
|
4069
|
-
"registerOverlay": props.registerOverlay
|
|
4136
|
+
"content": contentRef.value.img,
|
|
4137
|
+
"registerOverlay": props.registerOverlay,
|
|
4138
|
+
"zIndex": ZINDEX_CAR_LAYER
|
|
4070
4139
|
}
|
|
4071
|
-
})
|
|
4140
|
+
}), Vue.h(GmapAdvancedMarkerView, {
|
|
4141
|
+
"attrs": {
|
|
4142
|
+
"position": vec2lnglat(props.position),
|
|
4143
|
+
"content": contentRef.value.box,
|
|
4144
|
+
"registerOverlay": props.registerOverlay,
|
|
4145
|
+
"zIndex": ZINDEX_BUBBLE_LAYER
|
|
4146
|
+
}
|
|
4147
|
+
})]);
|
|
4072
4148
|
};
|
|
4073
4149
|
});
|
|
4074
4150
|
const TaxiCar = defineSetup(function TaxiCar2(props) {
|
|
@@ -4307,7 +4383,10 @@ const WaveCircle = defineSetup(function WaveCircle2(props) {
|
|
|
4307
4383
|
});
|
|
4308
4384
|
};
|
|
4309
4385
|
});
|
|
4310
|
-
const
|
|
4386
|
+
const PASSENGER_DISTANCE_MAX = 2e3;
|
|
4387
|
+
const PASSENGER_DISTANCE_MIN = 10;
|
|
4388
|
+
const CAR_DISTANCE_MIN = 100;
|
|
4389
|
+
const carDurationWithinMinDistance = (distance) => Math.floor(distance / 5);
|
|
4311
4390
|
const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
4312
4391
|
return () => {
|
|
4313
4392
|
const {
|
|
@@ -4369,7 +4448,7 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
|
4369
4448
|
}), Vue.h(ConditionalFittablePassengerCircle, {
|
|
4370
4449
|
"attrs": {
|
|
4371
4450
|
"position": passengerPosition,
|
|
4372
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4451
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4373
4452
|
"registerOverlay": registerOverlay
|
|
4374
4453
|
}
|
|
4375
4454
|
}), Vue.h(StartEndPoint, {
|
|
@@ -4417,10 +4496,11 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
4417
4496
|
} = props;
|
|
4418
4497
|
const from = place2point(fromPlace);
|
|
4419
4498
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
4499
|
+
const carDistance = carPosition ? apiMapDistance(carPosition, from) : void 0;
|
|
4420
4500
|
return Vue.h("div", [Vue.h(ConditionalFittablePassengerCircle, {
|
|
4421
4501
|
"attrs": {
|
|
4422
4502
|
"position": passengerPosition,
|
|
4423
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4503
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4424
4504
|
"registerOverlay": registerOverlay
|
|
4425
4505
|
}
|
|
4426
4506
|
}), Vue.h(StartEndPoint, {
|
|
@@ -4435,7 +4515,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
4435
4515
|
"label": fromPlace.name,
|
|
4436
4516
|
"hideIcon": true
|
|
4437
4517
|
}
|
|
4438
|
-
}), carPosition
|
|
4518
|
+
}), !carPosition || !carDistance ? null : carDistance > CAR_DISTANCE_MIN ? Vue.h(DrivingRoute, {
|
|
4439
4519
|
"attrs": {
|
|
4440
4520
|
"from": carPosition,
|
|
4441
4521
|
"to": from,
|
|
@@ -4463,7 +4543,21 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
4463
4543
|
}
|
|
4464
4544
|
})]
|
|
4465
4545
|
}
|
|
4466
|
-
}) :
|
|
4546
|
+
}) : [Vue.h(TaxiCar, {
|
|
4547
|
+
"attrs": {
|
|
4548
|
+
"position": carPosition,
|
|
4549
|
+
"title": renderTitle({
|
|
4550
|
+
distance: carDistance,
|
|
4551
|
+
duration: carDurationWithinMinDistance(carDistance)
|
|
4552
|
+
}),
|
|
4553
|
+
"registerOverlay": registerOverlay
|
|
4554
|
+
}
|
|
4555
|
+
}), Vue.h(KeyedFitView, {
|
|
4556
|
+
"attrs": {
|
|
4557
|
+
"registerOverlay": registerOverlay,
|
|
4558
|
+
"fitViewKey": JSON.stringify(carPosition)
|
|
4559
|
+
}
|
|
4560
|
+
})], !!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && Vue.h(WalkingRoute, {
|
|
4467
4561
|
"attrs": {
|
|
4468
4562
|
"from": passengerPosition,
|
|
4469
4563
|
"to": from,
|
|
@@ -4508,7 +4602,7 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
4508
4602
|
}
|
|
4509
4603
|
})
|
|
4510
4604
|
}
|
|
4511
|
-
}), !!passengerPosition && passengerDistance && passengerDistance <
|
|
4605
|
+
}), !!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && Vue.h(WalkingRoute, {
|
|
4512
4606
|
"attrs": {
|
|
4513
4607
|
"from": passengerPosition,
|
|
4514
4608
|
"to": from,
|
|
@@ -4523,7 +4617,7 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
4523
4617
|
}), Vue.h(ConditionalFittablePassengerCircle, {
|
|
4524
4618
|
"attrs": {
|
|
4525
4619
|
"position": passengerPosition,
|
|
4526
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4620
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4527
4621
|
"registerOverlay": registerOverlay
|
|
4528
4622
|
}
|
|
4529
4623
|
}), Vue.h(StartEndPoint, {
|
|
@@ -4571,7 +4665,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
4571
4665
|
} = props;
|
|
4572
4666
|
const from = place2point(fromPlace);
|
|
4573
4667
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
4574
|
-
return Vue.h("div", [!!passengerPosition && passengerDistance && passengerDistance <
|
|
4668
|
+
return Vue.h("div", [!!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && Vue.h(WalkingRoute, {
|
|
4575
4669
|
"attrs": {
|
|
4576
4670
|
"from": passengerPosition,
|
|
4577
4671
|
"to": from,
|
|
@@ -4586,16 +4680,21 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
4586
4680
|
}), Vue.h(ConditionalFittablePassengerCircle, {
|
|
4587
4681
|
"attrs": {
|
|
4588
4682
|
"position": passengerPosition,
|
|
4589
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4683
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4590
4684
|
"registerOverlay": registerOverlay
|
|
4591
4685
|
}
|
|
4592
|
-
}), Vue.h(TaxiCar, {
|
|
4686
|
+
}), !!carPosition && [Vue.h(TaxiCar, {
|
|
4593
4687
|
"attrs": {
|
|
4594
4688
|
"position": carPosition,
|
|
4595
4689
|
"title": title,
|
|
4596
4690
|
"registerOverlay": registerOverlay
|
|
4597
4691
|
}
|
|
4598
|
-
}), Vue.h(
|
|
4692
|
+
}), Vue.h(KeyedFitView, {
|
|
4693
|
+
"attrs": {
|
|
4694
|
+
"registerOverlay": registerOverlay,
|
|
4695
|
+
"fitViewKey": JSON.stringify(carPosition)
|
|
4696
|
+
}
|
|
4697
|
+
})], Vue.h(StartEndPoint, {
|
|
4599
4698
|
"attrs": {
|
|
4600
4699
|
"type": "start",
|
|
4601
4700
|
"position": from,
|
|
@@ -4623,7 +4722,11 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
4623
4722
|
registerOverlay
|
|
4624
4723
|
} = props;
|
|
4625
4724
|
const to = place2point(toPlace);
|
|
4626
|
-
|
|
4725
|
+
const {
|
|
4726
|
+
apiMapDistance
|
|
4727
|
+
} = useMapGeometry();
|
|
4728
|
+
const carDistance = carPosition ? apiMapDistance(carPosition, to) : void 0;
|
|
4729
|
+
return Vue.h("div", [!carPosition || !carDistance ? null : carDistance > CAR_DISTANCE_MIN ? Vue.h(DrivingRoute, {
|
|
4627
4730
|
"attrs": {
|
|
4628
4731
|
"from": carPosition,
|
|
4629
4732
|
"to": to,
|
|
@@ -4651,7 +4754,21 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
4651
4754
|
}
|
|
4652
4755
|
})]
|
|
4653
4756
|
}
|
|
4654
|
-
})
|
|
4757
|
+
}) : [Vue.h(TaxiCar, {
|
|
4758
|
+
"attrs": {
|
|
4759
|
+
"position": carPosition,
|
|
4760
|
+
"title": renderTitle({
|
|
4761
|
+
distance: carDistance,
|
|
4762
|
+
duration: carDurationWithinMinDistance(carDistance)
|
|
4763
|
+
}),
|
|
4764
|
+
"registerOverlay": registerOverlay
|
|
4765
|
+
}
|
|
4766
|
+
}), Vue.h(KeyedFitView, {
|
|
4767
|
+
"attrs": {
|
|
4768
|
+
"registerOverlay": registerOverlay,
|
|
4769
|
+
"fitViewKey": JSON.stringify(carPosition)
|
|
4770
|
+
}
|
|
4771
|
+
})], Vue.h(StartEndPoint, {
|
|
4655
4772
|
"attrs": {
|
|
4656
4773
|
"type": "end",
|
|
4657
4774
|
"position": to,
|
|
@@ -4773,7 +4890,7 @@ const BusinessTaxiEndMap = defineSetup(function BusinessTaxiEndMap2(props) {
|
|
|
4773
4890
|
} = useMapFitView({
|
|
4774
4891
|
mapRef,
|
|
4775
4892
|
autoFitTimeout: 5e3,
|
|
4776
|
-
padding: [
|
|
4893
|
+
padding: [19, 36, 19, 26]
|
|
4777
4894
|
});
|
|
4778
4895
|
const deferedSetFitView = pipeDefer(registerFitVeiw.setFitView);
|
|
4779
4896
|
return () => {
|
|
@@ -4817,7 +4934,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4817
4934
|
geoPosition,
|
|
4818
4935
|
geoError
|
|
4819
4936
|
} = useGeoLocation();
|
|
4820
|
-
const carPositionRef = Vue.ref(
|
|
4937
|
+
const carPositionRef = Vue.ref();
|
|
4821
4938
|
Vue.watch(() => props.driverStatus, (status, _, onCleanup) => {
|
|
4822
4939
|
if (!STATUS_NEED_CAR_POSITION.includes(status))
|
|
4823
4940
|
return;
|
|
@@ -5156,7 +5273,7 @@ const useBusinessTaxiServiceMap = () => {
|
|
|
5156
5273
|
const { registerFitVeiw, setFitView } = useMapFitView({
|
|
5157
5274
|
mapRef,
|
|
5158
5275
|
autoFitTimeout: 5e3,
|
|
5159
|
-
padding: [19,
|
|
5276
|
+
padding: [19, 36, 19, 26]
|
|
5160
5277
|
});
|
|
5161
5278
|
return { setMap, registerFitVeiw, setFitView };
|
|
5162
5279
|
};
|
package/dist/index.js
CHANGED
|
@@ -2661,6 +2661,12 @@ const KeyedFitView = defineSetup(function KeyedFitView2(props, {
|
|
|
2661
2661
|
return h("div", [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
|
2662
2662
|
};
|
|
2663
2663
|
});
|
|
2664
|
+
const BEIJIN_POINT = [116.2317, 39.5427];
|
|
2665
|
+
const ZINDEX_BUBBLE_LAYER = 50;
|
|
2666
|
+
const ZINDEX_START_END_LOGO_LAYER = 40;
|
|
2667
|
+
const ZINDEX_PLACE_LAYER = 30;
|
|
2668
|
+
const ZINDEX_CAR_LAYER = 21;
|
|
2669
|
+
const ZINDEX_PASSENGER_LAYER = 20;
|
|
2664
2670
|
const imgEndPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiAzMC4yMTVjMi4xMzQgMCAzLjg2My0uODkzIDMuODYzLTEuOTk1IDAtMS4xLTEuNzMtMS45OTQtMy44NjMtMS45OTQtMi4xMzQgMC0zLjg2My44OTMtMy44NjMgMS45OTQgMCAxLjEwMiAxLjczIDEuOTk1IDMuODYzIDEuOTk1eiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyNy4wMDZjMi4xMjggMC0uOS0zLjc0MyA1LjYyMS02LjY0M0MxOS44NDIgMTguNDUzIDIyIDE0Ljk1MyAyMiAxMC45NSAyMiA0LjkwMiAxNy4wNzUgMCAxMSAwUzAgNC45MDIgMCAxMC45NWMwIDMuOTE4IDIuMDY4IDcuMzU2IDUuMTc3IDkuMjlDMTEuNzUgMjMuMjg0IDkuMDYgMjcuMDA3IDExIDI3LjAwN3oiIHN0cm9rZT0iI0ZGRiIgZmlsbD0idXJsKCNwcmVmaXhfX2EpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSIvPjx0ZXh0IGZvbnQtZmFtaWx5PSJQaW5nRmFuZ1NDLVNlbWlib2xkLCBQaW5nRmFuZyBTQyIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9IjUwMCIgZmlsbD0iI0ZGRiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxLjIxNSkiPjx0c3BhbiB4PSI1IiB5PSIxNS40NDkiPue7iDwvdHNwYW4+PC90ZXh0PjwvZz48L3N2Zz4=";
|
|
2665
2671
|
const imgStartPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTIgMzAuMjE1YzEuOTUgMCAzLjUzMi0uODE2IDMuNTMyLTEuODIzIDAtMS4wMDctMS41ODEtMS44MjMtMy41MzItMS44MjMtMS45NSAwLTMuNTMyLjgxNi0zLjUzMiAxLjgyMyAwIDEuMDA3IDEuNTgxIDEuODIzIDMuNTMyIDEuODIzeiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyN2MyLjEyOCAwLS45LTMuNzQyIDUuNjIxLTYuNjQxIDMuMjIxLTEuOTEgNS4zNzktNS40MSA1LjM3OS05LjQxMkMyMiA0LjkwMSAxNy4wNzUgMCAxMSAwUzAgNC45MDEgMCAxMC45NDdjMCAzLjkxOCAyLjA2OCA3LjM1NSA1LjE3NyA5LjI5QzExLjc1IDIzLjI3NyA5LjA2IDI3IDExIDI3eiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMS4yMTUpIi8+PHRleHQgZm9udC1mYW1pbHk9IlBpbmdGYW5nU0MtU2VtaWJvbGQsIFBpbmdGYW5nIFNDIiBmb250LXNpemU9IjEyIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSIjRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSI+PHRzcGFuIHg9IjUiIHk9IjE1LjYyNCI+6LW3PC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==";
|
|
2666
2672
|
const StartEndPoint_css_ts_vanilla = "";
|
|
@@ -2778,7 +2784,8 @@ const AStartEndPoint = defineSetup(function AStartEndPoint2(props) {
|
|
|
2778
2784
|
"registerOverlay": props.registerOverlay,
|
|
2779
2785
|
"position": props.position,
|
|
2780
2786
|
"content": contentRef.value,
|
|
2781
|
-
"anchor": "bottom-center"
|
|
2787
|
+
"anchor": "bottom-center",
|
|
2788
|
+
"zIndex": ZINDEX_START_END_LOGO_LAYER
|
|
2782
2789
|
}
|
|
2783
2790
|
});
|
|
2784
2791
|
});
|
|
@@ -2822,7 +2829,8 @@ const GStartEndPoint = defineSetup(function GStartEndPoint2(props) {
|
|
|
2822
2829
|
"attrs": {
|
|
2823
2830
|
"registerOverlay": props.registerOverlay,
|
|
2824
2831
|
"position": vec2lnglat(props.position),
|
|
2825
|
-
"content": contentRef.value
|
|
2832
|
+
"content": contentRef.value,
|
|
2833
|
+
"zIndex": ZINDEX_START_END_LOGO_LAYER
|
|
2826
2834
|
}
|
|
2827
2835
|
});
|
|
2828
2836
|
};
|
|
@@ -3076,6 +3084,7 @@ const useAmapDrag = (props) => {
|
|
|
3076
3084
|
var _a;
|
|
3077
3085
|
isDragging.value = false;
|
|
3078
3086
|
const { lng, lat } = target.getCenter();
|
|
3087
|
+
spaceLog("dragEnd", "[lng, lat] = ", [lng, lat]);
|
|
3079
3088
|
centerRef.value = [lng, lat];
|
|
3080
3089
|
(_a = pipeAsync(onChange)) == null ? void 0 : _a([lng, lat]);
|
|
3081
3090
|
};
|
|
@@ -3125,7 +3134,7 @@ const useUpdate = () => {
|
|
|
3125
3134
|
return { idx, update };
|
|
3126
3135
|
};
|
|
3127
3136
|
const useAmapPlace = (props) => {
|
|
3128
|
-
const { onChange, onChangeCity } = props;
|
|
3137
|
+
const { onChange, onChangeCity, emptyPlaceName } = props;
|
|
3129
3138
|
const defaultPoint = [...props.pointRef.value];
|
|
3130
3139
|
const pointRef = ref(defaultPoint);
|
|
3131
3140
|
const { readyPromise } = useMapSupplier();
|
|
@@ -3165,9 +3174,11 @@ const useAmapPlace = (props) => {
|
|
|
3165
3174
|
geocoder.getAddress(new AMap.LngLat(lng, lat), (status, result) => {
|
|
3166
3175
|
switch (status) {
|
|
3167
3176
|
case "complete": {
|
|
3168
|
-
const { formattedAddress
|
|
3177
|
+
const { formattedAddress, addressComponent } = result.regeocode;
|
|
3169
3178
|
const cityName = addressComponent.city ? addressComponent.city : addressComponent.province;
|
|
3170
3179
|
const cityParentName = addressComponent.province;
|
|
3180
|
+
const name = formattedAddress ? formattedAddress : emptyPlaceName;
|
|
3181
|
+
console.log("geocoder.getAddress status, name, lng, lat = ", status, name, lng, lat);
|
|
3171
3182
|
place.name = name;
|
|
3172
3183
|
place.lng = lng;
|
|
3173
3184
|
place.lat = lat;
|
|
@@ -3176,9 +3187,10 @@ const useAmapPlace = (props) => {
|
|
|
3176
3187
|
return;
|
|
3177
3188
|
}
|
|
3178
3189
|
case "no_data":
|
|
3179
|
-
place.name =
|
|
3190
|
+
place.name = emptyPlaceName;
|
|
3180
3191
|
place.lng = lng;
|
|
3181
3192
|
place.lat = lat;
|
|
3193
|
+
console.log("geocoder.getAddress status, name, lng, lat = ", status, "", lng, lat);
|
|
3182
3194
|
onChange == null ? void 0 : onChange({ lng, lat, name: "" });
|
|
3183
3195
|
return;
|
|
3184
3196
|
case "error":
|
|
@@ -3190,7 +3202,7 @@ const useAmapPlace = (props) => {
|
|
|
3190
3202
|
return { place, updatePlace, setPlace, updateCity };
|
|
3191
3203
|
};
|
|
3192
3204
|
const useGmapPlace = (props) => {
|
|
3193
|
-
const { onChange, onChangeCity } = props;
|
|
3205
|
+
const { onChange, onChangeCity, emptyPlaceName } = props;
|
|
3194
3206
|
const defaultPoint = [...props.pointRef.value];
|
|
3195
3207
|
const pointRef = ref(defaultPoint);
|
|
3196
3208
|
const { readyPromise } = useMapSupplier();
|
|
@@ -3225,7 +3237,7 @@ const useGmapPlace = (props) => {
|
|
|
3225
3237
|
const geocoder = new google.maps.Geocoder();
|
|
3226
3238
|
const [lng, lat] = pointRef.value;
|
|
3227
3239
|
const { results } = await geocoder.geocode({ language: LANGUAGE, location: { lng, lat } });
|
|
3228
|
-
const name = results[0].formatted_address;
|
|
3240
|
+
const name = results[0].formatted_address ? results[0].formatted_address : emptyPlaceName;
|
|
3229
3241
|
const cityName = geocoderResult2cityName(results[0]);
|
|
3230
3242
|
const cityParentName = results.slice(-2)[0].address_components[0].long_name;
|
|
3231
3243
|
const countryName = results.slice(-1)[0].address_components[0].long_name;
|
|
@@ -3267,12 +3279,22 @@ const findGmapNearestPlace = (place, candidates) => {
|
|
|
3267
3279
|
return { shortestPlace, shortestDistance };
|
|
3268
3280
|
};
|
|
3269
3281
|
const useAmapRecomendPlace = (props) => {
|
|
3270
|
-
const {
|
|
3282
|
+
const {
|
|
3283
|
+
pointRef,
|
|
3284
|
+
getRecomendPlace,
|
|
3285
|
+
getLimit,
|
|
3286
|
+
context: context2,
|
|
3287
|
+
emptyPlaceName,
|
|
3288
|
+
onChange,
|
|
3289
|
+
onChangePlace,
|
|
3290
|
+
onChangeCity
|
|
3291
|
+
} = props;
|
|
3271
3292
|
const availableRef = ref(true);
|
|
3272
3293
|
const placeCandidatesRef = ref([]);
|
|
3273
3294
|
const { idx: recomendPlaceKey, update: updateRecomandPlace } = useUpdate();
|
|
3274
3295
|
const { readyPromise } = useMapSupplier();
|
|
3275
3296
|
const { place, updatePlace, setPlace, updateCity } = useAmapPlace({
|
|
3297
|
+
emptyPlaceName,
|
|
3276
3298
|
pointRef,
|
|
3277
3299
|
onChange: onChangePlace,
|
|
3278
3300
|
onChangeCity
|
|
@@ -3323,12 +3345,22 @@ const useAmapRecomendPlace = (props) => {
|
|
|
3323
3345
|
};
|
|
3324
3346
|
};
|
|
3325
3347
|
const useGmapRecomendPlace = (props) => {
|
|
3326
|
-
const {
|
|
3348
|
+
const {
|
|
3349
|
+
pointRef,
|
|
3350
|
+
getRecomendPlace,
|
|
3351
|
+
getLimit,
|
|
3352
|
+
context: context2,
|
|
3353
|
+
emptyPlaceName,
|
|
3354
|
+
onChange,
|
|
3355
|
+
onChangePlace,
|
|
3356
|
+
onChangeCity
|
|
3357
|
+
} = props;
|
|
3327
3358
|
const availableRef = ref(true);
|
|
3328
3359
|
const placeCandidatesRef = ref([]);
|
|
3329
3360
|
const { idx: recomendPlaceKey, update: updateRecomandPlace } = useUpdate();
|
|
3330
3361
|
const { readyPromise } = useMapSupplier();
|
|
3331
3362
|
const { place, updatePlace, setPlace, updateCity } = useGmapPlace({
|
|
3363
|
+
emptyPlaceName,
|
|
3332
3364
|
pointRef,
|
|
3333
3365
|
onChange: onChangePlace,
|
|
3334
3366
|
onChangeCity
|
|
@@ -3466,7 +3498,8 @@ const APassengerCircle = defineSetup(function APassengerCircle2(props) {
|
|
|
3466
3498
|
"position": props.position,
|
|
3467
3499
|
"content": contentRef.value,
|
|
3468
3500
|
"anchor": "bottom-center",
|
|
3469
|
-
"registerOverlay": props.registerOverlay
|
|
3501
|
+
"registerOverlay": props.registerOverlay,
|
|
3502
|
+
"zIndex": ZINDEX_PASSENGER_LAYER
|
|
3470
3503
|
}
|
|
3471
3504
|
});
|
|
3472
3505
|
};
|
|
@@ -3488,7 +3521,8 @@ const GPassengerCircle = defineSetup(function GPassengerCircle2(props) {
|
|
|
3488
3521
|
"attrs": {
|
|
3489
3522
|
"position": vec2lnglat(props.position),
|
|
3490
3523
|
"content": contentRef.value,
|
|
3491
|
-
"registerOverlay": props.registerOverlay
|
|
3524
|
+
"registerOverlay": props.registerOverlay,
|
|
3525
|
+
"zIndex": ZINDEX_PASSENGER_LAYER
|
|
3492
3526
|
}
|
|
3493
3527
|
});
|
|
3494
3528
|
});
|
|
@@ -3663,7 +3697,8 @@ const APlaceCircle = defineSetup(function APlaceCircle2(props, {
|
|
|
3663
3697
|
"attrs": {
|
|
3664
3698
|
"position": props.position,
|
|
3665
3699
|
"content": props.label ? contentRef.value : contentWithoutLabelRef.value,
|
|
3666
|
-
"anchor": textAlignRef.value === "left" ? AnchorType.middleRight : AnchorType.middleLeft
|
|
3700
|
+
"anchor": textAlignRef.value === "left" ? AnchorType.middleRight : AnchorType.middleLeft,
|
|
3701
|
+
"zIndex": ZINDEX_PLACE_LAYER
|
|
3667
3702
|
},
|
|
3668
3703
|
"on": {
|
|
3669
3704
|
"click": handleClick
|
|
@@ -3714,7 +3749,8 @@ const GPlaceCircle = defineSetup(function GPlaceCircle2(props, {
|
|
|
3714
3749
|
return () => h(GmapAdvancedMarkerView, {
|
|
3715
3750
|
"attrs": {
|
|
3716
3751
|
"position": vec2lnglat(props.position),
|
|
3717
|
-
"content": props.label ? contentRef.value : contentWithoutLabelRef.value
|
|
3752
|
+
"content": props.label ? contentRef.value : contentWithoutLabelRef.value,
|
|
3753
|
+
"zIndex": ZINDEX_PLACE_LAYER
|
|
3718
3754
|
},
|
|
3719
3755
|
"on": {
|
|
3720
3756
|
"click": handleClick
|
|
@@ -3791,7 +3827,8 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3791
3827
|
const pipedGetRecomendPlace = pipeOnlyLastEffect(getRecomendPlace);
|
|
3792
3828
|
const {
|
|
3793
3829
|
mapRef,
|
|
3794
|
-
setMap
|
|
3830
|
+
setMap,
|
|
3831
|
+
panTo
|
|
3795
3832
|
} = useHeycarMap();
|
|
3796
3833
|
const {
|
|
3797
3834
|
readyPromise
|
|
@@ -3902,6 +3939,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3902
3939
|
isElectedRef
|
|
3903
3940
|
} = useMapRecomendPlace({
|
|
3904
3941
|
pointRef: centerPoint,
|
|
3942
|
+
emptyPlaceName: DEFAULT_PLACE_NAME,
|
|
3905
3943
|
context: centerSource,
|
|
3906
3944
|
getRecomendPlace: pipedGetRecomendPlace,
|
|
3907
3945
|
getLimit: (context2) => {
|
|
@@ -3929,8 +3967,10 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3929
3967
|
Object.assign(centerPlace, {
|
|
3930
3968
|
...place
|
|
3931
3969
|
});
|
|
3970
|
+
panTo(place2point(place));
|
|
3932
3971
|
emit("changeRecomandPlace", place);
|
|
3933
|
-
|
|
3972
|
+
if (isFirstWorkflowRecomendLoadingRef.value)
|
|
3973
|
+
await pipeDefer(setZoom)(READY_ZOOM);
|
|
3934
3974
|
completeFirstWorkflowRecomend();
|
|
3935
3975
|
},
|
|
3936
3976
|
onChangeCity: (value) => {
|
|
@@ -3946,13 +3986,12 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3946
3986
|
mapContext.onChangeRecomendPlaces([...placeCandidates.value]);
|
|
3947
3987
|
});
|
|
3948
3988
|
return () => {
|
|
3949
|
-
var _a2;
|
|
3950
3989
|
const {
|
|
3951
3990
|
geoLoadingTitle,
|
|
3952
3991
|
recomendDescription,
|
|
3953
3992
|
unavailableTitle
|
|
3954
3993
|
} = props;
|
|
3955
|
-
const title = geoLoading.value ? geoLoadingTitle : !availableRef.value ? unavailableTitle :
|
|
3994
|
+
const title = geoLoading.value ? geoLoadingTitle : !availableRef.value ? unavailableTitle : centerPlace.name;
|
|
3956
3995
|
const description = !availableRef.value ? void 0 : isElectedRef.value ? recomendDescription : void 0;
|
|
3957
3996
|
return h(HeycarMap, {
|
|
3958
3997
|
"attrs": {
|
|
@@ -3984,7 +4023,6 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3984
4023
|
})]);
|
|
3985
4024
|
};
|
|
3986
4025
|
}).props(["log", "geoLoadingTitle", "unavailableTitle", "recomendDescription", "fallback", "geoDefaultPosition", "getRecomendPlace", "getDefaultCenterPlace", "loading", "mapContext"]);
|
|
3987
|
-
const BEIJIN_POINT = [116.2317, 39.5427];
|
|
3988
4026
|
const useAmapGeometry = () => {
|
|
3989
4027
|
const payload = useMapSupplier();
|
|
3990
4028
|
const apiMapDistance = (from, to) => {
|
|
@@ -4010,6 +4048,7 @@ const useMapGeometry = () => {
|
|
|
4010
4048
|
const imgTaxicar = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iNDQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxwYXRoIGQ9Ik0zNC4wODcgMTAuOTZjMCAyLjM2OS0uMDU0IDIuOTgtLjc4MiAzLjcwNC0uNzkzLjc5LTUuMjM2LjgzMy01LjIzNi44MzNsLTQuMTE2LjE5Mi05Ljg5Ni0uMTQ0cy03Ljc5LS4wMjYtOS4xMzEtLjAyNmMtMS4zNDIgMC0yLjQwNi0uODQ3LTIuNDA2LS44NDdDLjE0IDEyLjkzMiAwIDExLjA5IDAgMTEuMDlWNS44NnMuMTQtMS44NDIgMi41Mi0zLjU4M2MwIDAgMS4wNjQtLjg0NiAyLjQwNi0uODQ2IDEuMzQxIDAgOS4xMy0uMDI2IDkuMTMtLjAyNmw5Ljg5Ny0uMTQ0IDQuMTE2LjE5MnM0LjQ4NCAwIDUuMjM2LjgzM2MuNzc4Ljg2Ljc4MiAxLjM3Ljc4MiAzLjc0djQuOTM0eiIgaWQ9InByZWZpeF9fYiIvPjxwYXRoIGQ9Ik0wIDEuNDkzUzUuNy4xOCA4LjcxOS4wNWMzLjAyLS4xMzEgMy40Ny4wMTcgNS4yODIuMjEuNTA3LjA1MSAzLjI2LjkxIDMuMjYuOTFsLTcuMzAzLjNMMCAxLjQ5NHoiIGlkPSJwcmVmaXhfX2MiLz48cGF0aCBkPSJNMTAuMDggMi44MTVDOS4yOTUgNC40ODMgOC44NSA2LjQyMyA4Ljg1IDguNDk0YzAgMi4wNjIuNDQyIDMuOTk0IDEuMjIgNS42NTdsNS42OTgtMS4xNTdhMTUuNjAxIDE1LjYwMSAwIDAxLS42NjctNC41NTJjMC0xLjY1OS4yMDQtMy4wNjUuNjU5LTQuNTA1TDEwLjA4IDIuODE1eiIgaWQ9InByZWZpeF9fZSIvPjxwYXRoIGQ9Ik0yNS43NTMgOC40NTVjMCAxLjkyLS4yMiAzLjM2NC0uNjAxIDQuODkxbDIuNjI2LjM1YzEuMTc4LS4wMDUgMi4xMzItMi4zMzUgMi4xMzItNS4yMTVzLS45NTQtNS4yMS0yLjEzMi01LjIxbC0yLjYxNC4zNWMuMzcyIDEuNTEzLjU4OSAyLjk0LjU4OSA0LjgzNHoiIGlkPSJwcmVmaXhfX2ciLz48cGF0aCBkPSJNLjA2NC4wMTVMLjE1OC4wMDJDLjE4OC0uMDE2LjM3MS4xMDYuNC4xMjRjLjE4OC4xMjYuMzIxLjI0NC40My43Ni4wNTQuMjUyLjIwNyAxLjQ2NS4xOTggMS40OTZsLS42MzMuODMzLjExOSAzLjE3LS4wOTQuMDc2TDAgLjEzN2MwLS4wNTIuMDI1LS4xLjA2NC0uMTIyeiIgaWQ9InByZWZpeF9faSIvPjxwYXRoIGQ9Ik0uMDY0IDYuNTE1bC4wOTQuMDEzYy4wMy4wMTguMjEzLS4xMDQuMjQyLS4xMjIuMTg4LS4xMjYuMzIxLS4yNDQuNDMtLjc2LjA1NC0uMjUyLjIwNy0xLjQ2NS4xOTgtMS40OTZsLS42MzMtLjgzM0wuNDIgMHYuMDdMMCA2LjM5NGMwIC4wNTIuMDI1LjEuMDY0LjEyMnoiIGlkPSJwcmVmaXhfX2siLz48bGluZWFyR3JhZGllbnQgeDE9IjEyNS4yNjQlIiB5MT0iNDkuNjI2JSIgeDI9IjAlIiB5Mj0iNTAlIiBpZD0icHJlZml4X19kIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZGIiBzdG9wLW9wYWNpdHk9Ii41IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgeDE9IjIyLjcxMiUiIHkxPSI3My4xMzMlIiB4Mj0iNjguNjIlIiB5Mj0iNjYuMTk0JSIgaWQ9InByZWZpeF9fZiI+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIwJSIvPjxzdG9wIHN0b3Atb3BhY2l0eT0iLjUiIG9mZnNldD0iMTAwJSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IHgxPSIxMjguNzY4JSIgeTE9IjUwJSIgeDI9IjAlIiB5Mj0iNTAlIiBpZD0icHJlZml4X19oIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZGIiBzdG9wLW9wYWNpdHk9Ii41IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgeDE9IjEwMCUiIHkxPSIxMDAlIiB4Mj0iMjguNCUiIHkyPSIxMDAlIiBpZD0icHJlZml4X19qIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZCRUJFIiBzdG9wLW9wYWNpdHk9Ii41IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzM1MjIyMiIgc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgeDE9IjEwMCUiIHkxPSIxMDAlIiB4Mj0iMjguNCUiIHkyPSIxMDAlIiBpZD0icHJlZml4X19sIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZCRUJFIiBzdG9wLW9wYWNpdHk9Ii41IiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzM1MjIyMiIgc3RvcC1vcGFjaXR5PSIuNSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48ZmlsdGVyIHg9Ii0xNy42JSIgeT0iLTQxLjYlIiB3aWR0aD0iMTM1LjIlIiBoZWlnaHQ9IjE4My4yJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0icHJlZml4X19hIj48ZmVPZmZzZXQgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSIvPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjIiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjA4NjI3NDUwOTggMCAwIDAgMCAwLjA4NjI3NDUwOTggMCAwIDAgMCAwLjA4NjI3NDUwOTggMCAwIDAgMC41IDAiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIi8+PC9maWx0ZXI+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTAgMGgyNHY0NEgweiIvPjxnIGZpbGwtcnVsZT0ibm9uemVybyI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMCAxIDEgMCAzLjQ5OCA0LjY0MikiPjx1c2UgZmlsbD0iIzAwMCIgZmlsdGVyPSJ1cmwoI3ByZWZpeF9fYSkiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2IiLz48dXNlIGZpbGw9IiNERkVDRjIiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2IiLz48L2c+PHBhdGggZD0iTTE0LjQ1OCAzOC43MjhjMi4zNjkgMCAyLjk4LS4wNTMgMy43MDQtLjc4MS43OS0uNzk0LjgzNC01LjIzNy44MzQtNS4yMzdsLjE5MS00LjExNS0uMTQ0LTkuODk2cy0uMDI2LTcuNzktLjAyNi05LjEzMmMwLTEuMzQyLS44NDYtMi40MDUtLjg0Ni0yLjQwNS0xLjc0MS0yLjM4MS0zLjU4Mi0yLjUyLTMuNTgyLTIuNTJIOS4zNTdzLTEuODQxLjEzOS0zLjU4MiAyLjUyYzAgMC0uODQ3IDEuMDYzLS44NDcgMi40MDUgMCAxLjM0Mi0uMDI2IDkuMTMyLS4wMjYgOS4xMzJsLS4xNDQgOS44OTYuMTkyIDQuMTE1czAgNC40ODQuODMzIDUuMjM3Yy44Ni43NzcgMS4zNy43ODEgMy43NC43ODFoNC45MzV6IiBmaWxsPSIjRUZGNUY4Ii8+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMCAxIDEgMCAxNy4wOTMgMTUuMDYyKSIgb3BhY2l0eT0iLjkiPjx1c2UgZmlsbD0iIzE2MTYxNiIgeGxpbms6aHJlZj0iI3ByZWZpeF9fYyIvPjx1c2UgZmlsbD0idXJsKCNwcmVmaXhfX2QpIiB4bGluazpocmVmPSIjcHJlZml4X19jIi8+PC9nPjxwYXRoIGQ9Ik01LjgyNiAxNC41M2MxLjgwNi0uOTM3IDMuOTE1LTEuNDY1IDYuMTctMS40NjUgMi4yNDMgMCA0LjMzOS41MjggNi4xNDEgMS40NTJsLTEuMjc4IDYuNDg5YTE1LjM3NSAxNS4zNzUgMCAwMC00LjkxNS0uNzk0Yy0xLjc5MyAwLTMuMzI0LjI1NC00Ljg3My43OTRMNS44MjYgMTQuNTN6IiBmaWxsPSIjMTYxNjE2Ii8+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMCAxIDEgMCAzLjQ5OCA0LjY0MikiPjx1c2UgZmlsbD0iIzNDNDI0MiIgeGxpbms6aHJlZj0iI3ByZWZpeF9fZSIvPjx1c2UgZmlsbD0idXJsKCNwcmVmaXhfX2YpIiB4bGluazpocmVmPSIjcHJlZml4X19lIi8+PC9nPjxnIG9wYWNpdHk9Ii45IiB0cmFuc2Zvcm09Im1hdHJpeCgwIDEgMSAwIDMuNDk4IDQuNjQyKSI+PHVzZSBmaWxsPSIjMTYxNjE2IiB4bGluazpocmVmPSIjcHJlZml4X19nIi8+PHVzZSBmaWxsPSJ1cmwoI3ByZWZpeF9faCkiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2ciLz48L2c+PHBhdGggZD0iTTMuODcgMTcuNjUxbC44NzYtLjQ2MmEuMzEzLjMxMyAwIDAwLjE3LS4yNzR2LS4xODhsLTEuMzE3LjY5NXYuMDgyYy4wMDQuMTI3LjE1Mi4yMDkuMjcuMTQ3eiIgZmlsbD0iIzMwMzQzNSIvPjxwYXRoIGQ9Ik0zLjU2NCAxNy40NWwxLjA4Mi0uNTY4Yy4xLS4wNTMuMjEtLjA5LjMyNy0uMTA2YS4xMDguMTA4IDAgMDAuMDk2LS4xMDd2LS41NTJjMC0uMDktLjA3OC0uMTY0LS4xNzQtLjE2NEg0Ljg1Yy0uMTEgMC0uNTAyLjA2Mi0xIC41MjgtLjIyMi4yMDktLjM1My42MzgtLjM1My45MzMgMCAuMDMzLjAzNS4wNTMuMDY2LjAzN3oiIGZpbGw9IiNERkVDRjIiLz48cGF0aCBkPSJNNS40MzQgMTUuMDYyczEuMDk1IDQuNDY3IDEuMjI2IDcuNDg2Yy4xMzEgMy4wMi0uMDE3IDMuNDctLjIxIDUuMjgyLS4wNTEuNTA3LS45MzcgMy44MTMtLjkzNyAzLjgxM0w1LjM2IDI1LjE3bC4wNzQtMTAuMTF6IiBmaWxsPSIjMTYxNjE2IiBvcGFjaXR5PSIuOSIvPjxwYXRoIGQ9Ik0yMC4xMyAxNy42NTFsLS44NzYtLjQ2MmEuMzEzLjMxMyAwIDAxLS4xNy0uMjc0di0uMTg4bDEuMzE3LjY5NXYuMDgyYy0uMDA0LjEyNy0uMTUyLjIwOS0uMjcuMTQ3eiIgZmlsbD0iIzMwMzQzNSIvPjxwYXRoIGQ9Ik0yMC40MzYgMTcuNDVsLTEuMDgyLS41NjhhLjk4NC45ODQgMCAwMC0uMzI3LS4xMDYuMTA4LjEwOCAwIDAxLS4wOTYtLjEwN3YtLjU1MmMwLS4wOS4wNzgtLjE2NC4xNzQtLjE2NGguMDQ0Yy4xMSAwIC41MDIuMDYyIDEgLjUyOC4yMjIuMjA5LjM1My42MzguMzUzLjkzMyAwIC4wMzMtLjAzNS4wNTMtLjA2Ni4wMzd6IiBmaWxsPSIjREZFQ0YyIi8+PHBhdGggZD0iTTkuMjk2IDM4LjUyNGg1LjM3NWMyLjI1MiAwIDIuODA2LS40NTggMy40MzQtMS4xNS0uMTA0LjI4Ny0uMjE4LjUyLS4zNDQuNjU5LS43MTIuNzgxLTEuMDI2IDEuMzI1LTMuMzU2IDEuMzI1SDkuNTU4Yy0yLjMzIDAtMi41NDQtLjQ4Ni0zLjM5LTEuMzI1LS4xNDktLjE0Ny0uMjc2LS40MDUtLjM4OS0uNzMyLjc1NS43NzcgMS4xNjUgMS4yMjMgMy41MTcgMS4yMjN6IiBmaWxsPSIjOTVBNEFEIi8+PHBhdGggZD0iTTguODgxIDM3LjkyMmg2LjA1MmMxLjkxMSAwIDIuNzM2LS4yOTggMy4zMy0uNzgxYTMuMDc1IDMuMDc1IDAgMDEtLjI5Ny43MmMtLjU4NS42MTgtMS4yMyAxLjAxOS0zLjMzNCAxLjAxOUg5LjE3OGMtMS40OCAwLTIuMi0uMTc2LTIuNzE4LS41MDQtLjExOC0uMTEtLjI0LS4yMzctLjM4NC0uMzg0LS4xNC0uMTQ3LS4yNjYtLjQwNS0uMzc2LS43NC41OS40MzMgMS4zOC42NyAzLjE4MS42N3oiIGZpbGw9IiNDQkQ4REUiLz48cGF0aCBkPSJNMTEuODE4IDM4LjAzN2MxLjY1IDAgMy4xMTUtLjA2NiA0LjA0LS4xNjQtLjA3LjE5My0uMTUyLjM0NC0uMjQuNDI2LS4wMzUuMDM3LS4xMTMuMDctLjE0OC4wOTgtLjkyNS4wODItMi4xOTUuMTMtMy42NTIuMTNhNDYuMjIgNDYuMjIgMCAwMS0zLjUzOS0uMTE4Yy0uMDQtLjAzMy0uMTI2LS4wNy0uMTctLjExLS4wOTYtLjA4Mi0uMTc5LS4yMy0uMjUzLS40MTguOTM0LjA5OSAyLjM2LjE1NiAzLjk2Mi4xNTZ6IiBmaWxsPSIjRjJGQUZGIi8+PHBhdGggZD0iTTExLjk4OCAxMi4xOTRjLTIuMjAzIDAtNC4yODUuNDQ2LTYuMTA5IDEuMjI3Ljc4Ny02Ljk2MSAzLjUtNy4xOCAzLjUtNy4xOGg1LjE5MnMzLjEyNS4zMTkgMy41IDcuMTcyYTE1LjQ5MyAxNS40OTMgMCAwMC02LjA4My0xLjIyeiIgZmlsbD0iI0Y5RkRGRiIvPjxnIHRyYW5zZm9ybT0ibWF0cml4KDAgMSAxIDAgNS44MzQgMzcuNTE3KSI+PHVzZSBmaWxsPSIjQjkyRTREIiB4bGluazpocmVmPSIjcHJlZml4X19pIi8+PHVzZSBmaWxsLW9wYWNpdHk9Ii43IiBmaWxsPSJ1cmwoI3ByZWZpeF9faikiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2kiLz48L2c+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMCAxIDEgMCAxMS40MzggMzcuNTE3KSI+PHVzZSBmaWxsPSIjQjkyRTREIiB4bGluazpocmVmPSIjcHJlZml4X19rIi8+PHVzZSBmaWxsLW9wYWNpdHk9Ii43IiBmaWxsPSJ1cmwoI3ByZWZpeF9fbCkiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2siLz48L2c+PHBhdGggZD0iTTE4LjQxIDM2LjI3NGMtLjAzOC4yNS0uMDgyLjQ1NC0uMTMuNjQyLS4wOTIuMzcyLS40MTkuNjU1LS44Mi43MTItMS40NzUuMjA4LTMuNDM0LjQyMS01LjU4MS40MjEtMi4wODYgMC0zLjk4OC0uMjA0LTUuNDQ2LS40MDVhLjk3NS45NzUgMCAwMS0uODI0LS43MDggOC45MDMgOC45MDMgMCAwMS0uMTM1LS42NDJjMS41MjIuMjUgMy44MjYuNDEgNi40MDUuNDEgMi42NDggMCA1LjAwOS0uMTY4IDYuNTMyLS40M3oiIGZpbGw9IiNERkVDRjIiLz48cGF0aCBkPSJNMTYuMjE2IDM2LjcxMWMtLjk0Ny40ODctMi40ODcuNy00LjIzMi43LTEuNjk4IDAtMy4yMDctLjE5Ni00LjE1OS0uNjYzLS40NC0uODMtLjY2My0yLjY0My0uNjYzLTIuNjQzbC0uMDA5LS4xODRjLjc3My43MDggMi42NDUgMS4yMDMgNC44MyAxLjIwMyAyLjI0MyAwIDQuMTU5LS41MjQgNC44OTItMS4yNmwtLjAxMy4yNDFjMC0uMDA0LS4yMTggMS43NjQtLjY0NiAyLjYwNnpNNy40NDcgMjMuOTNhMjAuMTIgMjAuMTIgMCAwMC0uMjk0LTIuNDQydi0uMDY1YzEuNTM4LS4zMiAzLjE2Ny0uNjQ5IDQuODYyLS42NDkgMS42NzUgMCAzLjI5NC4zMjYgNC44MTYuNjM3YTIyLjY3MyAyMi42NzMgMCAwMC0uMzAzIDIuNTJjLS4xNDcgMi44ODQuMDIgMy4zMTQuMjMyIDUuMDQ4LjAwNi4wNTcuMDI2LjE1Mi4wNTYuMjc0LTEuNTEzLjI3OC0zIC41NC00LjkxMi41NC0xLjg0NyAwLTMuMjg5LS4yNS00Ljc1LS41MTF2LS4wMDhjLjAzLS4xMzEuMDU1LS4yMzMuMDYtLjI5LjIxOC0xLjc0NC4zOC0yLjE3My4yMzMtNS4wNTN6IiBmaWxsPSIjRjJGQUZGIi8+PHBhdGggZD0iTTEyLjA2NyAxOS43MTZsLTQuNjQ1LjY5MmMtLjQzMS0yLjkyLS44MzItNC4zNi0xLjIwMi00LjMyNGwtLjIxLTEuMjk3YTExLjczMiAxMS43MzIgMCAwMTYuMDI2LTEuNjczYy4zODYgMC0uMTM3LjA1LTEuNTY5LjE0N2wxLjYgNi40NTV6IiBmaWxsPSIjMTYxNjE2Ii8+PC9nPjwvZz48L3N2Zz4=";
|
|
4011
4049
|
const TaxiCar_css_ts_vanilla = "";
|
|
4012
4050
|
var carIcon = "_65j3sr1";
|
|
4051
|
+
var hide = createRuntimeFn({ defaultClassName: "", variantClassNames: { hide: { true: "_65j3sr2", false: "_65j3sr3" } }, defaultVariants: {}, compoundVariants: [] });
|
|
4013
4052
|
var pointInfoBoxEmphasize = "_4a4ovk5";
|
|
4014
4053
|
var pointInfoBoxTitle = "_4a4ovk3";
|
|
4015
4054
|
var pointLayout = "_4a4ovk0";
|
|
@@ -4020,24 +4059,43 @@ const ATaxiCar = defineSetup(function ATaxiCar2(props) {
|
|
|
4020
4059
|
const titleRow = !props.title ? "" : decodeAsterisk(props.title).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize}">${item.value}</span>`).join("");
|
|
4021
4060
|
const carStyle = `transform:rotate(${(_a = props.angle) != null ? _a : 0}deg)`;
|
|
4022
4061
|
if (!props.title)
|
|
4023
|
-
return
|
|
4024
|
-
|
|
4062
|
+
return {
|
|
4063
|
+
img: `<img src="${imgTaxicar}" class="${carIcon}" style="${carStyle}">`
|
|
4064
|
+
};
|
|
4065
|
+
const content = (hide$1) => `
|
|
4025
4066
|
<div class="${pointLayout}">
|
|
4026
|
-
<div class="${pointSingleInfoBox}
|
|
4067
|
+
<div class="${pointSingleInfoBox} ${hide({
|
|
4068
|
+
hide: !hide$1
|
|
4069
|
+
})}">
|
|
4027
4070
|
<div class="${pointInfoBoxTitle}">${titleRow}</div>
|
|
4028
4071
|
</div>
|
|
4029
|
-
<img src="${imgTaxicar}" class="${carIcon}
|
|
4072
|
+
<img src="${imgTaxicar}" class="${carIcon} ${hide({
|
|
4073
|
+
hide: hide$1
|
|
4074
|
+
})}" style="${carStyle}">
|
|
4030
4075
|
</div>
|
|
4031
4076
|
`;
|
|
4077
|
+
return {
|
|
4078
|
+
box: content(true),
|
|
4079
|
+
img: content(false)
|
|
4080
|
+
};
|
|
4032
4081
|
});
|
|
4033
|
-
return () => h(AmapMarker, {
|
|
4082
|
+
return () => h("div", [h(AmapMarker, {
|
|
4034
4083
|
"attrs": {
|
|
4035
4084
|
"position": props.position,
|
|
4036
|
-
"content": contentRef.value,
|
|
4085
|
+
"content": contentRef.value.img,
|
|
4037
4086
|
"anchor": "bottom-center",
|
|
4038
|
-
"registerOverlay": props.registerOverlay
|
|
4087
|
+
"registerOverlay": props.registerOverlay,
|
|
4088
|
+
"zIndex": ZINDEX_CAR_LAYER
|
|
4039
4089
|
}
|
|
4040
|
-
})
|
|
4090
|
+
}), h(AmapMarker, {
|
|
4091
|
+
"attrs": {
|
|
4092
|
+
"position": props.position,
|
|
4093
|
+
"content": contentRef.value.box,
|
|
4094
|
+
"anchor": "bottom-center",
|
|
4095
|
+
"registerOverlay": props.registerOverlay,
|
|
4096
|
+
"zIndex": ZINDEX_BUBBLE_LAYER
|
|
4097
|
+
}
|
|
4098
|
+
})]);
|
|
4041
4099
|
});
|
|
4042
4100
|
const GTaxiCar = defineSetup(function GTaxiCar2(props) {
|
|
4043
4101
|
const contentRef = computed(() => {
|
|
@@ -4045,28 +4103,46 @@ const GTaxiCar = defineSetup(function GTaxiCar2(props) {
|
|
|
4045
4103
|
const titleRow = !props.title ? "" : decodeAsterisk(props.title).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize}">${item.value}</span>`).join("");
|
|
4046
4104
|
const carStyle = `transform:rotate(${(_a = props.angle) != null ? _a : 0}deg)`;
|
|
4047
4105
|
if (!props.title)
|
|
4048
|
-
return
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4106
|
+
return {
|
|
4107
|
+
img: createDom("img", {
|
|
4108
|
+
class: carIcon,
|
|
4109
|
+
src: imgTaxicar,
|
|
4110
|
+
style: carStyle
|
|
4111
|
+
})
|
|
4112
|
+
};
|
|
4113
|
+
const content = (hide$1) => createDom("div", {
|
|
4054
4114
|
class: pointLayout
|
|
4055
4115
|
}, `
|
|
4056
|
-
<div class="${pointSingleInfoBox}
|
|
4116
|
+
<div class="${pointSingleInfoBox} ${hide({
|
|
4117
|
+
hide: !hide$1
|
|
4118
|
+
})}">
|
|
4057
4119
|
<div class="${pointInfoBoxTitle}">${titleRow}</div>
|
|
4058
4120
|
</div>
|
|
4059
|
-
<img src="${imgTaxicar}" class="${carIcon}
|
|
4121
|
+
<img src="${imgTaxicar}" class="${carIcon} ${hide({
|
|
4122
|
+
hide: hide$1
|
|
4123
|
+
})}" style="${carStyle}">
|
|
4060
4124
|
`);
|
|
4125
|
+
return {
|
|
4126
|
+
box: content(true),
|
|
4127
|
+
img: content(false)
|
|
4128
|
+
};
|
|
4061
4129
|
});
|
|
4062
4130
|
return () => {
|
|
4063
|
-
return h(GmapAdvancedMarkerView, {
|
|
4131
|
+
return h("div", [h(GmapAdvancedMarkerView, {
|
|
4064
4132
|
"attrs": {
|
|
4065
4133
|
"position": vec2lnglat(props.position),
|
|
4066
|
-
"content": contentRef.value,
|
|
4067
|
-
"registerOverlay": props.registerOverlay
|
|
4134
|
+
"content": contentRef.value.img,
|
|
4135
|
+
"registerOverlay": props.registerOverlay,
|
|
4136
|
+
"zIndex": ZINDEX_CAR_LAYER
|
|
4068
4137
|
}
|
|
4069
|
-
})
|
|
4138
|
+
}), h(GmapAdvancedMarkerView, {
|
|
4139
|
+
"attrs": {
|
|
4140
|
+
"position": vec2lnglat(props.position),
|
|
4141
|
+
"content": contentRef.value.box,
|
|
4142
|
+
"registerOverlay": props.registerOverlay,
|
|
4143
|
+
"zIndex": ZINDEX_BUBBLE_LAYER
|
|
4144
|
+
}
|
|
4145
|
+
})]);
|
|
4070
4146
|
};
|
|
4071
4147
|
});
|
|
4072
4148
|
const TaxiCar = defineSetup(function TaxiCar2(props) {
|
|
@@ -4305,7 +4381,10 @@ const WaveCircle = defineSetup(function WaveCircle2(props) {
|
|
|
4305
4381
|
});
|
|
4306
4382
|
};
|
|
4307
4383
|
});
|
|
4308
|
-
const
|
|
4384
|
+
const PASSENGER_DISTANCE_MAX = 2e3;
|
|
4385
|
+
const PASSENGER_DISTANCE_MIN = 10;
|
|
4386
|
+
const CAR_DISTANCE_MIN = 100;
|
|
4387
|
+
const carDurationWithinMinDistance = (distance) => Math.floor(distance / 5);
|
|
4309
4388
|
const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
4310
4389
|
return () => {
|
|
4311
4390
|
const {
|
|
@@ -4367,7 +4446,7 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
|
4367
4446
|
}), h(ConditionalFittablePassengerCircle, {
|
|
4368
4447
|
"attrs": {
|
|
4369
4448
|
"position": passengerPosition,
|
|
4370
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4449
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4371
4450
|
"registerOverlay": registerOverlay
|
|
4372
4451
|
}
|
|
4373
4452
|
}), h(StartEndPoint, {
|
|
@@ -4415,10 +4494,11 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
4415
4494
|
} = props;
|
|
4416
4495
|
const from = place2point(fromPlace);
|
|
4417
4496
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
4497
|
+
const carDistance = carPosition ? apiMapDistance(carPosition, from) : void 0;
|
|
4418
4498
|
return h("div", [h(ConditionalFittablePassengerCircle, {
|
|
4419
4499
|
"attrs": {
|
|
4420
4500
|
"position": passengerPosition,
|
|
4421
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4501
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4422
4502
|
"registerOverlay": registerOverlay
|
|
4423
4503
|
}
|
|
4424
4504
|
}), h(StartEndPoint, {
|
|
@@ -4433,7 +4513,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
4433
4513
|
"label": fromPlace.name,
|
|
4434
4514
|
"hideIcon": true
|
|
4435
4515
|
}
|
|
4436
|
-
}), carPosition
|
|
4516
|
+
}), !carPosition || !carDistance ? null : carDistance > CAR_DISTANCE_MIN ? h(DrivingRoute, {
|
|
4437
4517
|
"attrs": {
|
|
4438
4518
|
"from": carPosition,
|
|
4439
4519
|
"to": from,
|
|
@@ -4461,7 +4541,21 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
4461
4541
|
}
|
|
4462
4542
|
})]
|
|
4463
4543
|
}
|
|
4464
|
-
}) :
|
|
4544
|
+
}) : [h(TaxiCar, {
|
|
4545
|
+
"attrs": {
|
|
4546
|
+
"position": carPosition,
|
|
4547
|
+
"title": renderTitle({
|
|
4548
|
+
distance: carDistance,
|
|
4549
|
+
duration: carDurationWithinMinDistance(carDistance)
|
|
4550
|
+
}),
|
|
4551
|
+
"registerOverlay": registerOverlay
|
|
4552
|
+
}
|
|
4553
|
+
}), h(KeyedFitView, {
|
|
4554
|
+
"attrs": {
|
|
4555
|
+
"registerOverlay": registerOverlay,
|
|
4556
|
+
"fitViewKey": JSON.stringify(carPosition)
|
|
4557
|
+
}
|
|
4558
|
+
})], !!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && h(WalkingRoute, {
|
|
4465
4559
|
"attrs": {
|
|
4466
4560
|
"from": passengerPosition,
|
|
4467
4561
|
"to": from,
|
|
@@ -4506,7 +4600,7 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
4506
4600
|
}
|
|
4507
4601
|
})
|
|
4508
4602
|
}
|
|
4509
|
-
}), !!passengerPosition && passengerDistance && passengerDistance <
|
|
4603
|
+
}), !!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && h(WalkingRoute, {
|
|
4510
4604
|
"attrs": {
|
|
4511
4605
|
"from": passengerPosition,
|
|
4512
4606
|
"to": from,
|
|
@@ -4521,7 +4615,7 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
4521
4615
|
}), h(ConditionalFittablePassengerCircle, {
|
|
4522
4616
|
"attrs": {
|
|
4523
4617
|
"position": passengerPosition,
|
|
4524
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4618
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4525
4619
|
"registerOverlay": registerOverlay
|
|
4526
4620
|
}
|
|
4527
4621
|
}), h(StartEndPoint, {
|
|
@@ -4569,7 +4663,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
4569
4663
|
} = props;
|
|
4570
4664
|
const from = place2point(fromPlace);
|
|
4571
4665
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
4572
|
-
return h("div", [!!passengerPosition && passengerDistance && passengerDistance <
|
|
4666
|
+
return h("div", [!!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && h(WalkingRoute, {
|
|
4573
4667
|
"attrs": {
|
|
4574
4668
|
"from": passengerPosition,
|
|
4575
4669
|
"to": from,
|
|
@@ -4584,16 +4678,21 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
4584
4678
|
}), h(ConditionalFittablePassengerCircle, {
|
|
4585
4679
|
"attrs": {
|
|
4586
4680
|
"position": passengerPosition,
|
|
4587
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4681
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4588
4682
|
"registerOverlay": registerOverlay
|
|
4589
4683
|
}
|
|
4590
|
-
}), h(TaxiCar, {
|
|
4684
|
+
}), !!carPosition && [h(TaxiCar, {
|
|
4591
4685
|
"attrs": {
|
|
4592
4686
|
"position": carPosition,
|
|
4593
4687
|
"title": title,
|
|
4594
4688
|
"registerOverlay": registerOverlay
|
|
4595
4689
|
}
|
|
4596
|
-
}), h(
|
|
4690
|
+
}), h(KeyedFitView, {
|
|
4691
|
+
"attrs": {
|
|
4692
|
+
"registerOverlay": registerOverlay,
|
|
4693
|
+
"fitViewKey": JSON.stringify(carPosition)
|
|
4694
|
+
}
|
|
4695
|
+
})], h(StartEndPoint, {
|
|
4597
4696
|
"attrs": {
|
|
4598
4697
|
"type": "start",
|
|
4599
4698
|
"position": from,
|
|
@@ -4621,7 +4720,11 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
4621
4720
|
registerOverlay
|
|
4622
4721
|
} = props;
|
|
4623
4722
|
const to = place2point(toPlace);
|
|
4624
|
-
|
|
4723
|
+
const {
|
|
4724
|
+
apiMapDistance
|
|
4725
|
+
} = useMapGeometry();
|
|
4726
|
+
const carDistance = carPosition ? apiMapDistance(carPosition, to) : void 0;
|
|
4727
|
+
return h("div", [!carPosition || !carDistance ? null : carDistance > CAR_DISTANCE_MIN ? h(DrivingRoute, {
|
|
4625
4728
|
"attrs": {
|
|
4626
4729
|
"from": carPosition,
|
|
4627
4730
|
"to": to,
|
|
@@ -4649,7 +4752,21 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
4649
4752
|
}
|
|
4650
4753
|
})]
|
|
4651
4754
|
}
|
|
4652
|
-
})
|
|
4755
|
+
}) : [h(TaxiCar, {
|
|
4756
|
+
"attrs": {
|
|
4757
|
+
"position": carPosition,
|
|
4758
|
+
"title": renderTitle({
|
|
4759
|
+
distance: carDistance,
|
|
4760
|
+
duration: carDurationWithinMinDistance(carDistance)
|
|
4761
|
+
}),
|
|
4762
|
+
"registerOverlay": registerOverlay
|
|
4763
|
+
}
|
|
4764
|
+
}), h(KeyedFitView, {
|
|
4765
|
+
"attrs": {
|
|
4766
|
+
"registerOverlay": registerOverlay,
|
|
4767
|
+
"fitViewKey": JSON.stringify(carPosition)
|
|
4768
|
+
}
|
|
4769
|
+
})], h(StartEndPoint, {
|
|
4653
4770
|
"attrs": {
|
|
4654
4771
|
"type": "end",
|
|
4655
4772
|
"position": to,
|
|
@@ -4771,7 +4888,7 @@ const BusinessTaxiEndMap = defineSetup(function BusinessTaxiEndMap2(props) {
|
|
|
4771
4888
|
} = useMapFitView({
|
|
4772
4889
|
mapRef,
|
|
4773
4890
|
autoFitTimeout: 5e3,
|
|
4774
|
-
padding: [
|
|
4891
|
+
padding: [19, 36, 19, 26]
|
|
4775
4892
|
});
|
|
4776
4893
|
const deferedSetFitView = pipeDefer(registerFitVeiw.setFitView);
|
|
4777
4894
|
return () => {
|
|
@@ -4815,7 +4932,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4815
4932
|
geoPosition,
|
|
4816
4933
|
geoError
|
|
4817
4934
|
} = useGeoLocation();
|
|
4818
|
-
const carPositionRef = ref(
|
|
4935
|
+
const carPositionRef = ref();
|
|
4819
4936
|
watch(() => props.driverStatus, (status, _, onCleanup) => {
|
|
4820
4937
|
if (!STATUS_NEED_CAR_POSITION.includes(status))
|
|
4821
4938
|
return;
|
|
@@ -5154,7 +5271,7 @@ const useBusinessTaxiServiceMap = () => {
|
|
|
5154
5271
|
const { registerFitVeiw, setFitView } = useMapFitView({
|
|
5155
5272
|
mapRef,
|
|
5156
5273
|
autoFitTimeout: 5e3,
|
|
5157
|
-
padding: [19,
|
|
5274
|
+
padding: [19, 36, 19, 26]
|
|
5158
5275
|
});
|
|
5159
5276
|
return { setMap, registerFitVeiw, setFitView };
|
|
5160
5277
|
};
|
package/dist/style.css
CHANGED
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
font-family: PingFangSC-Medium, PingFang SC;
|
|
141
141
|
font-weight: 500;
|
|
142
142
|
color: #1E1E1E;
|
|
143
|
-
line-height:
|
|
143
|
+
line-height: 4vw;
|
|
144
144
|
-webkit-line-clamp: 2;
|
|
145
145
|
-webkit-box-orient: vertical;
|
|
146
146
|
overflow: hidden;
|
|
@@ -227,6 +227,9 @@
|
|
|
227
227
|
margin-bottom: -5.5vw;
|
|
228
228
|
width: 6vw;
|
|
229
229
|
height: 11vw;
|
|
230
|
+
}
|
|
231
|
+
._65j3sr2 {
|
|
232
|
+
visibility: hidden;
|
|
230
233
|
}@keyframes rrvp0y0 {
|
|
231
234
|
0% {
|
|
232
235
|
transform: scale(0);
|
package/package.json
CHANGED
package/todo.md
CHANGED
|
@@ -3,46 +3,28 @@ https://dawchihliou.github.io/articles/building-custom-google-maps-marker-react-
|
|
|
3
3
|
2. Google 地址名称太长
|
|
4
4
|
3. 高德地图加载期间出现大量的请求
|
|
5
5
|
4. 做完其他事情进入首页,变成了获取定位失败,但其实 gps 是 ok 的,因为刷新页面是有点位的
|
|
6
|
+
5. map 的两个 slot loading 和 error slot 没有生效
|
|
7
|
+
6. 企业微信如果关闭定位,会不停的跳 geoError 事件
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
缩放问题
|
|
8
10
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
+
- 4867
|
|
12
|
+
- 4920
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
章新华
|
|
13
15
|
|
|
14
|
-
- 4914
|
|
15
|
-
- 4976
|
|
16
|
-
- 5002
|
|
17
|
-
- 5006
|
|
18
|
-
- 5014 定位失败,文案问题
|
|
19
|
-
- 5017
|
|
20
|
-
- 5036
|
|
21
|
-
- 5092
|
|
22
|
-
- 5225
|
|
23
|
-
- 5229 优先看
|
|
24
16
|
- 5238
|
|
25
17
|
|
|
26
18
|
不明白的
|
|
27
19
|
|
|
28
|
-
-
|
|
29
|
-
- 4986
|
|
30
|
-
- 5024
|
|
20
|
+
- 5294
|
|
31
21
|
|
|
32
22
|
需要复现
|
|
33
23
|
|
|
34
|
-
- 4769
|
|
35
|
-
- 4867
|
|
36
24
|
- 5044
|
|
37
25
|
- 5113
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
setView 类 bug
|
|
41
|
-
|
|
42
|
-
- 5134
|
|
43
|
-
- 5056
|
|
44
|
-
- 4939
|
|
45
|
-
- 4936
|
|
26
|
+
- 5291
|
|
27
|
+
- 5257 我的 safari 没有问题
|
|
46
28
|
|
|
47
29
|
0.4.3
|
|
48
30
|
|
|
@@ -74,3 +56,26 @@ setView 类 bug
|
|
|
74
56
|
- 5006
|
|
75
57
|
- 5017
|
|
76
58
|
- 5238
|
|
59
|
+
|
|
60
|
+
0.5.0
|
|
61
|
+
|
|
62
|
+
- 5284
|
|
63
|
+
- 5314
|
|
64
|
+
- 5313
|
|
65
|
+
- 5297
|
|
66
|
+
- 5277
|
|
67
|
+
- 5244
|
|
68
|
+
- 5198
|
|
69
|
+
- 5173
|
|
70
|
+
- 5168
|
|
71
|
+
|
|
72
|
+
0.5.1
|
|
73
|
+
|
|
74
|
+
- 5303
|
|
75
|
+
- 5329
|
|
76
|
+
- 4769
|
|
77
|
+
- 5044 (跟章新华说下)
|
|
78
|
+
- 5314
|
|
79
|
+
- 5347
|
|
80
|
+
- 5348
|
|
81
|
+
- 5057
|
package/vite.config.dev.ts
CHANGED
|
@@ -14,4 +14,7 @@ const pluginVue = isVue2 ? pluginVue2 : pluginVue3;
|
|
|
14
14
|
// https://vitejs.dev/config/
|
|
15
15
|
export default defineConfig({
|
|
16
16
|
plugins: [pluginVue(), vueJsx(), checker({ typescript: true }), eslint(), vanillaExtractPlugin()],
|
|
17
|
+
server: {
|
|
18
|
+
host: "0.0.0.0",
|
|
19
|
+
},
|
|
17
20
|
});
|