@heycar/heycars-map 2.14.0-walkOptimize2 → 2.15.0-domestic2
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/README.md +47 -15
- package/dist/v2/Demo/DemoBusinessRecomendPlace.js +2 -1
- package/dist/v2/Demo/DemoBusinessTaxiEnd.d.ts +2 -1
- package/dist/v2/Demo/DemoBusinessTaxiEnd.js +9 -2
- package/dist/v2/Demo/DemoBusinessTaxiService.d.ts +4 -1
- package/dist/v2/Demo/DemoBusinessTaxiService.js +19 -1
- package/dist/v2/Demo/demo.data.mock.d.ts +4 -0
- package/dist/v2/Demo/demo.data.mock.js +1194 -0
- package/dist/v2/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.d.ts +2 -2
- package/dist/v2/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.js +2 -1
- package/dist/v2/business-components/BusinessRecomendPlaceMap/index.js +1 -1
- package/dist/v2/business-components/BusinessRecomendPlaceMap/useCacheCenterPlace.d.ts +1 -2
- package/dist/v2/business-components/BusinessRecomendPlaceMap/useCacheCenterPlace.js +6 -14
- package/dist/v2/business-components/BusinessReselectPlaceMap/BusinessReselectPlaceMap.js +1 -1
- package/dist/v2/business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.d.ts +4 -3
- package/dist/v2/business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.js +6 -2
- package/dist/v2/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.d.ts +4 -1
- package/dist/v2/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.js +45 -7
- package/dist/v2/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceSection.d.ts +6 -1
- package/dist/v2/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceSection.js +80 -16
- package/dist/v2/business-components/TaxiCar/RandomCars.d.ts +6 -0
- package/dist/v2/business-components/TaxiCar/RandomCars.js +47 -0
- package/dist/v2/chunks/{BusinessRecomendPlaceMap.8a4a1015.js → BusinessRecomendPlaceMap.eebd0822.js} +9 -5
- package/dist/{v3/chunks/Loading.4c949ec9.js → v2/chunks/Loading.8aa3aad3.js} +47 -27
- package/dist/v2/components/Loading/Loading.js +1 -1
- package/dist/v2/components/Loading/index.js +1 -1
- package/dist/v2/components/MapProvider/MapProvider.js +21 -10
- package/dist/v2/hooks/useMapCoordinatify.d.ts +2 -1
- package/dist/v2/hooks/useMapCoordinatify.js +6 -1
- package/dist/v2/hooks/useMapLoader.js +3 -3
- package/dist/v2/hooks-business/useBusinessRecomendPlaceMap.js +1 -1
- package/dist/v2/index.js +1 -1
- package/dist/v2/types/interface.d.ts +12 -0
- package/dist/v2/utils/geometryPolygon.d.ts +9 -0
- package/dist/v2/utils/geometryPolygon.js +19 -0
- package/dist/v2/utils/log.js +1 -1
- package/dist/v2/utils/platform.d.ts +2 -1
- package/dist/v2/utils/platform.js +2 -1
- package/dist/v2/utils/typeChecking.d.ts +7 -1
- package/dist/v2/utils/typeChecking.js +18 -0
- package/dist/v3/Demo/DemoBusinessRecomendPlace.js +2 -1
- package/dist/v3/Demo/DemoBusinessTaxiEnd.d.ts +2 -1
- package/dist/v3/Demo/DemoBusinessTaxiEnd.js +9 -2
- package/dist/v3/Demo/DemoBusinessTaxiService.d.ts +4 -1
- package/dist/v3/Demo/DemoBusinessTaxiService.js +19 -1
- package/dist/v3/Demo/demo.data.mock.d.ts +4 -0
- package/dist/v3/Demo/demo.data.mock.js +1194 -0
- package/dist/v3/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.d.ts +2 -2
- package/dist/v3/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.js +2 -1
- package/dist/v3/business-components/BusinessRecomendPlaceMap/index.js +1 -1
- package/dist/v3/business-components/BusinessRecomendPlaceMap/useCacheCenterPlace.d.ts +1 -2
- package/dist/v3/business-components/BusinessRecomendPlaceMap/useCacheCenterPlace.js +6 -14
- package/dist/v3/business-components/BusinessReselectPlaceMap/BusinessReselectPlaceMap.js +1 -1
- package/dist/v3/business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.d.ts +4 -3
- package/dist/v3/business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.js +6 -2
- package/dist/v3/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.d.ts +4 -1
- package/dist/v3/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.js +45 -7
- package/dist/v3/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceSection.d.ts +6 -1
- package/dist/v3/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceSection.js +62 -16
- package/dist/v3/business-components/TaxiCar/RandomCars.d.ts +8 -0
- package/dist/v3/business-components/TaxiCar/RandomCars.js +45 -0
- package/dist/v3/chunks/{BusinessRecomendPlaceMap.b30ca4e4.js → BusinessRecomendPlaceMap.71c439c6.js} +7 -5
- package/dist/{v2/chunks/Loading.70dfc720.js → v3/chunks/Loading.4b53c31f.js} +34 -30
- package/dist/v3/components/Loading/Loading.js +1 -1
- package/dist/v3/components/Loading/index.js +1 -1
- package/dist/v3/components/MapProvider/MapProvider.js +21 -10
- package/dist/v3/hooks/useMapCoordinatify.d.ts +2 -1
- package/dist/v3/hooks/useMapCoordinatify.js +6 -1
- package/dist/v3/hooks/useMapLoader.js +3 -3
- package/dist/v3/hooks-business/useBusinessRecomendPlaceMap.js +1 -1
- package/dist/v3/index.js +1 -1
- package/dist/v3/types/interface.d.ts +12 -0
- package/dist/v3/utils/geometryPolygon.d.ts +9 -0
- package/dist/v3/utils/geometryPolygon.js +19 -0
- package/dist/v3/utils/log.js +1 -1
- package/dist/v3/utils/platform.d.ts +2 -1
- package/dist/v3/utils/platform.js +2 -1
- package/dist/v3/utils/typeChecking.d.ts +7 -1
- package/dist/v3/utils/typeChecking.js +18 -0
- package/package.json +1 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Point } from "../../types/interface";
|
|
2
|
+
interface RandomCarsProps {
|
|
3
|
+
center: Point;
|
|
4
|
+
}
|
|
5
|
+
export declare const RandomCars: import("vue-demi").DefineComponent<import("vue3").ComponentObjectPropsOptions<RandomCarsProps>, 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<RandomCarsProps, Required<RandomCarsProps>>, never, RandomCarsProps>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { h } from "vue";
|
|
2
|
+
import { computed } from "vue-demi";
|
|
3
|
+
import { defineSetup } from "../../types/helper.js";
|
|
4
|
+
import { TaxiCar } from "./TaxiCar.js";
|
|
5
|
+
const RANDOM_CARS_RADIUS = 300;
|
|
6
|
+
const RANDOM_CARS_COUNT = 2;
|
|
7
|
+
const createRandomPoint = (center, radius) => {
|
|
8
|
+
const [lng, lat] = center;
|
|
9
|
+
const R_EARTH_METERS = 6371e3;
|
|
10
|
+
const randomAngle = Math.random() * 2 * Math.PI;
|
|
11
|
+
const randomRadiusInMeters = radius * Math.sqrt(Math.random());
|
|
12
|
+
const dx = randomRadiusInMeters * Math.cos(randomAngle);
|
|
13
|
+
const dy = randomRadiusInMeters * Math.sin(randomAngle);
|
|
14
|
+
const dLat = dy / R_EARTH_METERS;
|
|
15
|
+
const centerLatRadians = lat * (Math.PI / 180);
|
|
16
|
+
const dLng = dx / (R_EARTH_METERS * Math.cos(centerLatRadians));
|
|
17
|
+
return [lng + dLng * (180 / Math.PI), lat + dLat * (180 / Math.PI)];
|
|
18
|
+
};
|
|
19
|
+
const useRandomCars = (center) => {
|
|
20
|
+
return computed(() => {
|
|
21
|
+
return Array.from({
|
|
22
|
+
length: RANDOM_CARS_COUNT
|
|
23
|
+
}).map(() => {
|
|
24
|
+
const position = createRandomPoint(center, RANDOM_CARS_RADIUS);
|
|
25
|
+
const angle = Math.random() * 360;
|
|
26
|
+
return {
|
|
27
|
+
position,
|
|
28
|
+
angle
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
const RandomCars = defineSetup("RandomCars", function(props) {
|
|
34
|
+
const {
|
|
35
|
+
center
|
|
36
|
+
} = props;
|
|
37
|
+
const randomCarsRef = useRandomCars(center);
|
|
38
|
+
return () => h("div", [randomCarsRef.value.map((car) => h(TaxiCar, {
|
|
39
|
+
"attrs": {
|
|
40
|
+
"position": car.position,
|
|
41
|
+
"angle": car.angle
|
|
42
|
+
}
|
|
43
|
+
}))]);
|
|
44
|
+
});
|
|
45
|
+
export {
|
|
46
|
+
RandomCars
|
|
47
|
+
};
|
package/dist/v2/chunks/{BusinessRecomendPlaceMap.8a4a1015.js → BusinessRecomendPlaceMap.eebd0822.js}
RENAMED
|
@@ -26,6 +26,7 @@ import { DeviceOrientation } from "../business-components/DeviceOrientation/Devi
|
|
|
26
26
|
import { GreenZone } from "../business-components/GreenZone/GreenZone.js";
|
|
27
27
|
import { PassengerCircle } from "../business-components/PassengerCircle/PassengerCircle.js";
|
|
28
28
|
import { PickupPoints } from "../business-components/PickupPoints/PickupPoints.js";
|
|
29
|
+
import { RandomCars } from "../business-components/TaxiCar/RandomCars.js";
|
|
29
30
|
import { useCacheCenterPlace } from "../business-components/BusinessRecomendPlaceMap/useCacheCenterPlace.js";
|
|
30
31
|
import { b as baseGetTag, r as root } from "./isSymbol.555c14bf.js";
|
|
31
32
|
import { i as isObject } from "./debounce.5afe7867.js";
|
|
@@ -286,8 +287,7 @@ const BusinessRecomendPlaceMapInner = defineSetup("BusinessRecomendPlaceMapInner
|
|
|
286
287
|
geoErrorOnceNotificationKey = `BusinessRecomendPlaceMap_${Date.now()}`,
|
|
287
288
|
getAvailable: inputGetAvailable,
|
|
288
289
|
getRecomendPlace: inputGetRecomendPlace,
|
|
289
|
-
mapContext
|
|
290
|
-
skipWaitGeo
|
|
290
|
+
mapContext
|
|
291
291
|
} = props;
|
|
292
292
|
const abortController = new AbortController();
|
|
293
293
|
const {
|
|
@@ -337,8 +337,7 @@ const BusinessRecomendPlaceMapInner = defineSetup("BusinessRecomendPlaceMapInner
|
|
|
337
337
|
} = useCacheCenterPlace({
|
|
338
338
|
defaultCenterPlace: props.defaultCenterPlace,
|
|
339
339
|
emptyTitle,
|
|
340
|
-
geoLoadingTitle
|
|
341
|
-
skipWaitGeo
|
|
340
|
+
geoLoadingTitle
|
|
342
341
|
});
|
|
343
342
|
const centerSource = {
|
|
344
343
|
source: "default"
|
|
@@ -558,6 +557,7 @@ const BusinessRecomendPlaceMapInner = defineSetup("BusinessRecomendPlaceMapInner
|
|
|
558
557
|
recomendDescription,
|
|
559
558
|
unavailableTitle,
|
|
560
559
|
forbiddenTitle,
|
|
560
|
+
enableNearbyCars,
|
|
561
561
|
disableLocator,
|
|
562
562
|
renderPlacePhoto,
|
|
563
563
|
renderPlaceTag
|
|
@@ -620,6 +620,10 @@ const BusinessRecomendPlaceMapInner = defineSetup("BusinessRecomendPlaceMapInner
|
|
|
620
620
|
"on": {
|
|
621
621
|
"click": panToCenterByPlace
|
|
622
622
|
}
|
|
623
|
+
}), !!enableNearbyCars && zoomRef.value >= RECOMMEND_PLACE_ZONE_ICON_MIN && h(RandomCars, {
|
|
624
|
+
"attrs": {
|
|
625
|
+
"center": [centerPlace.lng, centerPlace.lat]
|
|
626
|
+
}
|
|
623
627
|
})]);
|
|
624
628
|
};
|
|
625
629
|
});
|
|
@@ -642,7 +646,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup("BusinessRecomendPlaceMap", f
|
|
|
642
646
|
key: `${payload.supplier}${instanceNo}`,
|
|
643
647
|
on: generateCreateElementV2PropsOn(props, emit, ["loadGeoLocation", "loadDefaultGeoLocation", "changeByDrag", "changeGeoLocation", "changePlace", "changeRecomandPlace", "geoError", "geoErrorOnce", "clickLocatorText", "clickLocatorPhoto"])
|
|
644
648
|
});
|
|
645
|
-
}).props(["log", "geoLoadingTitle", "emptyTitle", "queryingTitle", "defaultCenterPlace", "
|
|
649
|
+
}).props(["log", "geoLoadingTitle", "emptyTitle", "queryingTitle", "defaultCenterPlace", "geoErrorOnceNotificationKey", "unavailableTitle", "forbiddenTitle", "recomendDescription", "enableNearbyCars", "disableLocator", "fallback", "getRecomendPlace", "getAvailable", "renderPlacePhoto", "renderPlaceTag", "loading", "mapContext"]);
|
|
646
650
|
export {
|
|
647
651
|
BusinessRecomendPlaceMap as B,
|
|
648
652
|
DEFAULT_ZOOM as D,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "../css/Loading-49e58ced.css";
|
|
2
|
-
import {
|
|
2
|
+
import { h } from "vue";
|
|
3
3
|
import { ICON_LOAD_FAILED_URL } from "../api/cdn.js";
|
|
4
4
|
import { AbsoluteAddressBox } from "../business-components/AbsoluteAddressBox/AbsoluteAddressBox.js";
|
|
5
5
|
import { useMapSupplier } from "../hooks/useMapSupplier.js";
|
|
@@ -14,38 +14,58 @@ var loadingBg = "_17ify491";
|
|
|
14
14
|
var loadingLayout = "_17ify490";
|
|
15
15
|
var title = "_17ify495";
|
|
16
16
|
var verticalGap = "_17ify494";
|
|
17
|
-
const Loading = defineSetup("Loading", function(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
17
|
+
const Loading = defineSetup("Loading", function(_, {
|
|
18
|
+
attrs
|
|
19
|
+
}) {
|
|
20
|
+
return () => {
|
|
21
|
+
var _a;
|
|
22
|
+
return h("div", {
|
|
23
|
+
"class": `${loadingLayout} ${(_a = attrs.class) != null ? _a : ""}`,
|
|
24
|
+
"style": attrs.style
|
|
25
|
+
}, [h("img", {
|
|
26
|
+
"class": loadingBg,
|
|
27
|
+
"attrs": {
|
|
28
|
+
"src": imgGrid
|
|
29
|
+
}
|
|
30
|
+
}), h(AbsoluteAddressBox, {
|
|
31
|
+
"attrs": {
|
|
32
|
+
"type": "loading",
|
|
33
|
+
"title": ""
|
|
34
|
+
}
|
|
35
|
+
})]);
|
|
36
|
+
};
|
|
27
37
|
});
|
|
28
|
-
const LoadFailed = defineSetup("LoadFailed", function(props
|
|
38
|
+
const LoadFailed = defineSetup("LoadFailed", function(props, {
|
|
39
|
+
attrs
|
|
40
|
+
}) {
|
|
29
41
|
var _a, _b;
|
|
30
42
|
const {
|
|
31
43
|
themeVariables
|
|
32
44
|
} = useMapSupplier();
|
|
33
45
|
const icon = (_b = (_a = props.icon) != null ? _a : themeVariables == null ? void 0 : themeVariables.ICON_LOAD_FAILED_URL) != null ? _b : ICON_LOAD_FAILED_URL;
|
|
34
|
-
return () =>
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
return () => {
|
|
47
|
+
var _a2;
|
|
48
|
+
return h("div", {
|
|
49
|
+
"class": `${loadingLayout} ${(_a2 = attrs.class) != null ? _a2 : ""}`,
|
|
50
|
+
"style": attrs.style
|
|
51
|
+
}, [h("img", {
|
|
52
|
+
"class": loadingBg,
|
|
53
|
+
"attrs": {
|
|
54
|
+
"src": imgGrid
|
|
55
|
+
}
|
|
56
|
+
}), h("div", {
|
|
57
|
+
"class": contentLayout
|
|
58
|
+
}, [h(SvgInlineWebComponentTag, {
|
|
59
|
+
"class": iconLoadFailed,
|
|
60
|
+
"attrs": {
|
|
61
|
+
"src": icon
|
|
62
|
+
}
|
|
63
|
+
}), h("span", {
|
|
64
|
+
"class": `${title} ${verticalGap}`
|
|
65
|
+
}, [props.title]), h("span", {
|
|
66
|
+
"class": `${description} ${verticalGap}`
|
|
67
|
+
}, [props.description])])]);
|
|
68
|
+
};
|
|
49
69
|
});
|
|
50
70
|
export {
|
|
51
71
|
LoadFailed as L,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "vue";
|
|
2
2
|
import "../../api/cdn.js";
|
|
3
|
-
import { L, a } from "../../chunks/Loading.
|
|
3
|
+
import { L, a } from "../../chunks/Loading.8aa3aad3.js";
|
|
4
4
|
import "../../business-components/AbsoluteAddressBox/AbsoluteAddressBox.js";
|
|
5
5
|
import "../../hooks/useMapSupplier.js";
|
|
6
6
|
import "../../types/helper.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../../css/MapProvider-156bfd53.css";
|
|
2
2
|
import { h } from "vue";
|
|
3
3
|
import { reactive, toRefs } from "vue-demi";
|
|
4
|
-
import { L as LoadFailed, a as Loading, i as imgGrid } from "../../chunks/Loading.
|
|
4
|
+
import { L as LoadFailed, a as Loading, i as imgGrid } from "../../chunks/Loading.8aa3aad3.js";
|
|
5
5
|
import { useMapLoader, Status } from "../../hooks/useMapLoader.js";
|
|
6
6
|
import { provideMapSupplier, useMapSupplier } from "../../hooks/useMapSupplier.js";
|
|
7
7
|
import { defineLagecySetup } from "../../types/helper.js";
|
|
@@ -80,7 +80,7 @@ const HeycarMap = defineLagecySetup("HeycarMap", function(props, {
|
|
|
80
80
|
});
|
|
81
81
|
loadTraditionalChineseConvertOnce(payload.language === "zh-TW");
|
|
82
82
|
return () => {
|
|
83
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
83
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
84
84
|
const {
|
|
85
85
|
supplier,
|
|
86
86
|
gmapId,
|
|
@@ -99,19 +99,30 @@ const HeycarMap = defineLagecySetup("HeycarMap", function(props, {
|
|
|
99
99
|
const node = (_a = slots.fallback) == null ? void 0 : _a.call(slots);
|
|
100
100
|
const title = (_b = payload.renderLoadFailedTitle) == null ? void 0 : _b.call(payload, status);
|
|
101
101
|
const description = (_c = payload.renderLoadFailedDescription) == null ? void 0 : _c.call(payload, status);
|
|
102
|
-
return node ? h("div",
|
|
102
|
+
return node ? h("div", {
|
|
103
|
+
"class": (_d = attrs.class) != null ? _d : "",
|
|
104
|
+
"style": attrs.style
|
|
105
|
+
}, [node]) : h(LoadFailed, {
|
|
106
|
+
"class": (_e = attrs.class) != null ? _e : "",
|
|
103
107
|
"attrs": {
|
|
104
108
|
"title": title,
|
|
105
109
|
"description": description
|
|
106
|
-
}
|
|
110
|
+
},
|
|
111
|
+
"style": attrs.style
|
|
107
112
|
});
|
|
108
113
|
}
|
|
109
114
|
if (status === Status.LOADING || status === Status.SUCCESS && pingStatus === "pending") {
|
|
110
|
-
const node = (
|
|
111
|
-
return node ? h("div",
|
|
115
|
+
const node = (_f = slots.loading) == null ? void 0 : _f.call(slots);
|
|
116
|
+
return node ? h("div", {
|
|
117
|
+
"class": (_g = attrs.class) != null ? _g : "",
|
|
118
|
+
"style": attrs.style
|
|
119
|
+
}, [node]) : h(Loading, {
|
|
120
|
+
"class": (_h = attrs.class) != null ? _h : "",
|
|
121
|
+
"style": attrs.style
|
|
122
|
+
});
|
|
112
123
|
}
|
|
113
|
-
const children = (
|
|
114
|
-
const outArea = (
|
|
124
|
+
const children = (_i = slots.default) == null ? void 0 : _i.call(slots);
|
|
125
|
+
const outArea = (_j = slots.outerArea) == null ? void 0 : _j.call(slots);
|
|
115
126
|
switch (supplier) {
|
|
116
127
|
case "gmap": {
|
|
117
128
|
const renderingType = compatibleGmapRenderingType({
|
|
@@ -119,7 +130,7 @@ const HeycarMap = defineLagecySetup("HeycarMap", function(props, {
|
|
|
119
130
|
touchZoomCenter
|
|
120
131
|
});
|
|
121
132
|
return h("div", {
|
|
122
|
-
"class": `${heycarMap} ${(
|
|
133
|
+
"class": `${heycarMap} ${(_k = attrs.class) != null ? _k : ""}`,
|
|
123
134
|
"attrs": {
|
|
124
135
|
"lang": language
|
|
125
136
|
},
|
|
@@ -154,7 +165,7 @@ const HeycarMap = defineLagecySetup("HeycarMap", function(props, {
|
|
|
154
165
|
}
|
|
155
166
|
default:
|
|
156
167
|
return h("div", {
|
|
157
|
-
"class": `${heycarMap} ${(
|
|
168
|
+
"class": `${heycarMap} ${(_l = attrs.class) != null ? _l : ""}`,
|
|
158
169
|
"attrs": {
|
|
159
170
|
"lang": language
|
|
160
171
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CoordinateGeoPosition, type CoordinatePlace, type CoordinatePoint, type CoordinateRecommendZonePlaces, type CoordinateTrackPoint, type CoordinateValueOfOnChangeRecommendPlace, type CoordinateZone, type GeoPosition, type Place, type Point, type RecommendZonePlaces, type TrackPoint, type ValueOfOnChangeRecommendPlace, type Zone } from "../types/interface";
|
|
1
|
+
import { type CoordinateExternalRoute, type CoordinateGeoPosition, type CoordinatePlace, type CoordinatePoint, type CoordinateRecommendZonePlaces, type CoordinateTrackPoint, type CoordinateValueOfOnChangeRecommendPlace, type CoordinateZone, type ExternalRoute, type GeoPosition, type Place, type Point, type RecommendZonePlaces, type TrackPoint, type ValueOfOnChangeRecommendPlace, type Zone } from "../types/interface";
|
|
2
2
|
export declare function useMapCoordinatify(): {
|
|
3
3
|
coordinatifyPoint: (value: Point) => CoordinatePoint;
|
|
4
4
|
unCoordinatifyPoint: (value: CoordinatePoint) => Point;
|
|
@@ -12,4 +12,5 @@ export declare function useMapCoordinatify(): {
|
|
|
12
12
|
unCoordinatifyValueOfOnChangeRecommendPlace: (value: CoordinateValueOfOnChangeRecommendPlace) => ValueOfOnChangeRecommendPlace;
|
|
13
13
|
coordinatifyGeoPosition: (value: GeoPosition) => CoordinateGeoPosition;
|
|
14
14
|
unCoordinatifyTrackPoint: (value: CoordinateTrackPoint) => TrackPoint;
|
|
15
|
+
unCoordinatifyExternalRoute: (value: CoordinateExternalRoute) => ExternalRoute;
|
|
15
16
|
};
|
|
@@ -74,6 +74,10 @@ function useMapCoordinatify() {
|
|
|
74
74
|
const [lng, lat] = unCoordinatifyPoint(value);
|
|
75
75
|
return { ...others, lng, lat };
|
|
76
76
|
};
|
|
77
|
+
const unCoordinatifyExternalRoute = (value) => {
|
|
78
|
+
const { path, duration, distance } = value;
|
|
79
|
+
return { path: path.map(unCoordinatifyPoint), duration, distance };
|
|
80
|
+
};
|
|
77
81
|
const coordinatifyGeoPosition = (value) => {
|
|
78
82
|
return {
|
|
79
83
|
...value,
|
|
@@ -92,7 +96,8 @@ function useMapCoordinatify() {
|
|
|
92
96
|
coordinatifyValueOfOnChangeRecommendPlace,
|
|
93
97
|
unCoordinatifyValueOfOnChangeRecommendPlace,
|
|
94
98
|
coordinatifyGeoPosition,
|
|
95
|
-
unCoordinatifyTrackPoint
|
|
99
|
+
unCoordinatifyTrackPoint,
|
|
100
|
+
unCoordinatifyExternalRoute
|
|
96
101
|
};
|
|
97
102
|
}
|
|
98
103
|
export {
|
|
@@ -549,7 +549,7 @@ var dist = {
|
|
|
549
549
|
});
|
|
550
550
|
})(dist);
|
|
551
551
|
const MIN_MAP_RELOAD_INTERVAL = 5e3;
|
|
552
|
-
const
|
|
552
|
+
const MIN_GMAP_LOAD_RESET_THRESHOLD = 1e3;
|
|
553
553
|
const DEFAULT_AMAP_PLUGINS = [
|
|
554
554
|
"AMap.Geocoder",
|
|
555
555
|
"AMap.Driving",
|
|
@@ -608,7 +608,7 @@ const useAmapLoader = (props) => {
|
|
|
608
608
|
if (statusRef.value === "SUCCESS")
|
|
609
609
|
return Promise.resolve();
|
|
610
610
|
defineSecurityOnce();
|
|
611
|
-
|
|
611
|
+
distExports.reset();
|
|
612
612
|
statusRef.value = "LOADING";
|
|
613
613
|
setTimeout(preloadAmapStyleOnce);
|
|
614
614
|
const startTime = Date.now();
|
|
@@ -651,7 +651,7 @@ const useAmapLoader = (props) => {
|
|
|
651
651
|
watchPostEffectForDeepOption(() => [optionsRef.value, disableRef == null ? void 0 : disableRef.value], keepRetry);
|
|
652
652
|
return { statusRef, pingStatusRef, readyPromise };
|
|
653
653
|
};
|
|
654
|
-
const throttledExecute = throttle((fn) => fn(),
|
|
654
|
+
const throttledExecute = throttle((fn) => fn(), MIN_GMAP_LOAD_RESET_THRESHOLD, {
|
|
655
655
|
trailing: false
|
|
656
656
|
});
|
|
657
657
|
const useGmapLoader = (props) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { reactive, ref, readonly } from "vue-demi";
|
|
2
|
-
import { E as EMPTY_PLACE } from "../chunks/BusinessRecomendPlaceMap.
|
|
2
|
+
import { E as EMPTY_PLACE } from "../chunks/BusinessRecomendPlaceMap.eebd0822.js";
|
|
3
3
|
import { CenterPlaceStatus } from "../types/interface.js";
|
|
4
4
|
import { proxyFunctionalProperty, assertAssingedBeforeUsed } from "../utils/helper.js";
|
|
5
5
|
const useBusinessRecomendPlaceMap = () => {
|
package/dist/v2/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import "./utils/alipayPolyfill.js";
|
|
|
2
2
|
import { isCoordinatePointEqual } from "./api/geometry.js";
|
|
3
3
|
import { AbsoluteAddressBox } from "./business-components/AbsoluteAddressBox/AbsoluteAddressBox.js";
|
|
4
4
|
import { BusinessQuotingMap } from "./business-components/BusinessQuotingMap/BusinessQuotingMap.js";
|
|
5
|
-
import { B } from "./chunks/BusinessRecomendPlaceMap.
|
|
5
|
+
import { B } from "./chunks/BusinessRecomendPlaceMap.eebd0822.js";
|
|
6
6
|
import { BusinessReselectPlaceMap } from "./business-components/BusinessReselectPlaceMap/BusinessReselectPlaceMap.js";
|
|
7
7
|
import { BusinessTaxiEndMap } from "./business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.js";
|
|
8
8
|
import { BusinessTaxiServiceMap } from "./business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.js";
|
|
@@ -80,6 +80,11 @@ export interface Route {
|
|
|
80
80
|
steps: RouteStep[];
|
|
81
81
|
trafficJams?: TrafficJams;
|
|
82
82
|
}
|
|
83
|
+
export interface ExternalRoute {
|
|
84
|
+
path: Point[];
|
|
85
|
+
duration: number;
|
|
86
|
+
distance: number;
|
|
87
|
+
}
|
|
83
88
|
export interface TrackPoint {
|
|
84
89
|
lng: number;
|
|
85
90
|
lat: number;
|
|
@@ -90,6 +95,13 @@ export interface TrackPoint {
|
|
|
90
95
|
export interface CoordinateTrackPoint extends TrackPoint {
|
|
91
96
|
type: CoordinateType;
|
|
92
97
|
}
|
|
98
|
+
export interface CoordinateExternalRoute extends Omit<ExternalRoute, "path"> {
|
|
99
|
+
path: CoordinatePoint[];
|
|
100
|
+
}
|
|
101
|
+
export type GetDriverRouteOrTrackOutput = {
|
|
102
|
+
routes?: CoordinateExternalRoute;
|
|
103
|
+
tracks?: CoordinateTrackPoint[];
|
|
104
|
+
};
|
|
93
105
|
export type RecommendType = "Restricted" | "Forbidden" | "Recommend";
|
|
94
106
|
export type DriverStatus = "dispatching" | "book-dispatching" | "dispatched" | "driverStartService" | "driverStartRelayService" | "book-driverStartService" | "book-dispatched" | "driverArrived" | "inService" | "canceled" | "endService" | "completed" | "canceling" | "banlanceRefund" | "waitBanlanceRefund" | "rechargePayed" | "waitRechargePay" | "payed" | "waitpay" | "refund" | "confirmed" | "assign" | "orderReassigned";
|
|
95
107
|
export declare enum CenterPlaceStatus {
|
|
@@ -9,3 +9,12 @@ export declare const distanceBetweenTwoPoints: (from: Point, to: Point) => numbe
|
|
|
9
9
|
* 计算折线(按顺序连接各点)总长度。
|
|
10
10
|
*/
|
|
11
11
|
export declare const computeLineLength: (line: Point[]) => number;
|
|
12
|
+
/**
|
|
13
|
+
* 计算从起点指向终点的初始方位角(heading)。
|
|
14
|
+
* 说明:
|
|
15
|
+
* - 基于球面大圆航线计算(WGS84 半径近似),与常见地图 SDK 的 heading 含义一致
|
|
16
|
+
* - 返回范围为 [-180, 180](度):0 表示正北,正值为东偏北,负值为西偏南
|
|
17
|
+
* - 起终点经纬完全相同返回 0
|
|
18
|
+
* @returns 初始方位角(度)
|
|
19
|
+
*/
|
|
20
|
+
export declare const computeLineAngle: (from: Point, to: Point) => number;
|
|
@@ -47,7 +47,26 @@ const computeLineLength = (line) => {
|
|
|
47
47
|
}
|
|
48
48
|
return totalLength;
|
|
49
49
|
};
|
|
50
|
+
const computeLineAngle = (from, to) => {
|
|
51
|
+
const [lng1, lat1] = from;
|
|
52
|
+
const [lng2, lat2] = to;
|
|
53
|
+
if (lng1 === lng2 && lat1 === lat2)
|
|
54
|
+
return 0;
|
|
55
|
+
const toRad = (deg) => deg * Math.PI / 180;
|
|
56
|
+
const toDeg = (rad) => rad * 180 / Math.PI;
|
|
57
|
+
const phi1 = toRad(lat1);
|
|
58
|
+
const phi2 = toRad(lat2);
|
|
59
|
+
const lambda1 = toRad(lng1);
|
|
60
|
+
const lambda2 = toRad(lng2);
|
|
61
|
+
const deltaLambda = lambda2 - lambda1;
|
|
62
|
+
const y = Math.sin(deltaLambda) * Math.cos(phi2);
|
|
63
|
+
const x = Math.cos(phi1) * Math.sin(phi2) - Math.sin(phi1) * Math.cos(phi2) * Math.cos(deltaLambda);
|
|
64
|
+
let heading = toDeg(Math.atan2(y, x));
|
|
65
|
+
heading = (heading + 540) % 360 - 180;
|
|
66
|
+
return heading;
|
|
67
|
+
};
|
|
50
68
|
export {
|
|
69
|
+
computeLineAngle,
|
|
51
70
|
computeLineLength,
|
|
52
71
|
distanceBetweenTwoPoints,
|
|
53
72
|
pointInPolygon
|
package/dist/v2/utils/log.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const availableLogKeys = /* @__PURE__ */ new Set();
|
|
2
2
|
const pkgName = "@heycar/heycars-map";
|
|
3
|
-
const pkgVersion = "2.
|
|
3
|
+
const pkgVersion = "2.15.0-domestic2";
|
|
4
4
|
const spaceLogSessionKey = "wiajlf;jwiatitruiq3jrlw";
|
|
5
5
|
const enableSessionLogKey = (key) => {
|
|
6
6
|
const sessionParam = new URLSearchParams(sessionStorage.getItem(spaceLogSessionKey) || void 0);
|
|
@@ -5,6 +5,7 @@ var BRWOSER_PLATFORM = /* @__PURE__ */ ((BRWOSER_PLATFORM2) => {
|
|
|
5
5
|
BRWOSER_PLATFORM2["ALIPAY_MINIPROGRAM"] = "ALIPAY_MINIPROGRAM";
|
|
6
6
|
BRWOSER_PLATFORM2["H5"] = "H5";
|
|
7
7
|
BRWOSER_PLATFORM2["NODE_JS"] = "NODE_JS";
|
|
8
|
+
BRWOSER_PLATFORM2["ENTERPRISE_WECHAT"] = "ENTERPRISE_WECHAT";
|
|
8
9
|
return BRWOSER_PLATFORM2;
|
|
9
10
|
})(BRWOSER_PLATFORM || {});
|
|
10
11
|
var OS_PLATFORM = /* @__PURE__ */ ((OS_PLATFORM2) => {
|
|
@@ -39,7 +40,7 @@ const detectBrowserPlatform = () => {
|
|
|
39
40
|
return "NODE_JS";
|
|
40
41
|
const useragent = navigator.userAgent.toLowerCase();
|
|
41
42
|
if (useragent.includes("micromessenger")) {
|
|
42
|
-
return useragent.includes("miniprogram") ? "WECHAT_MINIPROGRAM" : "WECHAT";
|
|
43
|
+
return useragent.includes("miniprogram") ? "WECHAT_MINIPROGRAM" : useragent.includes("wxwork") ? "ENTERPRISE_WECHAT" : "WECHAT";
|
|
43
44
|
}
|
|
44
45
|
if (useragent.includes("alipay") || detectAlipayWallet()) {
|
|
45
46
|
return useragent.includes("miniprogram") ? "ALIPAY_MINIPROGRAM" : "ALIPAY";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CoordinatePlace, CoordinatePoint, CoordinateRecommendZonePlaces, CoordinateTrackPoint, CoordinateType, CoordinateZone, ProxyServiceError, RecommendType } from "../types/interface";
|
|
1
|
+
import type { CoordinateExternalRoute, CoordinatePlace, CoordinatePoint, CoordinateRecommendZonePlaces, CoordinateTrackPoint, CoordinateType, CoordinateZone, ProxyServiceError, RecommendType } from "../types/interface";
|
|
2
2
|
export declare const createTypeError: (typeName: string, value: unknown, detail?: string) => Error;
|
|
3
3
|
export declare function isCoordinateType(type: unknown): type is CoordinateType;
|
|
4
4
|
export declare function isRecommendType(type: unknown): type is RecommendType;
|
|
@@ -41,6 +41,12 @@ interface MaybeCoordinateTrackPoint {
|
|
|
41
41
|
timestamp?: number | string;
|
|
42
42
|
}
|
|
43
43
|
export declare const toCoordinateTrackPoint: (value?: MaybeCoordinateTrackPoint) => CoordinateTrackPoint;
|
|
44
|
+
interface MaybeCoordinateExternalRoute {
|
|
45
|
+
path?: MaybeCoordinatePoint[];
|
|
46
|
+
duration?: number | string | null;
|
|
47
|
+
distance?: number | string | null;
|
|
48
|
+
}
|
|
49
|
+
export declare const toCoordinateExternalRoute: (maybeCoordinateExternalRoute?: MaybeCoordinateExternalRoute) => CoordinateExternalRoute;
|
|
44
50
|
export declare function isProxyServiceError(error: unknown): error is ProxyServiceError;
|
|
45
51
|
export declare function toGeolocationPositionError(error: unknown, prefix?: string): GeolocationPositionError;
|
|
46
52
|
/**
|
|
@@ -107,6 +107,23 @@ const toCoordinateTrackPoint = (value) => {
|
|
|
107
107
|
}
|
|
108
108
|
return { lng, lat, type, angle, speed, timestamp };
|
|
109
109
|
};
|
|
110
|
+
const toCoordinateExternalRoute = (maybeCoordinateExternalRoute) => {
|
|
111
|
+
var _a;
|
|
112
|
+
try {
|
|
113
|
+
if (!maybeCoordinateExternalRoute)
|
|
114
|
+
throw Error();
|
|
115
|
+
const duration = Number(maybeCoordinateExternalRoute.duration);
|
|
116
|
+
const distance = Number(maybeCoordinateExternalRoute.distance);
|
|
117
|
+
if (isNaN(duration) || isNaN(distance))
|
|
118
|
+
throw Error();
|
|
119
|
+
if (!Array.isArray(maybeCoordinateExternalRoute.path))
|
|
120
|
+
throw Error();
|
|
121
|
+
const path = (_a = maybeCoordinateExternalRoute.path) == null ? void 0 : _a.map(toCoordinatePointType);
|
|
122
|
+
return { path, duration, distance };
|
|
123
|
+
} catch (err) {
|
|
124
|
+
throw createTypeError("CoordinateExternalRoute", maybeCoordinateExternalRoute, err == null ? void 0 : err.message);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
110
127
|
function isProxyServiceError(error) {
|
|
111
128
|
return !!error && typeof error === "object" && "msg" in error && "code" in error;
|
|
112
129
|
}
|
|
@@ -172,6 +189,7 @@ export {
|
|
|
172
189
|
isCoordinateType,
|
|
173
190
|
isProxyServiceError,
|
|
174
191
|
isRecommendType,
|
|
192
|
+
toCoordinateExternalRoute,
|
|
175
193
|
toCoordinatePlaceType,
|
|
176
194
|
toCoordinatePointType,
|
|
177
195
|
toCoordinateRecommendZonePlacesType,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createVNode } from "vue";
|
|
2
|
-
import { B as BusinessRecomendPlaceMap } from "../chunks/BusinessRecomendPlaceMap.
|
|
2
|
+
import { B as BusinessRecomendPlaceMap } from "../chunks/BusinessRecomendPlaceMap.71c439c6.js";
|
|
3
3
|
import { useBusinessRecomendPlaceMap } from "../hooks-business/useBusinessRecomendPlaceMap.js";
|
|
4
4
|
import { defineSetup } from "../types/helper.js";
|
|
5
5
|
import { d as demo } from "../chunks/Demo.css.e921a2f6.js";
|
|
@@ -123,6 +123,7 @@ const DemoBusinessRecomendPlace = defineSetup("DemoBusinessRecomendPlace", funct
|
|
|
123
123
|
name: "default place name",
|
|
124
124
|
displayName: "default place displayName"
|
|
125
125
|
},
|
|
126
|
+
"enableNearbyCars": true,
|
|
126
127
|
"getAvailable": () => Promise.resolve(true),
|
|
127
128
|
"getRecomendPlace": getRecomendPlace,
|
|
128
129
|
"renderPlacePhoto": (place) => {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type CoordinatePlace } from "../types/interface";
|
|
1
|
+
import { type CoordinatePlace, type CoordinatePoint } from "../types/interface";
|
|
2
2
|
export declare const DemoBusinessTaxiEnd: import("vue-demi").DefineComponent<{}, {}, {
|
|
3
3
|
from: CoordinatePlace;
|
|
4
4
|
to: CoordinatePlace;
|
|
5
|
+
path: CoordinatePoint[];
|
|
5
6
|
contentHeight: number;
|
|
6
7
|
}, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").PublicProps, Readonly<import("vue-demi").ExtractPropTypes<{}>>, {}, {}>;
|
|
@@ -2,6 +2,7 @@ import { createVNode, createTextVNode } from "vue";
|
|
|
2
2
|
import { defineComponent } from "vue-demi";
|
|
3
3
|
import { BusinessTaxiEndMap } from "../business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.js";
|
|
4
4
|
import { l as layout, a as adjustedDemo } from "../chunks/Demo.css.e921a2f6.js";
|
|
5
|
+
import { mockPath } from "./demo.data.mock.js";
|
|
5
6
|
const DemoBusinessTaxiEnd = /* @__PURE__ */ defineComponent({
|
|
6
7
|
name: "DemoBusinessTaxiEnd",
|
|
7
8
|
data() {
|
|
@@ -20,6 +21,7 @@ const DemoBusinessTaxiEnd = /* @__PURE__ */ defineComponent({
|
|
|
20
21
|
displayName: "",
|
|
21
22
|
type: "wgs84"
|
|
22
23
|
},
|
|
24
|
+
path: [],
|
|
23
25
|
contentHeight: 200
|
|
24
26
|
};
|
|
25
27
|
},
|
|
@@ -43,19 +45,24 @@ const DemoBusinessTaxiEnd = /* @__PURE__ */ defineComponent({
|
|
|
43
45
|
setTimeout(() => {
|
|
44
46
|
this.contentHeight = 600;
|
|
45
47
|
}, 2500);
|
|
48
|
+
setTimeout(() => {
|
|
49
|
+
this.path = [...mockPath];
|
|
50
|
+
}, 3500);
|
|
46
51
|
},
|
|
47
52
|
render() {
|
|
48
53
|
const {
|
|
49
54
|
from,
|
|
50
55
|
to,
|
|
51
|
-
contentHeight
|
|
56
|
+
contentHeight,
|
|
57
|
+
path
|
|
52
58
|
} = this;
|
|
53
59
|
return createVNode("div", {
|
|
54
60
|
"class": layout
|
|
55
61
|
}, [createVNode("div", null, [JSON.stringify(from), createTextVNode(" | "), JSON.stringify(to)]), createVNode(BusinessTaxiEndMap, {
|
|
56
62
|
"class": adjustedDemo,
|
|
57
63
|
"from": from,
|
|
58
|
-
"to": to
|
|
64
|
+
"to": to,
|
|
65
|
+
"path": path
|
|
59
66
|
}, null), createVNode("div", {
|
|
60
67
|
"style": {
|
|
61
68
|
height: `${contentHeight}px`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CoordinatePlace, type CoordinateTrackPoint, type DriverStatus } from "../types/interface";
|
|
1
|
+
import { type CoordinatePlace, type CoordinatePoint, type CoordinateTrackPoint, type DriverStatus, type GetDriverRouteOrTrackOutput } from "../types/interface";
|
|
2
2
|
export declare const DemoBusinessTaxiService: import("vue-demi").DefineComponent<{}, {
|
|
3
3
|
mapContext: import("../hooks-business/useBusinessTaxiServiceMap").BusinessTaxiServiceContext;
|
|
4
4
|
}, {
|
|
@@ -7,6 +7,9 @@ export declare const DemoBusinessTaxiService: import("vue-demi").DefineComponent
|
|
|
7
7
|
relayTo: Partial<CoordinatePlace>;
|
|
8
8
|
status: DriverStatus;
|
|
9
9
|
contentHeight: number;
|
|
10
|
+
confirmedPath: CoordinatePoint[];
|
|
11
|
+
endServicePath: CoordinatePoint[];
|
|
10
12
|
}, {}, {
|
|
11
13
|
getDriverPositionTrack(): Promise<CoordinateTrackPoint[]>;
|
|
14
|
+
getDriverRouteOrTrack(): Promise<GetDriverRouteOrTrackOutput>;
|
|
12
15
|
}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").PublicProps, Readonly<import("vue-demi").ExtractPropTypes<{}>>, {}, {}>;
|