@heycar/heycars-map 0.4.8 → 0.5.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/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/index.cjs +203 -66
- package/dist/index.js +203 -66
- package/dist/style.css +4 -1
- package/dist/utils/helper.d.ts +1 -0
- package/dist/utils/singleGeoWatch.d.ts +13 -0
- package/dist/utils/waitQueue.d.ts +7 -0
- package/package.json +1 -1
- package/todo.md +33 -32
- 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
|
+
}>;
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
+
var __publicField = (obj, key, value) => {
|
|
5
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6
|
+
return value;
|
|
7
|
+
};
|
|
2
8
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
9
|
const Vue = require("vue");
|
|
4
10
|
const style = "";
|
|
@@ -2213,7 +2219,7 @@ const ADrivingLine = defineSetup(function ADrivingLine2(props) {
|
|
|
2213
2219
|
"attrs": {
|
|
2214
2220
|
"showDir": true,
|
|
2215
2221
|
"path": props.path,
|
|
2216
|
-
"strokeWeight": strokeWidth +
|
|
2222
|
+
"strokeWeight": strokeWidth + dirWidth,
|
|
2217
2223
|
"strokeOpacity": 1,
|
|
2218
2224
|
"strokeColor": "transparent",
|
|
2219
2225
|
"lineJoin": "round",
|
|
@@ -2657,6 +2663,12 @@ const KeyedFitView = defineSetup(function KeyedFitView2(props, {
|
|
|
2657
2663
|
return Vue.h("div", [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
|
2658
2664
|
};
|
|
2659
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;
|
|
2660
2672
|
const imgEndPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiAzMC4yMTVjMi4xMzQgMCAzLjg2My0uODkzIDMuODYzLTEuOTk1IDAtMS4xLTEuNzMtMS45OTQtMy44NjMtMS45OTQtMi4xMzQgMC0zLjg2My44OTMtMy44NjMgMS45OTQgMCAxLjEwMiAxLjczIDEuOTk1IDMuODYzIDEuOTk1eiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyNy4wMDZjMi4xMjggMC0uOS0zLjc0MyA1LjYyMS02LjY0M0MxOS44NDIgMTguNDUzIDIyIDE0Ljk1MyAyMiAxMC45NSAyMiA0LjkwMiAxNy4wNzUgMCAxMSAwUzAgNC45MDIgMCAxMC45NWMwIDMuOTE4IDIuMDY4IDcuMzU2IDUuMTc3IDkuMjlDMTEuNzUgMjMuMjg0IDkuMDYgMjcuMDA3IDExIDI3LjAwN3oiIHN0cm9rZT0iI0ZGRiIgZmlsbD0idXJsKCNwcmVmaXhfX2EpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSIvPjx0ZXh0IGZvbnQtZmFtaWx5PSJQaW5nRmFuZ1NDLVNlbWlib2xkLCBQaW5nRmFuZyBTQyIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9IjUwMCIgZmlsbD0iI0ZGRiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxLjIxNSkiPjx0c3BhbiB4PSI1IiB5PSIxNS40NDkiPue7iDwvdHNwYW4+PC90ZXh0PjwvZz48L3N2Zz4=";
|
|
2661
2673
|
const imgStartPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTIgMzAuMjE1YzEuOTUgMCAzLjUzMi0uODE2IDMuNTMyLTEuODIzIDAtMS4wMDctMS41ODEtMS44MjMtMy41MzItMS44MjMtMS45NSAwLTMuNTMyLjgxNi0zLjUzMiAxLjgyMyAwIDEuMDA3IDEuNTgxIDEuODIzIDMuNTMyIDEuODIzeiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyN2MyLjEyOCAwLS45LTMuNzQyIDUuNjIxLTYuNjQxIDMuMjIxLTEuOTEgNS4zNzktNS40MSA1LjM3OS05LjQxMkMyMiA0LjkwMSAxNy4wNzUgMCAxMSAwUzAgNC45MDEgMCAxMC45NDdjMCAzLjkxOCAyLjA2OCA3LjM1NSA1LjE3NyA5LjI5QzExLjc1IDIzLjI3NyA5LjA2IDI3IDExIDI3eiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMS4yMTUpIi8+PHRleHQgZm9udC1mYW1pbHk9IlBpbmdGYW5nU0MtU2VtaWJvbGQsIFBpbmdGYW5nIFNDIiBmb250LXNpemU9IjEyIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSIjRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSI+PHRzcGFuIHg9IjUiIHk9IjE1LjYyNCI+6LW3PC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==";
|
|
2662
2674
|
const StartEndPoint_css_ts_vanilla = "";
|
|
@@ -2774,7 +2786,8 @@ const AStartEndPoint = defineSetup(function AStartEndPoint2(props) {
|
|
|
2774
2786
|
"registerOverlay": props.registerOverlay,
|
|
2775
2787
|
"position": props.position,
|
|
2776
2788
|
"content": contentRef.value,
|
|
2777
|
-
"anchor": "bottom-center"
|
|
2789
|
+
"anchor": "bottom-center",
|
|
2790
|
+
"zIndex": ZINDEX_START_END_LOGO_LAYER
|
|
2778
2791
|
}
|
|
2779
2792
|
});
|
|
2780
2793
|
});
|
|
@@ -2818,7 +2831,8 @@ const GStartEndPoint = defineSetup(function GStartEndPoint2(props) {
|
|
|
2818
2831
|
"attrs": {
|
|
2819
2832
|
"registerOverlay": props.registerOverlay,
|
|
2820
2833
|
"position": vec2lnglat(props.position),
|
|
2821
|
-
"content": contentRef.value
|
|
2834
|
+
"content": contentRef.value,
|
|
2835
|
+
"zIndex": ZINDEX_START_END_LOGO_LAYER
|
|
2822
2836
|
}
|
|
2823
2837
|
});
|
|
2824
2838
|
};
|
|
@@ -2896,6 +2910,49 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props)
|
|
|
2896
2910
|
})]);
|
|
2897
2911
|
};
|
|
2898
2912
|
}).props(["fallback", "from", "loading", "mapRef", "registerOverlay", "renderDescription", "to", "fromDescription", "log"]);
|
|
2913
|
+
const isPlace = (place) => {
|
|
2914
|
+
return place.lng !== void 0 && place.lat !== void 0;
|
|
2915
|
+
};
|
|
2916
|
+
const sleep = (milliSeconds) => new Promise((resolve) => setTimeout(resolve, milliSeconds));
|
|
2917
|
+
class SingleGeoWatch {
|
|
2918
|
+
constructor(option) {
|
|
2919
|
+
__publicField(this, "id", 0);
|
|
2920
|
+
__publicField(this, "listeners", /* @__PURE__ */ new Map());
|
|
2921
|
+
__publicField(this, "option", {});
|
|
2922
|
+
__publicField(this, "singleWatchId");
|
|
2923
|
+
this.option = option != null ? option : {};
|
|
2924
|
+
}
|
|
2925
|
+
watchPosition(onSuccess, onError) {
|
|
2926
|
+
this.id += 1;
|
|
2927
|
+
const { id } = this;
|
|
2928
|
+
this.listeners.set(id, [onSuccess, onError]);
|
|
2929
|
+
this.start();
|
|
2930
|
+
return id;
|
|
2931
|
+
}
|
|
2932
|
+
clearWatch(id) {
|
|
2933
|
+
this.listeners.delete(id);
|
|
2934
|
+
}
|
|
2935
|
+
async start() {
|
|
2936
|
+
const { listeners, option, singleWatchId } = this;
|
|
2937
|
+
if (singleWatchId) {
|
|
2938
|
+
navigator.geolocation.clearWatch(singleWatchId);
|
|
2939
|
+
await sleep(20);
|
|
2940
|
+
}
|
|
2941
|
+
this.singleWatchId = navigator.geolocation.watchPosition(
|
|
2942
|
+
(position) => {
|
|
2943
|
+
for (const [onSuccess] of listeners.values()) {
|
|
2944
|
+
onSuccess(position);
|
|
2945
|
+
}
|
|
2946
|
+
},
|
|
2947
|
+
(error) => {
|
|
2948
|
+
for (const [_, onError] of listeners.values()) {
|
|
2949
|
+
onError == null ? void 0 : onError(error);
|
|
2950
|
+
}
|
|
2951
|
+
},
|
|
2952
|
+
option
|
|
2953
|
+
);
|
|
2954
|
+
}
|
|
2955
|
+
}
|
|
2899
2956
|
const useAmapGCJ02 = () => {
|
|
2900
2957
|
const { readyPromise } = useMapSupplier();
|
|
2901
2958
|
async function toGcj02(point) {
|
|
@@ -2926,6 +2983,11 @@ const useMapGCJ02 = () => {
|
|
|
2926
2983
|
return supplier === "gmap" ? useGmapGCJ02() : useAmapGCJ02();
|
|
2927
2984
|
};
|
|
2928
2985
|
const GEO_TIMEOUT = 5e3;
|
|
2986
|
+
const singleGeoWatch = new SingleGeoWatch({
|
|
2987
|
+
timeout: GEO_TIMEOUT,
|
|
2988
|
+
maximumAge: 0,
|
|
2989
|
+
enableHighAccuracy: false
|
|
2990
|
+
});
|
|
2929
2991
|
const useGeoLocation = (props) => {
|
|
2930
2992
|
var _a, _b;
|
|
2931
2993
|
const { onChange, onLoad, onLoadDefault, onError, geoDefaultPosition } = props != null ? props : {};
|
|
@@ -2948,12 +3010,11 @@ const useGeoLocation = (props) => {
|
|
|
2948
3010
|
() => true,
|
|
2949
3011
|
(_1, _2, onCleanup) => {
|
|
2950
3012
|
loading.value = true;
|
|
2951
|
-
const watchId =
|
|
3013
|
+
const watchId = singleGeoWatch.watchPosition(
|
|
2952
3014
|
async (position) => {
|
|
2953
3015
|
const coordinate = position.coords;
|
|
2954
3016
|
const wgsPoint = [position.coords.longitude, position.coords.latitude];
|
|
2955
3017
|
const point = await toGcj02(wgsPoint);
|
|
2956
|
-
console.log("wgsPoint, point = ", wgsPoint, point);
|
|
2957
3018
|
coordinateRef.value = coordinate;
|
|
2958
3019
|
positionRef.value = point;
|
|
2959
3020
|
if (loading.value) {
|
|
@@ -2972,10 +3033,9 @@ const useGeoLocation = (props) => {
|
|
|
2972
3033
|
onLoadDefault == null ? void 0 : onLoadDefault({ position });
|
|
2973
3034
|
}
|
|
2974
3035
|
onError == null ? void 0 : onError(error);
|
|
2975
|
-
}
|
|
2976
|
-
{ timeout: GEO_TIMEOUT, maximumAge: 0, enableHighAccuracy: false }
|
|
3036
|
+
}
|
|
2977
3037
|
);
|
|
2978
|
-
onCleanup(() =>
|
|
3038
|
+
onCleanup(() => singleGeoWatch.clearWatch(watchId));
|
|
2979
3039
|
},
|
|
2980
3040
|
{ immediate: true }
|
|
2981
3041
|
);
|
|
@@ -3416,7 +3476,8 @@ const APassengerCircle = defineSetup(function APassengerCircle2(props) {
|
|
|
3416
3476
|
"position": props.position,
|
|
3417
3477
|
"content": contentRef.value,
|
|
3418
3478
|
"anchor": "bottom-center",
|
|
3419
|
-
"registerOverlay": props.registerOverlay
|
|
3479
|
+
"registerOverlay": props.registerOverlay,
|
|
3480
|
+
"zIndex": ZINDEX_PASSENGER_LAYER
|
|
3420
3481
|
}
|
|
3421
3482
|
});
|
|
3422
3483
|
};
|
|
@@ -3438,7 +3499,8 @@ const GPassengerCircle = defineSetup(function GPassengerCircle2(props) {
|
|
|
3438
3499
|
"attrs": {
|
|
3439
3500
|
"position": vec2lnglat(props.position),
|
|
3440
3501
|
"content": contentRef.value,
|
|
3441
|
-
"registerOverlay": props.registerOverlay
|
|
3502
|
+
"registerOverlay": props.registerOverlay,
|
|
3503
|
+
"zIndex": ZINDEX_PASSENGER_LAYER
|
|
3442
3504
|
}
|
|
3443
3505
|
});
|
|
3444
3506
|
});
|
|
@@ -3613,7 +3675,8 @@ const APlaceCircle = defineSetup(function APlaceCircle2(props, {
|
|
|
3613
3675
|
"attrs": {
|
|
3614
3676
|
"position": props.position,
|
|
3615
3677
|
"content": props.label ? contentRef.value : contentWithoutLabelRef.value,
|
|
3616
|
-
"anchor": textAlignRef.value === "left" ? AnchorType.middleRight : AnchorType.middleLeft
|
|
3678
|
+
"anchor": textAlignRef.value === "left" ? AnchorType.middleRight : AnchorType.middleLeft,
|
|
3679
|
+
"zIndex": ZINDEX_PLACE_LAYER
|
|
3617
3680
|
},
|
|
3618
3681
|
"on": {
|
|
3619
3682
|
"click": handleClick
|
|
@@ -3664,7 +3727,8 @@ const GPlaceCircle = defineSetup(function GPlaceCircle2(props, {
|
|
|
3664
3727
|
return () => Vue.h(GmapAdvancedMarkerView, {
|
|
3665
3728
|
"attrs": {
|
|
3666
3729
|
"position": vec2lnglat(props.position),
|
|
3667
|
-
"content": props.label ? contentRef.value : contentWithoutLabelRef.value
|
|
3730
|
+
"content": props.label ? contentRef.value : contentWithoutLabelRef.value,
|
|
3731
|
+
"zIndex": ZINDEX_PLACE_LAYER
|
|
3668
3732
|
},
|
|
3669
3733
|
"on": {
|
|
3670
3734
|
"click": handleClick
|
|
@@ -3880,7 +3944,8 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3880
3944
|
...place
|
|
3881
3945
|
});
|
|
3882
3946
|
emit("changeRecomandPlace", place);
|
|
3883
|
-
|
|
3947
|
+
if (isFirstWorkflowRecomendLoadingRef.value)
|
|
3948
|
+
await pipeDefer(setZoom)(READY_ZOOM);
|
|
3884
3949
|
completeFirstWorkflowRecomend();
|
|
3885
3950
|
},
|
|
3886
3951
|
onChangeCity: (value) => {
|
|
@@ -3934,10 +3999,6 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
3934
3999
|
})]);
|
|
3935
4000
|
};
|
|
3936
4001
|
}).props(["log", "geoLoadingTitle", "unavailableTitle", "recomendDescription", "fallback", "geoDefaultPosition", "getRecomendPlace", "getDefaultCenterPlace", "loading", "mapContext"]);
|
|
3937
|
-
const BEIJIN_POINT = [116.2317, 39.5427];
|
|
3938
|
-
const isPlace = (place) => {
|
|
3939
|
-
return place.lng !== void 0 && place.lat !== void 0;
|
|
3940
|
-
};
|
|
3941
4002
|
const useAmapGeometry = () => {
|
|
3942
4003
|
const payload = useMapSupplier();
|
|
3943
4004
|
const apiMapDistance = (from, to) => {
|
|
@@ -3963,6 +4024,7 @@ const useMapGeometry = () => {
|
|
|
3963
4024
|
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=";
|
|
3964
4025
|
const TaxiCar_css_ts_vanilla = "";
|
|
3965
4026
|
var carIcon = "_65j3sr1";
|
|
4027
|
+
var hide = createRuntimeFn({ defaultClassName: "", variantClassNames: { hide: { true: "_65j3sr2", false: "_65j3sr3" } }, defaultVariants: {}, compoundVariants: [] });
|
|
3966
4028
|
var pointInfoBoxEmphasize = "_4a4ovk5";
|
|
3967
4029
|
var pointInfoBoxTitle = "_4a4ovk3";
|
|
3968
4030
|
var pointLayout = "_4a4ovk0";
|
|
@@ -3973,24 +4035,43 @@ const ATaxiCar = defineSetup(function ATaxiCar2(props) {
|
|
|
3973
4035
|
const titleRow = !props.title ? "" : decodeAsterisk(props.title).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize}">${item.value}</span>`).join("");
|
|
3974
4036
|
const carStyle = `transform:rotate(${(_a = props.angle) != null ? _a : 0}deg)`;
|
|
3975
4037
|
if (!props.title)
|
|
3976
|
-
return
|
|
3977
|
-
|
|
4038
|
+
return {
|
|
4039
|
+
img: `<img src="${imgTaxicar}" class="${carIcon}" style="${carStyle}">`
|
|
4040
|
+
};
|
|
4041
|
+
const content = (hide$1) => `
|
|
3978
4042
|
<div class="${pointLayout}">
|
|
3979
|
-
<div class="${pointSingleInfoBox}
|
|
4043
|
+
<div class="${pointSingleInfoBox} ${hide({
|
|
4044
|
+
hide: !hide$1
|
|
4045
|
+
})}">
|
|
3980
4046
|
<div class="${pointInfoBoxTitle}">${titleRow}</div>
|
|
3981
4047
|
</div>
|
|
3982
|
-
<img src="${imgTaxicar}" class="${carIcon}
|
|
4048
|
+
<img src="${imgTaxicar}" class="${carIcon} ${hide({
|
|
4049
|
+
hide: hide$1
|
|
4050
|
+
})}" style="${carStyle}">
|
|
3983
4051
|
</div>
|
|
3984
4052
|
`;
|
|
4053
|
+
return {
|
|
4054
|
+
box: content(true),
|
|
4055
|
+
img: content(false)
|
|
4056
|
+
};
|
|
3985
4057
|
});
|
|
3986
|
-
return () => Vue.h(AmapMarker, {
|
|
4058
|
+
return () => Vue.h("div", [Vue.h(AmapMarker, {
|
|
3987
4059
|
"attrs": {
|
|
3988
4060
|
"position": props.position,
|
|
3989
|
-
"content": contentRef.value,
|
|
4061
|
+
"content": contentRef.value.img,
|
|
3990
4062
|
"anchor": "bottom-center",
|
|
3991
|
-
"registerOverlay": props.registerOverlay
|
|
4063
|
+
"registerOverlay": props.registerOverlay,
|
|
4064
|
+
"zIndex": ZINDEX_CAR_LAYER
|
|
3992
4065
|
}
|
|
3993
|
-
})
|
|
4066
|
+
}), Vue.h(AmapMarker, {
|
|
4067
|
+
"attrs": {
|
|
4068
|
+
"position": props.position,
|
|
4069
|
+
"content": contentRef.value.box,
|
|
4070
|
+
"anchor": "bottom-center",
|
|
4071
|
+
"registerOverlay": props.registerOverlay,
|
|
4072
|
+
"zIndex": ZINDEX_BUBBLE_LAYER
|
|
4073
|
+
}
|
|
4074
|
+
})]);
|
|
3994
4075
|
});
|
|
3995
4076
|
const GTaxiCar = defineSetup(function GTaxiCar2(props) {
|
|
3996
4077
|
const contentRef = Vue.computed(() => {
|
|
@@ -3998,28 +4079,46 @@ const GTaxiCar = defineSetup(function GTaxiCar2(props) {
|
|
|
3998
4079
|
const titleRow = !props.title ? "" : decodeAsterisk(props.title).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize}">${item.value}</span>`).join("");
|
|
3999
4080
|
const carStyle = `transform:rotate(${(_a = props.angle) != null ? _a : 0}deg)`;
|
|
4000
4081
|
if (!props.title)
|
|
4001
|
-
return
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
|
|
4082
|
+
return {
|
|
4083
|
+
img: createDom("img", {
|
|
4084
|
+
class: carIcon,
|
|
4085
|
+
src: imgTaxicar,
|
|
4086
|
+
style: carStyle
|
|
4087
|
+
})
|
|
4088
|
+
};
|
|
4089
|
+
const content = (hide$1) => createDom("div", {
|
|
4007
4090
|
class: pointLayout
|
|
4008
4091
|
}, `
|
|
4009
|
-
<div class="${pointSingleInfoBox}
|
|
4092
|
+
<div class="${pointSingleInfoBox} ${hide({
|
|
4093
|
+
hide: !hide$1
|
|
4094
|
+
})}">
|
|
4010
4095
|
<div class="${pointInfoBoxTitle}">${titleRow}</div>
|
|
4011
4096
|
</div>
|
|
4012
|
-
<img src="${imgTaxicar}" class="${carIcon}
|
|
4097
|
+
<img src="${imgTaxicar}" class="${carIcon} ${hide({
|
|
4098
|
+
hide: hide$1
|
|
4099
|
+
})}" style="${carStyle}">
|
|
4013
4100
|
`);
|
|
4101
|
+
return {
|
|
4102
|
+
box: content(true),
|
|
4103
|
+
img: content(false)
|
|
4104
|
+
};
|
|
4014
4105
|
});
|
|
4015
4106
|
return () => {
|
|
4016
|
-
return Vue.h(GmapAdvancedMarkerView, {
|
|
4107
|
+
return Vue.h("div", [Vue.h(GmapAdvancedMarkerView, {
|
|
4017
4108
|
"attrs": {
|
|
4018
4109
|
"position": vec2lnglat(props.position),
|
|
4019
|
-
"content": contentRef.value,
|
|
4020
|
-
"registerOverlay": props.registerOverlay
|
|
4110
|
+
"content": contentRef.value.img,
|
|
4111
|
+
"registerOverlay": props.registerOverlay,
|
|
4112
|
+
"zIndex": ZINDEX_CAR_LAYER
|
|
4021
4113
|
}
|
|
4022
|
-
})
|
|
4114
|
+
}), Vue.h(GmapAdvancedMarkerView, {
|
|
4115
|
+
"attrs": {
|
|
4116
|
+
"position": vec2lnglat(props.position),
|
|
4117
|
+
"content": contentRef.value.box,
|
|
4118
|
+
"registerOverlay": props.registerOverlay,
|
|
4119
|
+
"zIndex": ZINDEX_BUBBLE_LAYER
|
|
4120
|
+
}
|
|
4121
|
+
})]);
|
|
4023
4122
|
};
|
|
4024
4123
|
});
|
|
4025
4124
|
const TaxiCar = defineSetup(function TaxiCar2(props) {
|
|
@@ -4258,7 +4357,10 @@ const WaveCircle = defineSetup(function WaveCircle2(props) {
|
|
|
4258
4357
|
});
|
|
4259
4358
|
};
|
|
4260
4359
|
});
|
|
4261
|
-
const
|
|
4360
|
+
const PASSENGER_DISTANCE_MAX = 2e3;
|
|
4361
|
+
const PASSENGER_DISTANCE_MIN = 10;
|
|
4362
|
+
const CAR_DISTANCE_MIN = 100;
|
|
4363
|
+
const carDurationWithinMinDistance = (distance) => Math.floor(distance / 5);
|
|
4262
4364
|
const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
4263
4365
|
return () => {
|
|
4264
4366
|
const {
|
|
@@ -4320,7 +4422,7 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
|
4320
4422
|
}), Vue.h(ConditionalFittablePassengerCircle, {
|
|
4321
4423
|
"attrs": {
|
|
4322
4424
|
"position": passengerPosition,
|
|
4323
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4425
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4324
4426
|
"registerOverlay": registerOverlay
|
|
4325
4427
|
}
|
|
4326
4428
|
}), Vue.h(StartEndPoint, {
|
|
@@ -4368,10 +4470,11 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
4368
4470
|
} = props;
|
|
4369
4471
|
const from = place2point(fromPlace);
|
|
4370
4472
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
4473
|
+
const carDistance = carPosition ? apiMapDistance(carPosition, from) : void 0;
|
|
4371
4474
|
return Vue.h("div", [Vue.h(ConditionalFittablePassengerCircle, {
|
|
4372
4475
|
"attrs": {
|
|
4373
4476
|
"position": passengerPosition,
|
|
4374
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4477
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4375
4478
|
"registerOverlay": registerOverlay
|
|
4376
4479
|
}
|
|
4377
4480
|
}), Vue.h(StartEndPoint, {
|
|
@@ -4386,7 +4489,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
4386
4489
|
"label": fromPlace.name,
|
|
4387
4490
|
"hideIcon": true
|
|
4388
4491
|
}
|
|
4389
|
-
}), carPosition
|
|
4492
|
+
}), !carPosition || !carDistance ? null : carDistance > CAR_DISTANCE_MIN ? Vue.h(DrivingRoute, {
|
|
4390
4493
|
"attrs": {
|
|
4391
4494
|
"from": carPosition,
|
|
4392
4495
|
"to": from,
|
|
@@ -4414,7 +4517,21 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
4414
4517
|
}
|
|
4415
4518
|
})]
|
|
4416
4519
|
}
|
|
4417
|
-
}) :
|
|
4520
|
+
}) : [Vue.h(TaxiCar, {
|
|
4521
|
+
"attrs": {
|
|
4522
|
+
"position": carPosition,
|
|
4523
|
+
"title": renderTitle({
|
|
4524
|
+
distance: carDistance,
|
|
4525
|
+
duration: carDurationWithinMinDistance(carDistance)
|
|
4526
|
+
}),
|
|
4527
|
+
"registerOverlay": registerOverlay
|
|
4528
|
+
}
|
|
4529
|
+
}), Vue.h(KeyedFitView, {
|
|
4530
|
+
"attrs": {
|
|
4531
|
+
"registerOverlay": registerOverlay,
|
|
4532
|
+
"fitViewKey": JSON.stringify(carPosition)
|
|
4533
|
+
}
|
|
4534
|
+
})], !!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && Vue.h(WalkingRoute, {
|
|
4418
4535
|
"attrs": {
|
|
4419
4536
|
"from": passengerPosition,
|
|
4420
4537
|
"to": from,
|
|
@@ -4459,7 +4576,7 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
4459
4576
|
}
|
|
4460
4577
|
})
|
|
4461
4578
|
}
|
|
4462
|
-
}), !!passengerPosition && passengerDistance && passengerDistance <
|
|
4579
|
+
}), !!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && Vue.h(WalkingRoute, {
|
|
4463
4580
|
"attrs": {
|
|
4464
4581
|
"from": passengerPosition,
|
|
4465
4582
|
"to": from,
|
|
@@ -4474,7 +4591,7 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
4474
4591
|
}), Vue.h(ConditionalFittablePassengerCircle, {
|
|
4475
4592
|
"attrs": {
|
|
4476
4593
|
"position": passengerPosition,
|
|
4477
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4594
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4478
4595
|
"registerOverlay": registerOverlay
|
|
4479
4596
|
}
|
|
4480
4597
|
}), Vue.h(StartEndPoint, {
|
|
@@ -4522,7 +4639,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
4522
4639
|
} = props;
|
|
4523
4640
|
const from = place2point(fromPlace);
|
|
4524
4641
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
4525
|
-
return Vue.h("div", [!!passengerPosition && passengerDistance && passengerDistance <
|
|
4642
|
+
return Vue.h("div", [!!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && Vue.h(WalkingRoute, {
|
|
4526
4643
|
"attrs": {
|
|
4527
4644
|
"from": passengerPosition,
|
|
4528
4645
|
"to": from,
|
|
@@ -4537,16 +4654,21 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
4537
4654
|
}), Vue.h(ConditionalFittablePassengerCircle, {
|
|
4538
4655
|
"attrs": {
|
|
4539
4656
|
"position": passengerPosition,
|
|
4540
|
-
"condition": !!passengerDistance && passengerDistance <
|
|
4657
|
+
"condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
|
|
4541
4658
|
"registerOverlay": registerOverlay
|
|
4542
4659
|
}
|
|
4543
|
-
}), Vue.h(TaxiCar, {
|
|
4660
|
+
}), !!carPosition && [Vue.h(TaxiCar, {
|
|
4544
4661
|
"attrs": {
|
|
4545
4662
|
"position": carPosition,
|
|
4546
4663
|
"title": title,
|
|
4547
4664
|
"registerOverlay": registerOverlay
|
|
4548
4665
|
}
|
|
4549
|
-
}), Vue.h(
|
|
4666
|
+
}), Vue.h(KeyedFitView, {
|
|
4667
|
+
"attrs": {
|
|
4668
|
+
"registerOverlay": registerOverlay,
|
|
4669
|
+
"fitViewKey": JSON.stringify(carPosition)
|
|
4670
|
+
}
|
|
4671
|
+
})], Vue.h(StartEndPoint, {
|
|
4550
4672
|
"attrs": {
|
|
4551
4673
|
"type": "start",
|
|
4552
4674
|
"position": from,
|
|
@@ -4574,7 +4696,11 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
4574
4696
|
registerOverlay
|
|
4575
4697
|
} = props;
|
|
4576
4698
|
const to = place2point(toPlace);
|
|
4577
|
-
|
|
4699
|
+
const {
|
|
4700
|
+
apiMapDistance
|
|
4701
|
+
} = useMapGeometry();
|
|
4702
|
+
const carDistance = carPosition ? apiMapDistance(carPosition, to) : void 0;
|
|
4703
|
+
return Vue.h("div", [!carPosition || !carDistance ? null : carDistance > CAR_DISTANCE_MIN ? Vue.h(DrivingRoute, {
|
|
4578
4704
|
"attrs": {
|
|
4579
4705
|
"from": carPosition,
|
|
4580
4706
|
"to": to,
|
|
@@ -4602,7 +4728,21 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
4602
4728
|
}
|
|
4603
4729
|
})]
|
|
4604
4730
|
}
|
|
4605
|
-
})
|
|
4731
|
+
}) : [Vue.h(TaxiCar, {
|
|
4732
|
+
"attrs": {
|
|
4733
|
+
"position": carPosition,
|
|
4734
|
+
"title": renderTitle({
|
|
4735
|
+
distance: carDistance,
|
|
4736
|
+
duration: carDurationWithinMinDistance(carDistance)
|
|
4737
|
+
}),
|
|
4738
|
+
"registerOverlay": registerOverlay
|
|
4739
|
+
}
|
|
4740
|
+
}), Vue.h(KeyedFitView, {
|
|
4741
|
+
"attrs": {
|
|
4742
|
+
"registerOverlay": registerOverlay,
|
|
4743
|
+
"fitViewKey": JSON.stringify(carPosition)
|
|
4744
|
+
}
|
|
4745
|
+
})], Vue.h(StartEndPoint, {
|
|
4606
4746
|
"attrs": {
|
|
4607
4747
|
"type": "end",
|
|
4608
4748
|
"position": to,
|
|
@@ -4756,7 +4896,6 @@ const BusinessTaxiEndMap = defineSetup(function BusinessTaxiEndMap2(props) {
|
|
|
4756
4896
|
const STATUS_NEED_CAR_POSITION = ["book-driverStartService", "dispatched", "driverStartService", "inService", "driverArrived"];
|
|
4757
4897
|
const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap2(props) {
|
|
4758
4898
|
const {
|
|
4759
|
-
from,
|
|
4760
4899
|
interval,
|
|
4761
4900
|
registerOverlay,
|
|
4762
4901
|
mapRef,
|
|
@@ -4768,10 +4907,8 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4768
4907
|
const {
|
|
4769
4908
|
geoPosition,
|
|
4770
4909
|
geoError
|
|
4771
|
-
} = useGeoLocation(
|
|
4772
|
-
|
|
4773
|
-
});
|
|
4774
|
-
const carPositionRef = Vue.ref(place2point(props.from));
|
|
4910
|
+
} = useGeoLocation();
|
|
4911
|
+
const carPositionRef = Vue.ref();
|
|
4775
4912
|
Vue.watch(() => props.driverStatus, (status, _, onCleanup) => {
|
|
4776
4913
|
if (!STATUS_NEED_CAR_POSITION.includes(status))
|
|
4777
4914
|
return;
|
|
@@ -4785,7 +4922,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4785
4922
|
return () => {
|
|
4786
4923
|
const {
|
|
4787
4924
|
driverStatus,
|
|
4788
|
-
from
|
|
4925
|
+
from,
|
|
4789
4926
|
to,
|
|
4790
4927
|
dispatchingTitle,
|
|
4791
4928
|
bookDispatchingTitle,
|
|
@@ -4796,7 +4933,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4796
4933
|
const passengerPosition = geoError.value ? void 0 : geoPosition.value;
|
|
4797
4934
|
return Vue.h(HeycarMap, {
|
|
4798
4935
|
"attrs": {
|
|
4799
|
-
"center": place2point(
|
|
4936
|
+
"center": place2point(from),
|
|
4800
4937
|
"zoom": 13,
|
|
4801
4938
|
"mapRef": mapRef,
|
|
4802
4939
|
"touchEnable": touchEnable
|
|
@@ -4806,26 +4943,26 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4806
4943
|
}
|
|
4807
4944
|
}, [driverStatus === "dispatching" ? Vue.h(SectionDispatching, {
|
|
4808
4945
|
"attrs": {
|
|
4809
|
-
"from":
|
|
4946
|
+
"from": from,
|
|
4810
4947
|
"title": dispatchingTitle,
|
|
4811
4948
|
"registerOverlay": registerOverlay
|
|
4812
4949
|
}
|
|
4813
4950
|
}) : driverStatus === "book-dispatching" ? Vue.h(SectionDispatching, {
|
|
4814
4951
|
"attrs": {
|
|
4815
|
-
"from":
|
|
4952
|
+
"from": from,
|
|
4816
4953
|
"title": bookDispatchingTitle,
|
|
4817
4954
|
"registerOverlay": registerOverlay
|
|
4818
4955
|
}
|
|
4819
4956
|
}) : driverStatus === "assign" || driverStatus === "confirmed" ? Vue.h(SectionConfirmed, {
|
|
4820
4957
|
"attrs": {
|
|
4821
|
-
"from":
|
|
4958
|
+
"from": from,
|
|
4822
4959
|
"to": to,
|
|
4823
4960
|
"passengerPosition": passengerPosition,
|
|
4824
4961
|
"registerOverlay": registerOverlay
|
|
4825
4962
|
}
|
|
4826
4963
|
}) : driverStatus === "dispatched" || driverStatus === "driverStartService" || driverStatus === "book-driverStartService" ? Vue.h(SectionDriverStartService, {
|
|
4827
4964
|
"attrs": {
|
|
4828
|
-
"from":
|
|
4965
|
+
"from": from,
|
|
4829
4966
|
"carPosition": carPosition,
|
|
4830
4967
|
"passengerPosition": passengerPosition,
|
|
4831
4968
|
"renderTitle": renderStartSerivceTitle,
|
|
@@ -4833,7 +4970,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4833
4970
|
}
|
|
4834
4971
|
}) : driverStatus === "book-dispatched" ? Vue.h(SectionBookDispatched, {
|
|
4835
4972
|
"attrs": {
|
|
4836
|
-
"from":
|
|
4973
|
+
"from": from,
|
|
4837
4974
|
"to": to,
|
|
4838
4975
|
"passengerPosition": passengerPosition,
|
|
4839
4976
|
"registerOverlay": registerOverlay
|
|
@@ -4847,7 +4984,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4847
4984
|
}
|
|
4848
4985
|
}) : driverStatus === "driverArrived" ? Vue.h(SectionDriverArrived, {
|
|
4849
4986
|
"attrs": {
|
|
4850
|
-
"from":
|
|
4987
|
+
"from": from,
|
|
4851
4988
|
"carPosition": carPosition,
|
|
4852
4989
|
"passengerPosition": passengerPosition,
|
|
4853
4990
|
"title": driverArrivedTitle,
|
|
@@ -4855,13 +4992,13 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4855
4992
|
}
|
|
4856
4993
|
}) : driverStatus === "canceled" || driverStatus === "canceling" ? Vue.h(SectionCanceled, {
|
|
4857
4994
|
"attrs": {
|
|
4858
|
-
"from":
|
|
4995
|
+
"from": from,
|
|
4859
4996
|
"to": to,
|
|
4860
4997
|
"registerOverlay": registerOverlay
|
|
4861
4998
|
}
|
|
4862
4999
|
}) : driverStatus === "endService" || driverStatus === "completed" || driverStatus === "banlanceRefund" || driverStatus === "waitBanlanceRefund" || driverStatus === "rechargePayed" || driverStatus === "waitRechargePay" || driverStatus === "payed" || driverStatus === "waitpay" || driverStatus === "refund" ? Vue.h(SectionEndService, {
|
|
4863
5000
|
"attrs": {
|
|
4864
|
-
"from":
|
|
5001
|
+
"from": from,
|
|
4865
5002
|
"to": to,
|
|
4866
5003
|
"registerOverlay": registerOverlay
|
|
4867
5004
|
}
|
|
@@ -4869,7 +5006,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
|
|
|
4869
5006
|
// 匹配不到就显示灰色路线
|
|
4870
5007
|
Vue.h(SectionEndService, {
|
|
4871
5008
|
"attrs": {
|
|
4872
|
-
"from":
|
|
5009
|
+
"from": from,
|
|
4873
5010
|
"to": to,
|
|
4874
5011
|
"registerOverlay": registerOverlay
|
|
4875
5012
|
}
|