@heycar/heycars-map 0.9.1 → 0.9.3
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/index.cjs +331 -312
- package/dist/index.js +331 -312
- package/dist/src/Demo/DemoBusinessTaxiEnd.d.ts +12 -2
- package/dist/src/api/contants.d.ts +3 -0
- package/dist/src/business-components/StartEndPoint/StartEndPoint.d.ts +1 -0
- package/dist/src/components/Amap/Amap.d.ts +1 -1
- package/dist/src/hooks/useMapGeometry.d.ts +3 -0
- package/dist/src/hooks/useMapLoader.d.ts +1 -1
- package/dist/src/hooks/useMapPlace.d.ts +3 -0
- package/dist/src/hooks/useMapRecomendPlace.d.ts +8 -50
- package/dist/src/hooks/useMapZoom.d.ts +2 -2
- package/dist/src/utils/helper.d.ts +4 -3
- package/dist/src/utils/transform.d.ts +4 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ var __publicField = (obj, key, value) => {
|
|
|
7
7
|
import Vue, { defineComponent, h, computed, inject, provide, watch, onMounted, onUnmounted, watchPostEffect, shallowRef, ref, watchEffect, reactive, toRefs, toRef } from "vue";
|
|
8
8
|
const style = "";
|
|
9
9
|
const name = "@heycar/heycars-map";
|
|
10
|
-
const version = "0.9.
|
|
10
|
+
const version = "0.9.3";
|
|
11
11
|
const type = "module";
|
|
12
12
|
const scripts = {
|
|
13
13
|
dev: "vite -c vite.config.dev.ts",
|
|
@@ -1098,16 +1098,24 @@ const isPlace = (place) => {
|
|
|
1098
1098
|
return place.lng !== void 0 && place.lat !== void 0;
|
|
1099
1099
|
};
|
|
1100
1100
|
const sleep = (milliSeconds) => new Promise((resolve) => setTimeout(resolve, milliSeconds));
|
|
1101
|
-
|
|
1101
|
+
function assertPoint(point) {
|
|
1102
1102
|
if (Array.isArray(point) && point.length === 2 && typeof point[0] === "number" && typeof point[1] === "number")
|
|
1103
1103
|
return;
|
|
1104
1104
|
throw new Error(`Assertion Error: expect type [number, number], actual is ${point}`);
|
|
1105
|
-
}
|
|
1106
|
-
|
|
1105
|
+
}
|
|
1106
|
+
function assertAngle(angle) {
|
|
1107
1107
|
if (typeof angle === "number" || typeof angle === "undefined")
|
|
1108
1108
|
return;
|
|
1109
1109
|
throw new Error(`Assertion Error: expect type number | undefined, actual is ${angle}`);
|
|
1110
|
-
}
|
|
1110
|
+
}
|
|
1111
|
+
function assertZone(zone) {
|
|
1112
|
+
try {
|
|
1113
|
+
if (Array.isArray(zone == null ? void 0 : zone.path) && zone.path.every(assertPoint))
|
|
1114
|
+
return;
|
|
1115
|
+
} catch (err) {
|
|
1116
|
+
throw new Error(`Assertion Error: expect type Zone, actual is ${JSON.stringify(zone)}`);
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1111
1119
|
const isLatLngLiteral = (value) => {
|
|
1112
1120
|
return value != null && typeof value === "object" && Number.isFinite(value.lat) && Number.isFinite(value.lng);
|
|
1113
1121
|
};
|
|
@@ -1153,6 +1161,18 @@ const pausableSleep = (milliSeconds) => {
|
|
|
1153
1161
|
};
|
|
1154
1162
|
return { sleepPromise: sleepDefered, pause, restart };
|
|
1155
1163
|
};
|
|
1164
|
+
const MAX_ANIMATION_DISTANCE_VW = 100;
|
|
1165
|
+
const MIN_ANIMATION_DURATION = 400;
|
|
1166
|
+
const ANIMATION_DURATION_FOR_100VW = 800;
|
|
1167
|
+
const ANIMATION_DURATION_PER_ZOOM = 400;
|
|
1168
|
+
const BEIJIN_POINT = [116.2317, 39.5427];
|
|
1169
|
+
const ZINDEX_BUBBLE_LAYER = 50;
|
|
1170
|
+
const ZINDEX_START_END_LOGO_LAYER = 40;
|
|
1171
|
+
const ZINDEX_PLACE_LAYER = 30;
|
|
1172
|
+
const ZINDEX_CAR_LAYER = 21;
|
|
1173
|
+
const ZINDEX_PASSENGER_LAYER = 20;
|
|
1174
|
+
const ZINDEX_LINE_LAYER = 12;
|
|
1175
|
+
const ZINDEX_GREEN_ZONE = 10;
|
|
1156
1176
|
const vec2lnglat = ([lng, lat]) => ({
|
|
1157
1177
|
lng: Number(lng),
|
|
1158
1178
|
lat: Number(lat)
|
|
@@ -1224,6 +1244,9 @@ const isGeoPositionEqual = (p1, p2) => {
|
|
|
1224
1244
|
return false;
|
|
1225
1245
|
return p1.coords.longitude === p2.coords.longitude && p1.coords.latitude === p2.coords.latitude;
|
|
1226
1246
|
};
|
|
1247
|
+
const isZoneEqual = (z1, z2) => {
|
|
1248
|
+
return z1.path.every((point, idx) => isPointEqual(point, z2 == null ? void 0 : z2.path[idx]));
|
|
1249
|
+
};
|
|
1227
1250
|
const amapPlaceName2DisplayName = (name2, options) => {
|
|
1228
1251
|
const { isChina, province, city, district, township } = options;
|
|
1229
1252
|
if (!name2)
|
|
@@ -1238,6 +1261,12 @@ const amapPlaceName2DisplayName = (name2, options) => {
|
|
|
1238
1261
|
}
|
|
1239
1262
|
return result;
|
|
1240
1263
|
};
|
|
1264
|
+
const distanceVw2animationDuration = (distance) => {
|
|
1265
|
+
return Math.max(MIN_ANIMATION_DURATION, ANIMATION_DURATION_FOR_100VW * distance / 100);
|
|
1266
|
+
};
|
|
1267
|
+
const deltaZoom2animationDuration = (deltaZoom) => {
|
|
1268
|
+
return Math.max(MIN_ANIMATION_DURATION * 4, Math.abs(deltaZoom) * ANIMATION_DURATION_PER_ZOOM);
|
|
1269
|
+
};
|
|
1241
1270
|
const toPlaceType = (maybePlace) => {
|
|
1242
1271
|
var _a;
|
|
1243
1272
|
const lng = Number(maybePlace.lng);
|
|
@@ -2243,15 +2272,6 @@ function detectWebGL() {
|
|
|
2243
2272
|
}
|
|
2244
2273
|
return "NOT_SUPPORTED";
|
|
2245
2274
|
}
|
|
2246
|
-
const MAX_ANIMATION_DISTANCE_VW = 100;
|
|
2247
|
-
const BEIJIN_POINT = [116.2317, 39.5427];
|
|
2248
|
-
const ZINDEX_BUBBLE_LAYER = 50;
|
|
2249
|
-
const ZINDEX_START_END_LOGO_LAYER = 40;
|
|
2250
|
-
const ZINDEX_PLACE_LAYER = 30;
|
|
2251
|
-
const ZINDEX_CAR_LAYER = 21;
|
|
2252
|
-
const ZINDEX_PASSENGER_LAYER = 20;
|
|
2253
|
-
const ZINDEX_LINE_LAYER = 12;
|
|
2254
|
-
const ZINDEX_GREEN_ZONE = 10;
|
|
2255
2275
|
const useAmapLngLatToVw = (props) => {
|
|
2256
2276
|
const apiMapLngLatToVw = (point) => {
|
|
2257
2277
|
const amap2 = props.mapRef.value;
|
|
@@ -2387,8 +2407,13 @@ const Amap = defineSetup(function Amap2(props, { slots, emit }) {
|
|
|
2387
2407
|
const map = mapRef.value;
|
|
2388
2408
|
if (!center || !map)
|
|
2389
2409
|
return;
|
|
2390
|
-
|
|
2391
|
-
|
|
2410
|
+
if (!prevCenter)
|
|
2411
|
+
return map.setCenter(center, true);
|
|
2412
|
+
const distanceVw = apiMapDistanceVwOfPoints(center, prevCenter);
|
|
2413
|
+
if (distanceVw > MAX_ANIMATION_DISTANCE_VW)
|
|
2414
|
+
return map.setCenter(center, true);
|
|
2415
|
+
const duration = distanceVw2animationDuration(distanceVw);
|
|
2416
|
+
map.setCenter(center, false, duration);
|
|
2392
2417
|
}
|
|
2393
2418
|
);
|
|
2394
2419
|
watch(
|
|
@@ -3332,7 +3357,9 @@ const InterruptableIntervalFitView = defineSetup(function InterruptableIntervalF
|
|
|
3332
3357
|
});
|
|
3333
3358
|
return () => null;
|
|
3334
3359
|
});
|
|
3360
|
+
const imgEndPointEn = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0xMiAzMGMyLjEzNCAwIDMuODYzLS44OTMgMy44NjMtMS45OTUgMC0xLjEtMS43My0xLjk5NC0zLjg2My0xLjk5NC0yLjEzNCAwLTMuODYzLjg5My0zLjg2MyAxLjk5NEM4LjEzNyAyOS4xMDcgOS44NjcgMzAgMTIgMzB6IiBmaWxsLW9wYWNpdHk9Ii41IiBmaWxsPSIjNDM0ODVBIi8+PHBhdGggZD0iTTExIDI3LjAwNmMyLjEyOCAwLS45LTMuNzQzIDUuNjIxLTYuNjQzQzE5Ljg0MiAxOC40NTMgMjIgMTQuOTUzIDIyIDEwLjk1IDIyIDQuOTAyIDE3LjA3NSAwIDExIDBTMCA0LjkwMiAwIDEwLjk1YzAgMy45MTggMi4wNjggNy4zNTYgNS4xNzcgOS4yOUMxMS43NSAyMy4yODQgOS4wNiAyNy4wMDcgMTEgMjcuMDA3di0uMDAxeiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiLz48ZyBmaWxsPSIjRkZGIj48cGF0aCBkPSJNOC44OTMgMTIuNjY2SDYuNjYzdjEuMzY1aDIuNTc0di45NTJoLTMuNjZ2LTUuNDloMy41Nzh2Ljk0Nkg2LjY2M3YxLjI5aDIuMjI5ek0xMi4yNzUgMTEuMDAxYy40MyAwIC43Ny4xNDEgMS4wMi40MjQuMjUuMjgyLjM3NS42OTMuMzc1IDEuMjMzdjIuMzI1aC0xLjA0M3YtMS45ODdjMC0uNzEtLjIzNS0xLjA2NS0uNzA1LTEuMDY1YS43MzIuNzMyIDAgMDAtLjYwMy4yODljLS4xNTMuMTkyLS4yMjkuNDYzLS4yMjkuODEzdjEuOTVoLTEuMDQzdi0zLjg4NWguOTE1Yy4wMjUuMzA1LjA0OC41MTMuMDY4LjYyMy4yNS0uNDguNjY1LS43MiAxLjI0NS0uNzJ6TTE3LjI3NyA5LjI3NmgxLjA0M3Y1LjcwN2gtLjkxNWMtLjAyNS0uMjktLjA0NS0uNDg1LS4wNi0uNTg1YTEuMzE3IDEuMzE3IDAgMDEtLjUyOS41MDcgMS41MiAxLjUyIDAgMDEtLjcwOS4xNjhjLS4zMiAwLS42MTItLjA4LS44NzctLjI0YTEuNzI0IDEuNzI0IDAgMDEtLjYzOC0uN2MtLjE2LS4zMDgtLjI0LS42NzItLjI0LTEuMDkyIDAtLjQyNS4wOC0uNzkxLjI0LTEuMDk5LjE2LS4zMDcuMzczLS41NDEuNjM4LS43MDEuMjY1LS4xNi41NTctLjI0Ljg3Ny0uMjQuMjM1IDAgLjQ1NC4wNDcuNjU3LjE0Mi4yMDIuMDk1LjM3My4yNC41MTMuNDM1VjkuMjc2em0tLjkzIDQuOTA1Yy4yNiAwIC40OC0uMDk1LjY2LS4yODUuMTgtLjE5LjI3LS40NzUuMjctLjg1NSAwLS4zNzUtLjA5LS42NTQtLjI3LS44MzZhLjg5Mi44OTIgMCAwMC0uNjYtLjI3NC44MzIuODMyIDAgMDAtLjY2My4yOTJjLS4xNjguMTk1LS4yNTEuNDY4LS4yNTEuODE4IDAgLjM1LjA4My42MjcuMjUuODMyYS44MTUuODE1IDAgMDAuNjY1LjMwOHoiLz48L2c+PC9nPjwvc3ZnPg==";
|
|
3335
3361
|
const imgEndPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiAzMC4yMTVjMi4xMzQgMCAzLjg2My0uODkzIDMuODYzLTEuOTk1IDAtMS4xLTEuNzMtMS45OTQtMy44NjMtMS45OTQtMi4xMzQgMC0zLjg2My44OTMtMy44NjMgMS45OTQgMCAxLjEwMiAxLjczIDEuOTk1IDMuODYzIDEuOTk1eiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyNy4wMDZjMi4xMjggMC0uOS0zLjc0MyA1LjYyMS02LjY0M0MxOS44NDIgMTguNDUzIDIyIDE0Ljk1MyAyMiAxMC45NSAyMiA0LjkwMiAxNy4wNzUgMCAxMSAwUzAgNC45MDIgMCAxMC45NWMwIDMuOTE4IDIuMDY4IDcuMzU2IDUuMTc3IDkuMjlDMTEuNzUgMjMuMjg0IDkuMDYgMjcuMDA3IDExIDI3LjAwN3oiIHN0cm9rZT0iI0ZGRiIgZmlsbD0idXJsKCNwcmVmaXhfX2EpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSIvPjx0ZXh0IGZvbnQtZmFtaWx5PSJQaW5nRmFuZ1NDLVNlbWlib2xkLCBQaW5nRmFuZyBTQyIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9IjUwMCIgZmlsbD0iI0ZGRiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxLjIxNSkiPjx0c3BhbiB4PSI1IiB5PSIxNS40NDkiPue7iDwvdHNwYW4+PC90ZXh0PjwvZz48L3N2Zz4=";
|
|
3362
|
+
const imgStartPointEn = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMTIgMzBjMS45NSAwIDMuNTMyLS44MTYgMy41MzItMS44MjMgMC0xLjAwNy0xLjU4MS0xLjgyMy0zLjUzMi0xLjgyMy0xLjk1IDAtMy41MzIuODE2LTMuNTMyIDEuODIzQzguNDY4IDI5LjE4NCAxMC4wNDkgMzAgMTIgMzB6IiBmaWxsLW9wYWNpdHk9Ii41IiBmaWxsPSIjNDM0ODVBIi8+PHBhdGggZD0iTTExIDI3YzIuMTI4IDAtLjktMy43NDIgNS42MjEtNi42NDEgMy4yMjEtMS45MSA1LjM3OS01LjQxIDUuMzc5LTkuNDEyQzIyIDQuOTAxIDE3LjA3NSAwIDExIDBTMCA0LjkwMSAwIDEwLjk0N2MwIDMuOTE4IDIuMDY4IDcuMzU1IDUuMTc3IDkuMjlDMTEuNzUgMjMuMjc3IDkuMDYgMjcgMTEgMjd6IiBzdHJva2U9IiNGRkYiIGZpbGw9InVybCgjcHJlZml4X19hKSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIvPjxnIGZpbGw9IiNGRkYiPjxwYXRoIGQ9Ik03LjU1IDEzLjM5M2MwIC4zNzUtLjA5Ni42OS0uMjg5Ljk0MmExLjcgMS43IDAgMDEtLjc1LjU1OGMtLjMwNy4xMi0uNjM2LjE4LS45ODYuMTgtLjUxIDAtLjk3LS4xMTgtMS4zOC0uMzU2YTEuNzI2IDEuNzI2IDAgMDEtLjgxNy0xLjAwOWwuODg1LS41MDJjLjEyLjI4LjI5NS40OTcuNTI1LjY1Mi4yMy4xNTUuNTA1LjIzMy44MjUuMjMzLjI2IDAgLjQ2Ni0uMDUzLjYxOC0uMTU4YS41Mi41MiAwIDAwLjIyOS0uNDU3LjU0Ni41NDYgMCAwMC0uMTU0LS4zOTggMS4wNzcgMS4wNzcgMCAwMC0uMzgyLS4yNDcgOC41MTUgOC41MTUgMCAwMC0uNjI3LS4yMSA2LjgwNyA2LjgwNyAwIDAxLS44Ny0uMzExIDEuNTMyIDEuNTMyIDAgMDEtLjU3Ny0uNDYyYy0uMTYtLjIwNS0uMjQtLjQ3NS0uMjQtLjgxIDAtLjM1NS4wOTQtLjY1Ni4yODEtLjkwMy4xODgtLjI0OC40MzUtLjQzMy43NDMtLjU1NWEyLjY2IDIuNjYgMCAwMS45OTMtLjE4NGMuNDg1IDAgLjkuMTEgMS4yNDUuMzMuMzQ1LjIyLjU2OC41MTcuNjY4Ljg5MmwtLjg4NS41MDNhMS4xOTUgMS4xOTUgMCAwMC0uNDA1LS41NTEgMS4xMDggMS4xMDggMCAwMC0uNjc1LS4xOTljLS4yNDUgMC0uNDQ0LjA1Ni0uNTk2LjE2OWEuNTI4LjUyOCAwIDAwLS4yMjkuNDQ2YzAgLjE0LjA0Ny4yNTYuMTQyLjM0OS4wOTUuMDkyLjIxNy4xNjcuMzY0LjIyNS4xNDguMDU3LjM0Ni4xMjMuNTk2LjE5OC4zNi4xMDUuNjU4LjIxMi44OTMuMzIuMjM1LjEwNy40MzYuMjY3LjYwNC40OC4xNjcuMjEyLjI1MS40OS4yNTEuODM1ek0xMC42OTUgMTQuNzU4Yy0uMjU1LjIxLS42MS4zMTUtMS4wNjUuMzE1LS40MiAwLS43NTktLjExLTEuMDE2LS4zMzMtLjI1OC0uMjIzLS4zODctLjYyMi0uMzg3LTEuMTk3di0xLjU2N2gtLjY5di0uODc4aC42OVY5LjkwNkg5LjI3djEuMTkyaDEuMTd2Ljg3OEg5LjI3djEuMzk1YzAgLjI2LjA0NS40NTcuMTM1LjU5Mi4wOS4xMzUuMjM1LjIwMy40MzUuMjAzLjE3NSAwIC4zNC0uMDUzLjQ5NS0uMTU4bC4zNi43NXpNMTIuNjEgMTEuMDAxYy41MjUgMCAuOTM1LjE0OSAxLjIzLjQ0Ni4yOTUuMjk4LjQ0My43MjEuNDQzIDEuMjcxdjIuMjY1aC0uODc4YTUuMjI5IDUuMjI5IDAgMDEtLjAxOS0uMTk4IDEuOTEzIDEuOTEzIDAgMDAtLjAzMy0uMjQ0Yy0uMTE1LjE4LS4yNjQuMzE0LS40NDcuNDAxYTEuNTI1IDEuNTI1IDAgMDEtLjY2NC4xMzFjLS4yNyAwLS41MTYtLjA0Ny0uNzM4LS4xNDJhMS4yMjEgMS4yMjEgMCAwMS0uNTI5LS40MTYgMS4wODkgMS4wODkgMCAwMS0uMTk1LS42NDljMC0uMjYuMDc0LS40ODYuMjIxLS42NzlhMS40MyAxLjQzIDAgMDEuNTk3LS40NDYgMi4xMSAyLjExIDAgMDEuODI1LS4xNThjLjI3IDAgLjU0Ny4wNDUuODMyLjEzNS0uMDE1LS41NzUtLjI2LS44NjItLjczNS0uODYyLS4zOCAwLS42NTcuMTctLjgzMi41MWwtLjc0My0uNDI4Yy4xNC0uMjkuMzU1LS41MTguNjQ1LS42ODYuMjktLjE2Ny42My0uMjUxIDEuMDItLjI1MXptLjY0NSAyLjQwN2EyLjg1IDIuODUgMCAwMC0uNjUyLS4wOWMtLjI0NSAwLS40MzUuMDQ0LS41Ny4xMzJhLjQxOC40MTggMCAwMC0uMjAzLjM3MWMwIC4xNDUuMDU0LjI1Ny4xNjEuMzM3YS42OC42OCAwIDAwLjQxNy4xMi45Ni45NiAwIDAwLjU5Mi0uMTkuNjI0LjYyNCAwIDAwLjI1NS0uNTN2LS4xNXpNMTcuMDYgMTEuMDAxYy4xNSAwIC4yOS4wMjIuNDIuMDY3LjEzLjA0NS4yMy4xMDMuMy4xNzNsLS40MDUuODAyYS43NTkuNzU5IDAgMDAtLjQ0My0uMTM1Ljc2Mi43NjIgMCAwMC0uNjQ4LjMzOGMtLjE2My4yMjUtLjI0NC41MzUtLjI0NC45M3YxLjgwN2gtMS4wNDN2LTMuODg1aC45MTVjLjAyNS4zLjA0OC41MDUuMDY4LjYxNWExLjI5IDEuMjkgMCAwMS40NS0uNTMyYy4xODUtLjEyLjM5NS0uMTguNjMtLjE4ek0yMC45NDggMTQuNzU4Yy0uMjU2LjIxLS42MS4zMTUtMS4wNjYuMzE1LS40MiAwLS43NTgtLjExLTEuMDE2LS4zMzMtLjI1Ny0uMjIzLS4zODYtLjYyMi0uMzg2LTEuMTk3di0xLjU2N2gtLjY5di0uODc4aC42OVY5LjkwNmgxLjA0MnYxLjE5MmgxLjE3di44NzhoLTEuMTd2MS4zOTVjMCAuMjYuMDQ1LjQ1Ny4xMzUuNTkyLjA5LjEzNS4yMzUuMjAzLjQzNS4yMDMuMTc1IDAgLjM0LS4wNTMuNDk1LS4xNThsLjM2Ljc1eiIvPjwvZz48L2c+PC9zdmc+";
|
|
3336
3363
|
const imgStartPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTIgMzAuMjE1YzEuOTUgMCAzLjUzMi0uODE2IDMuNTMyLTEuODIzIDAtMS4wMDctMS41ODEtMS44MjMtMy41MzItMS44MjMtMS45NSAwLTMuNTMyLjgxNi0zLjUzMiAxLjgyMyAwIDEuMDA3IDEuNTgxIDEuODIzIDMuNTMyIDEuODIzeiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyN2MyLjEyOCAwLS45LTMuNzQyIDUuNjIxLTYuNjQxIDMuMjIxLTEuOTEgNS4zNzktNS40MSA1LjM3OS05LjQxMkMyMiA0LjkwMSAxNy4wNzUgMCAxMSAwUzAgNC45MDEgMCAxMC45NDdjMCAzLjkxOCAyLjA2OCA3LjM1NSA1LjE3NyA5LjI5QzExLjc1IDIzLjI3NyA5LjA2IDI3IDExIDI3eiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMS4yMTUpIi8+PHRleHQgZm9udC1mYW1pbHk9IlBpbmdGYW5nU0MtU2VtaWJvbGQsIFBpbmdGYW5nIFNDIiBmb250LXNpemU9IjEyIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSIjRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSI+PHRzcGFuIHg9IjUiIHk9IjE1LjYyNCI+6LW3PC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==";
|
|
3337
3364
|
const StartEndPoint_css_ts_vanilla = "";
|
|
3338
3365
|
var arrowRight = createRuntimeFn({ defaultClassName: "_4a4ovka", variantClassNames: { withArrow: { true: "_4a4ovkb", false: "_4a4ovkc" } }, defaultVariants: {}, compoundVariants: [] });
|
|
@@ -3352,9 +3379,10 @@ const AStartEndPoint = defineSetup(function AStartEndPoint2(props, {
|
|
|
3352
3379
|
withArrow = false,
|
|
3353
3380
|
title,
|
|
3354
3381
|
description,
|
|
3355
|
-
type: type2
|
|
3382
|
+
type: type2,
|
|
3383
|
+
language
|
|
3356
3384
|
} = props;
|
|
3357
|
-
const icon = type2 === "start" ? imgStartPoint : imgEndPoint;
|
|
3385
|
+
const icon = type2 === "start" ? language === "zh" ? imgStartPoint : imgStartPointEn : language === "zh" ? imgEndPoint : imgEndPointEn;
|
|
3358
3386
|
const descriptionRow = !description ? "" : decodeAsterisk(description).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize$1}">${item.value}</span>`).join("");
|
|
3359
3387
|
if (!description && !title)
|
|
3360
3388
|
return `<img class="AStartEndPoint ${pointIcon({
|
|
@@ -3419,9 +3447,10 @@ const GStartEndPoint = defineSetup(function GStartEndPoint2(props, {
|
|
|
3419
3447
|
withArrow = false,
|
|
3420
3448
|
title,
|
|
3421
3449
|
description,
|
|
3422
|
-
type: type2
|
|
3450
|
+
type: type2,
|
|
3451
|
+
language = "zh"
|
|
3423
3452
|
} = props;
|
|
3424
|
-
const icon = type2 === "start" ? imgStartPoint : imgEndPoint;
|
|
3453
|
+
const icon = type2 === "start" ? language === "zh" ? imgStartPoint : imgStartPointEn : language === "zh" ? imgEndPoint : imgEndPointEn;
|
|
3425
3454
|
const descriptionRow = !description ? "" : decodeAsterisk(description).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize$1}">${item.value}</span>`).join("");
|
|
3426
3455
|
if (!description && !title)
|
|
3427
3456
|
return createDom("img", {
|
|
@@ -3503,6 +3532,9 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props,
|
|
|
3503
3532
|
mapRef,
|
|
3504
3533
|
renderDescription
|
|
3505
3534
|
} = props;
|
|
3535
|
+
const {
|
|
3536
|
+
language
|
|
3537
|
+
} = useMapSupplier();
|
|
3506
3538
|
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
3507
3539
|
const deferedSetFitView = pipeDefer(registerOverlay.setFitView);
|
|
3508
3540
|
return () => {
|
|
@@ -3531,7 +3563,8 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props,
|
|
|
3531
3563
|
"position": from,
|
|
3532
3564
|
"title": fromPlace.displayName,
|
|
3533
3565
|
"description": fromDescription,
|
|
3534
|
-
"withArrow": true
|
|
3566
|
+
"withArrow": true,
|
|
3567
|
+
"language": language
|
|
3535
3568
|
},
|
|
3536
3569
|
"on": {
|
|
3537
3570
|
"click": () => emit("clickStartPoint", fromPlace)
|
|
@@ -3558,7 +3591,8 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props,
|
|
|
3558
3591
|
distance,
|
|
3559
3592
|
duration
|
|
3560
3593
|
}),
|
|
3561
|
-
"withArrow": true
|
|
3594
|
+
"withArrow": true,
|
|
3595
|
+
"language": language
|
|
3562
3596
|
},
|
|
3563
3597
|
"on": {
|
|
3564
3598
|
"click": () => emit("clickEndPoint", toPlace)
|
|
@@ -3987,8 +4021,6 @@ const useGeoLocation = (props) => {
|
|
|
3987
4021
|
geoReady: readyRef
|
|
3988
4022
|
};
|
|
3989
4023
|
};
|
|
3990
|
-
const MAX_AMAP_PAN_TO_ANIMATE_DURATION = 500;
|
|
3991
|
-
const MIN_AMAP_PAN_TO_ANIMATE_DURATION = 100;
|
|
3992
4024
|
const useHeycarAmap = () => {
|
|
3993
4025
|
const amapRef = shallowRef();
|
|
3994
4026
|
const amapElementRef = shallowRef();
|
|
@@ -4005,10 +4037,7 @@ const useHeycarAmap = () => {
|
|
|
4005
4037
|
const distanceVw = apiMapDistanceVwOfPoints(value, [lng, lat]);
|
|
4006
4038
|
const shouldAnimate = distanceVw < MAX_ANIMATION_DISTANCE_VW;
|
|
4007
4039
|
if (shouldAnimate) {
|
|
4008
|
-
const duration =
|
|
4009
|
-
MIN_AMAP_PAN_TO_ANIMATE_DURATION,
|
|
4010
|
-
Math.floor(MAX_AMAP_PAN_TO_ANIMATE_DURATION * distanceVw / MAX_ANIMATION_DISTANCE_VW)
|
|
4011
|
-
);
|
|
4040
|
+
const duration = distanceVw2animationDuration(distanceVw);
|
|
4012
4041
|
amap2.panTo(value, duration);
|
|
4013
4042
|
await sleep(duration);
|
|
4014
4043
|
} else {
|
|
@@ -4134,6 +4163,49 @@ const useMapDrag = (props) => {
|
|
|
4134
4163
|
const { supplier } = useMapSupplier();
|
|
4135
4164
|
return supplier === "gmap" ? useGmapDrag(props) : useAmapDrag(props);
|
|
4136
4165
|
};
|
|
4166
|
+
const useAmapGeometry = () => {
|
|
4167
|
+
const payload = useMapSupplier();
|
|
4168
|
+
const apiMapDistance = (from, to) => {
|
|
4169
|
+
if (payload.status !== Status.SUCCESS)
|
|
4170
|
+
return void 0;
|
|
4171
|
+
return AMap.GeometryUtil.distance(from, to);
|
|
4172
|
+
};
|
|
4173
|
+
const apiMapDistanceToLine = (from, line) => {
|
|
4174
|
+
if (payload.status !== Status.SUCCESS)
|
|
4175
|
+
return void 0;
|
|
4176
|
+
return AMap.GeometryUtil.distanceToLine(from, line);
|
|
4177
|
+
};
|
|
4178
|
+
const apiMapIsPointInRing = (point, path) => {
|
|
4179
|
+
if (payload.status !== Status.SUCCESS)
|
|
4180
|
+
return void 0;
|
|
4181
|
+
return AMap.GeometryUtil.isPointInRing(point, path);
|
|
4182
|
+
};
|
|
4183
|
+
return { apiMapDistance, apiMapDistanceToLine, apiMapIsPointInRing };
|
|
4184
|
+
};
|
|
4185
|
+
const useGmapGeometry = () => {
|
|
4186
|
+
const payload = useMapSupplier();
|
|
4187
|
+
const apiMapDistance = (from, to) => {
|
|
4188
|
+
if (payload.status !== Status.SUCCESS)
|
|
4189
|
+
return void 0;
|
|
4190
|
+
return google.maps.geometry.spherical.computeDistanceBetween(vec2lnglat(from), vec2lnglat(to));
|
|
4191
|
+
};
|
|
4192
|
+
const apiMapDistanceToLine = (from, line) => {
|
|
4193
|
+
if (payload.status !== Status.SUCCESS)
|
|
4194
|
+
return void 0;
|
|
4195
|
+
return 0;
|
|
4196
|
+
};
|
|
4197
|
+
const apiMapIsPointInRing = (point, path) => {
|
|
4198
|
+
if (payload.status !== Status.SUCCESS)
|
|
4199
|
+
return void 0;
|
|
4200
|
+
const polygon = new google.maps.Polygon({ paths: path.map(vec2lnglat) });
|
|
4201
|
+
return google.maps.geometry.poly.containsLocation(vec2lnglat(point), polygon);
|
|
4202
|
+
};
|
|
4203
|
+
return { apiMapDistance, apiMapDistanceToLine, apiMapIsPointInRing };
|
|
4204
|
+
};
|
|
4205
|
+
const useMapGeometry = () => {
|
|
4206
|
+
const { supplier } = useMapSupplier();
|
|
4207
|
+
return supplier === "gmap" ? useGmapGeometry() : useAmapGeometry();
|
|
4208
|
+
};
|
|
4137
4209
|
const chinaBounds = [
|
|
4138
4210
|
[
|
|
4139
4211
|
108.03446,
|
|
@@ -5653,12 +5725,9 @@ const useAmapPlace = (props) => {
|
|
|
5653
5725
|
place.name = value.name;
|
|
5654
5726
|
place.displayName = value.displayName;
|
|
5655
5727
|
};
|
|
5656
|
-
|
|
5657
|
-
() =>
|
|
5658
|
-
async () => {
|
|
5659
|
-
await readyPromise;
|
|
5728
|
+
const getPlaceByRegeo = ([lng, lat]) => {
|
|
5729
|
+
return new Promise((resolve, reject) => {
|
|
5660
5730
|
const geocoder = new AMap.Geocoder({ lang: language === "en" ? "en" : "zh_cn" });
|
|
5661
|
-
const [lng, lat] = pointRef.value;
|
|
5662
5731
|
const isChina = inChina([lng, lat]);
|
|
5663
5732
|
geocoder.getAddress(new AMap.LngLat(lng, lat), (status, result) => {
|
|
5664
5733
|
switch (status) {
|
|
@@ -5666,30 +5735,30 @@ const useAmapPlace = (props) => {
|
|
|
5666
5735
|
const { formattedAddress, addressComponent } = result.regeocode;
|
|
5667
5736
|
const name2 = formattedAddress ? formattedAddress : emptyPlaceName;
|
|
5668
5737
|
const displayName = amapPlaceName2DisplayName(name2, { isChina, ...addressComponent });
|
|
5669
|
-
|
|
5670
|
-
place.displayName = displayName;
|
|
5671
|
-
place.lng = lng;
|
|
5672
|
-
place.lat = lat;
|
|
5673
|
-
onChange == null ? void 0 : onChange({ lng, lat, name: name2, displayName });
|
|
5738
|
+
resolve({ lng, lat, name: name2, displayName });
|
|
5674
5739
|
return;
|
|
5675
5740
|
}
|
|
5676
5741
|
case "no_data": {
|
|
5677
5742
|
const name2 = emptyPlaceName;
|
|
5678
5743
|
const displayName = emptyPlaceName;
|
|
5679
|
-
|
|
5680
|
-
place.displayName = displayName;
|
|
5681
|
-
place.lng = lng;
|
|
5682
|
-
place.lat = lat;
|
|
5683
|
-
onChange == null ? void 0 : onChange({ lng, lat, name: name2, displayName });
|
|
5744
|
+
resolve({ lng, lat, name: name2, displayName });
|
|
5684
5745
|
return;
|
|
5685
5746
|
}
|
|
5686
5747
|
case "error":
|
|
5687
|
-
|
|
5748
|
+
reject(result);
|
|
5688
5749
|
}
|
|
5689
5750
|
});
|
|
5751
|
+
});
|
|
5752
|
+
};
|
|
5753
|
+
watch(
|
|
5754
|
+
() => [placeKey.value],
|
|
5755
|
+
async () => {
|
|
5756
|
+
await readyPromise;
|
|
5757
|
+
const resultPlace = await getPlaceByRegeo(pointRef.value);
|
|
5758
|
+
onChange == null ? void 0 : onChange(resultPlace);
|
|
5690
5759
|
}
|
|
5691
5760
|
);
|
|
5692
|
-
return { place, updatePlace, setPlace };
|
|
5761
|
+
return { place, updatePlace, setPlace, getPlaceByRegeo };
|
|
5693
5762
|
};
|
|
5694
5763
|
const useGmapPlace = (props) => {
|
|
5695
5764
|
const { onChange, emptyPlaceName } = props;
|
|
@@ -5713,214 +5782,182 @@ const useGmapPlace = (props) => {
|
|
|
5713
5782
|
place.name = value.name;
|
|
5714
5783
|
place.displayName = value.displayName;
|
|
5715
5784
|
};
|
|
5785
|
+
const getPlaceByRegeo = ([lng, lat]) => {
|
|
5786
|
+
return new Promise((resolve, reject) => {
|
|
5787
|
+
const geocoder = new google.maps.Geocoder();
|
|
5788
|
+
geocoder.geocode({ language, location: { lng, lat } }).then(({ results }) => {
|
|
5789
|
+
const name2 = results[0].formatted_address ? results[0].formatted_address : emptyPlaceName;
|
|
5790
|
+
const displayName = name2;
|
|
5791
|
+
resolve({ lng, lat, name: name2, displayName });
|
|
5792
|
+
}).catch(reject);
|
|
5793
|
+
});
|
|
5794
|
+
};
|
|
5716
5795
|
watch(
|
|
5717
5796
|
() => placeKey.value,
|
|
5718
5797
|
async () => {
|
|
5719
5798
|
await readyPromise;
|
|
5720
|
-
const
|
|
5721
|
-
|
|
5722
|
-
const { results } = await geocoder.geocode({ language, location: { lng, lat } });
|
|
5723
|
-
const name2 = results[0].formatted_address ? results[0].formatted_address : emptyPlaceName;
|
|
5724
|
-
const displayName = name2;
|
|
5725
|
-
place.lng = lng;
|
|
5726
|
-
place.lat = lat;
|
|
5727
|
-
place.name = name2;
|
|
5728
|
-
place.displayName = displayName;
|
|
5729
|
-
onChange == null ? void 0 : onChange({ lng, lat, name: name2, displayName });
|
|
5799
|
+
const resultPlace = await getPlaceByRegeo(pointRef.value);
|
|
5800
|
+
onChange == null ? void 0 : onChange(resultPlace);
|
|
5730
5801
|
}
|
|
5731
5802
|
);
|
|
5732
|
-
return { place, updatePlace, setPlace };
|
|
5803
|
+
return { place, updatePlace, setPlace, getPlaceByRegeo };
|
|
5733
5804
|
};
|
|
5734
5805
|
const useMapPlace = (props) => {
|
|
5735
5806
|
const { supplier } = useMapSupplier();
|
|
5736
5807
|
return supplier === "gmap" ? useGmapPlace(props) : useAmapPlace(props);
|
|
5737
5808
|
};
|
|
5738
|
-
|
|
5739
|
-
|
|
5740
|
-
let shortestPlace = place;
|
|
5741
|
-
for (const candidate of candidates) {
|
|
5742
|
-
const distance = AMap.GeometryUtil.distance(place2point(place), place2point(candidate));
|
|
5743
|
-
if (distance >= shortestDistance)
|
|
5744
|
-
continue;
|
|
5745
|
-
shortestPlace = candidate;
|
|
5746
|
-
shortestDistance = distance;
|
|
5747
|
-
}
|
|
5748
|
-
return { shortestPlace, shortestDistance };
|
|
5749
|
-
};
|
|
5750
|
-
const findGmapNearestPlace = (place, candidates) => {
|
|
5809
|
+
function findNearestPlace(place, candidates, distanceFn) {
|
|
5810
|
+
var _a;
|
|
5751
5811
|
let shortestDistance = Infinity;
|
|
5752
5812
|
let shortestPlace = place;
|
|
5753
5813
|
for (const candidate of candidates) {
|
|
5754
|
-
const distance =
|
|
5814
|
+
const distance = (_a = distanceFn(place2point(place), place2point(candidate))) != null ? _a : Infinity;
|
|
5755
5815
|
if (distance >= shortestDistance)
|
|
5756
5816
|
continue;
|
|
5757
5817
|
shortestPlace = candidate;
|
|
5758
5818
|
shortestDistance = distance;
|
|
5759
5819
|
}
|
|
5760
5820
|
return { shortestPlace, shortestDistance };
|
|
5761
|
-
}
|
|
5762
|
-
const
|
|
5763
|
-
const {
|
|
5821
|
+
}
|
|
5822
|
+
const useMapRecomendPlace = (props) => {
|
|
5823
|
+
const {
|
|
5824
|
+
defaultPoint,
|
|
5825
|
+
getRecomendPlace,
|
|
5826
|
+
getLimit,
|
|
5827
|
+
context: context2,
|
|
5828
|
+
emptyPlaceName,
|
|
5829
|
+
onChange,
|
|
5830
|
+
onChangePlace
|
|
5831
|
+
} = props;
|
|
5764
5832
|
const availableRef = ref(true);
|
|
5765
5833
|
const placeCandidatesRef = ref([]);
|
|
5766
5834
|
const zoneRef = ref();
|
|
5767
|
-
const {
|
|
5768
|
-
const {
|
|
5769
|
-
const { place, updatePlace, setPlace } = useAmapPlace({
|
|
5835
|
+
const { apiMapIsPointInRing, apiMapDistance } = useMapGeometry();
|
|
5836
|
+
const { getPlaceByRegeo } = useAmapPlace({
|
|
5770
5837
|
emptyPlaceName,
|
|
5771
|
-
pointRef
|
|
5772
|
-
|
|
5838
|
+
pointRef: ref([...defaultPoint])
|
|
5839
|
+
});
|
|
5840
|
+
const recomendPlace = reactive({
|
|
5841
|
+
lng: defaultPoint[0],
|
|
5842
|
+
lat: defaultPoint[1],
|
|
5843
|
+
name: "",
|
|
5844
|
+
displayName: ""
|
|
5773
5845
|
});
|
|
5774
|
-
const recomendPlace = reactive({ ...place });
|
|
5775
5846
|
const isElectedRef = computed(() => {
|
|
5776
|
-
const
|
|
5847
|
+
const recomendPoint = place2point(recomendPlace);
|
|
5777
5848
|
return placeCandidatesRef.value.some(
|
|
5778
|
-
(candidate) => isPointEqual(place2point(candidate),
|
|
5849
|
+
(candidate) => isPointEqual(place2point(candidate), recomendPoint)
|
|
5779
5850
|
);
|
|
5780
5851
|
});
|
|
5781
|
-
const
|
|
5852
|
+
const findAttachedPlace = async (place) => {
|
|
5782
5853
|
var _a;
|
|
5783
5854
|
const {
|
|
5784
5855
|
places: inputPlaceCandidates,
|
|
5785
5856
|
zone,
|
|
5786
|
-
available
|
|
5787
|
-
} = (_a = await getRecomendPlace({ ...
|
|
5857
|
+
available = false
|
|
5858
|
+
} = (_a = await getRecomendPlace({ ...place }, context2)) != null ? _a : {};
|
|
5788
5859
|
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
|
|
5860
|
+
if (!available || !placeCandidates) {
|
|
5861
|
+
return { place: { ...place }, zone, candidates: [], available };
|
|
5862
|
+
}
|
|
5863
|
+
const { shortestPlace, shortestDistance } = findNearestPlace(
|
|
5864
|
+
place,
|
|
5865
|
+
placeCandidates,
|
|
5866
|
+
apiMapDistance
|
|
5867
|
+
);
|
|
5868
|
+
const limit = getLimit(context2);
|
|
5869
|
+
const resultPlace = zone || shortestDistance <= limit ? shortestPlace : place;
|
|
5870
|
+
return { place: { ...resultPlace }, zone, candidates: placeCandidates, available };
|
|
5871
|
+
};
|
|
5872
|
+
const getRecommendPlaceZoneState = async (point, prevState) => {
|
|
5873
|
+
const zone = zoneRef.value;
|
|
5874
|
+
if (!zone || !apiMapIsPointInRing(point, zone.path)) {
|
|
5875
|
+
const reGeoPlace = await getPlaceByRegeo(point);
|
|
5876
|
+
const {
|
|
5877
|
+
place: resultPlace2,
|
|
5878
|
+
candidates,
|
|
5879
|
+
available,
|
|
5880
|
+
zone: zone2
|
|
5881
|
+
} = await findAttachedPlace(reGeoPlace);
|
|
5882
|
+
return { place: { ...resultPlace2 }, zone: zone2, available, candidates };
|
|
5883
|
+
}
|
|
5884
|
+
const [lng, lat] = point;
|
|
5885
|
+
const { shortestPlace: resultPlace } = findNearestPlace(
|
|
5886
|
+
{ lng, lat, name: "", displayName: "" },
|
|
5887
|
+
placeCandidatesRef.value,
|
|
5888
|
+
apiMapDistance
|
|
5889
|
+
);
|
|
5792
5890
|
return {
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
|
|
5891
|
+
place: { ...resultPlace },
|
|
5892
|
+
zone,
|
|
5893
|
+
available: prevState.available,
|
|
5894
|
+
candidates: prevState.candidates
|
|
5796
5895
|
};
|
|
5797
5896
|
};
|
|
5798
|
-
const
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
|
|
5804
|
-
|
|
5805
|
-
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
|
|
5814
|
-
|
|
5815
|
-
|
|
5816
|
-
|
|
5817
|
-
|
|
5818
|
-
available
|
|
5819
|
-
} = (_a = await getRecomendPlace({ ...place }, context2)) != null ? _a : {};
|
|
5820
|
-
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5821
|
-
if (!available || !placeCandidates) {
|
|
5822
|
-
availableRef.value = !!available;
|
|
5823
|
-
zoneRef.value = zone;
|
|
5824
|
-
placeCandidatesRef.value = [];
|
|
5825
|
-
Object.assign(recomendPlace, { ...place });
|
|
5826
|
-
onChange == null ? void 0 : onChange({ place: { ...place }, inputPlace: { ...place }, isInZone: !!zone });
|
|
5827
|
-
return;
|
|
5828
|
-
}
|
|
5829
|
-
const { shortestPlace, shortestDistance } = findAmapNearestPlace(place, placeCandidates);
|
|
5830
|
-
const limit = getLimit(context2);
|
|
5831
|
-
const resultPlace = zone || shortestDistance <= limit ? shortestPlace : place;
|
|
5832
|
-
availableRef.value = !!available;
|
|
5833
|
-
zoneRef.value = zone;
|
|
5834
|
-
placeCandidatesRef.value = placeCandidates;
|
|
5835
|
-
Object.assign(recomendPlace, { ...resultPlace });
|
|
5836
|
-
onChange == null ? void 0 : onChange({ place: { ...resultPlace }, inputPlace: { ...place }, isInZone: !!zone });
|
|
5837
|
-
}
|
|
5838
|
-
);
|
|
5839
|
-
return {
|
|
5840
|
-
zoneRef,
|
|
5841
|
-
recomendPlace,
|
|
5842
|
-
placeCandidates: placeCandidatesRef,
|
|
5843
|
-
availableRef,
|
|
5844
|
-
isElectedRef,
|
|
5845
|
-
updateRecommendPlace,
|
|
5846
|
-
updatePlaceCandidates,
|
|
5847
|
-
updatePlace,
|
|
5848
|
-
setPlaceCandidatesAndZone
|
|
5897
|
+
const updatePlace = async (point) => {
|
|
5898
|
+
const {
|
|
5899
|
+
place: resultPlace,
|
|
5900
|
+
candidates,
|
|
5901
|
+
zone,
|
|
5902
|
+
available
|
|
5903
|
+
} = await getRecommendPlaceZoneState(point, {
|
|
5904
|
+
place: recomendPlace,
|
|
5905
|
+
available: availableRef.value,
|
|
5906
|
+
candidates: placeCandidatesRef.value,
|
|
5907
|
+
zone: zoneRef.value
|
|
5908
|
+
});
|
|
5909
|
+
const isSameZone = !!zone && isZoneEqual(zone, zoneRef.value);
|
|
5910
|
+
availableRef.value = available;
|
|
5911
|
+
zoneRef.value = zone;
|
|
5912
|
+
placeCandidatesRef.value = candidates;
|
|
5913
|
+
Object.assign(recomendPlace, { ...resultPlace });
|
|
5914
|
+
onChangePlace == null ? void 0 : onChangePlace({ ...resultPlace });
|
|
5915
|
+
const inputPlace = { name: "", displayName: "", lng: point[0], lat: point[1] };
|
|
5916
|
+
onChange == null ? void 0 : onChange({ place: { ...resultPlace }, inputPlace, isInZone: !!zone, isSameZone });
|
|
5849
5917
|
};
|
|
5850
|
-
|
|
5851
|
-
const useGmapRecomendPlace = (props) => {
|
|
5852
|
-
const { pointRef, getRecomendPlace, getLimit, context: context2, emptyPlaceName, onChange, onChangePlace } = props;
|
|
5853
|
-
const availableRef = ref(true);
|
|
5854
|
-
const placeCandidatesRef = ref([]);
|
|
5855
|
-
const zoneRef = ref();
|
|
5856
|
-
const { idx: recomendPlaceKey, update: updateRecommendPlaceKey } = useUpdate();
|
|
5857
|
-
const { readyPromise } = useMapSupplier();
|
|
5858
|
-
const { place, updatePlace, setPlace } = useGmapPlace({
|
|
5859
|
-
emptyPlaceName,
|
|
5860
|
-
pointRef,
|
|
5861
|
-
onChange: onChangePlace
|
|
5862
|
-
});
|
|
5863
|
-
const recomendPlace = reactive({ ...place });
|
|
5864
|
-
const isElectedRef = computed(() => {
|
|
5865
|
-
const point = pointRef.value;
|
|
5866
|
-
return placeCandidatesRef.value.some(
|
|
5867
|
-
(candidate) => isPointEqual(place2point(candidate), point)
|
|
5868
|
-
);
|
|
5869
|
-
});
|
|
5870
|
-
const updatePlaceCandidates = async (place2) => {
|
|
5918
|
+
const updatePlaceCandidates = async (place) => {
|
|
5871
5919
|
var _a;
|
|
5872
5920
|
const {
|
|
5873
5921
|
places: inputPlaceCandidates,
|
|
5874
5922
|
zone,
|
|
5875
5923
|
available
|
|
5876
|
-
} = (_a = await getRecomendPlace({ ...
|
|
5924
|
+
} = (_a = await getRecomendPlace({ ...place }, context2)) != null ? _a : {};
|
|
5925
|
+
const isSameZone = !!zone && isZoneEqual(zone, zoneRef.value);
|
|
5877
5926
|
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5878
5927
|
availableRef.value = !!available;
|
|
5879
5928
|
zoneRef.value = zone;
|
|
5880
5929
|
placeCandidatesRef.value = placeCandidates != null ? placeCandidates : [];
|
|
5881
5930
|
return {
|
|
5882
|
-
inputPlace: { ...
|
|
5931
|
+
inputPlace: { ...place },
|
|
5883
5932
|
isInZone: !!zone,
|
|
5884
|
-
place
|
|
5933
|
+
place,
|
|
5934
|
+
isSameZone
|
|
5885
5935
|
};
|
|
5886
5936
|
};
|
|
5887
|
-
const updateRecommendPlace = (
|
|
5888
|
-
|
|
5889
|
-
|
|
5937
|
+
const updateRecommendPlace = async (place) => {
|
|
5938
|
+
const { place: resultPlace, candidates, available, zone } = await findAttachedPlace(place);
|
|
5939
|
+
const isSameZone = !!zone && isZoneEqual(zone, zoneRef.value);
|
|
5940
|
+
availableRef.value = available;
|
|
5941
|
+
zoneRef.value = zone;
|
|
5942
|
+
placeCandidatesRef.value = candidates;
|
|
5943
|
+
Object.assign(recomendPlace, { ...resultPlace });
|
|
5944
|
+
onChangePlace == null ? void 0 : onChangePlace({ ...resultPlace });
|
|
5945
|
+
onChange == null ? void 0 : onChange({
|
|
5946
|
+
place: { ...resultPlace },
|
|
5947
|
+
inputPlace: { ...place },
|
|
5948
|
+
isInZone: !!zone,
|
|
5949
|
+
isSameZone
|
|
5950
|
+
});
|
|
5890
5951
|
};
|
|
5891
|
-
const setPlaceCandidatesAndZone = ({
|
|
5892
|
-
|
|
5952
|
+
const setPlaceCandidatesAndZone = ({
|
|
5953
|
+
zone,
|
|
5954
|
+
places: inputPlaceCandidates
|
|
5955
|
+
}) => {
|
|
5956
|
+
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5957
|
+
availableRef.value = true;
|
|
5893
5958
|
zoneRef.value = zone ? zone : void 0;
|
|
5959
|
+
placeCandidatesRef.value = placeCandidates != null ? placeCandidates : [];
|
|
5894
5960
|
};
|
|
5895
|
-
watch(
|
|
5896
|
-
() => recomendPlaceKey.value,
|
|
5897
|
-
async () => {
|
|
5898
|
-
var _a;
|
|
5899
|
-
await readyPromise;
|
|
5900
|
-
const {
|
|
5901
|
-
places: inputPlaceCandidates,
|
|
5902
|
-
zone,
|
|
5903
|
-
available
|
|
5904
|
-
} = (_a = await getRecomendPlace({ ...place }, context2)) != null ? _a : {};
|
|
5905
|
-
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5906
|
-
if (!available || !placeCandidates) {
|
|
5907
|
-
availableRef.value = !!available;
|
|
5908
|
-
zoneRef.value = zone;
|
|
5909
|
-
placeCandidatesRef.value = [];
|
|
5910
|
-
Object.assign(recomendPlace, { ...place });
|
|
5911
|
-
onChange == null ? void 0 : onChange({ place: { ...place }, inputPlace: { ...place }, isInZone: !!zone });
|
|
5912
|
-
return;
|
|
5913
|
-
}
|
|
5914
|
-
const { shortestPlace, shortestDistance } = findGmapNearestPlace(place, placeCandidates);
|
|
5915
|
-
const limit = getLimit(context2);
|
|
5916
|
-
const resultPlace = shortestDistance > limit ? place : shortestPlace;
|
|
5917
|
-
availableRef.value = !!available;
|
|
5918
|
-
zoneRef.value = zone;
|
|
5919
|
-
placeCandidatesRef.value = placeCandidates;
|
|
5920
|
-
Object.assign(recomendPlace, { ...resultPlace });
|
|
5921
|
-
onChange == null ? void 0 : onChange({ place: { ...resultPlace }, inputPlace: { ...place }, isInZone: !!zone });
|
|
5922
|
-
}
|
|
5923
|
-
);
|
|
5924
5961
|
return {
|
|
5925
5962
|
zoneRef,
|
|
5926
5963
|
recomendPlace,
|
|
@@ -5933,20 +5970,19 @@ const useGmapRecomendPlace = (props) => {
|
|
|
5933
5970
|
setPlaceCandidatesAndZone
|
|
5934
5971
|
};
|
|
5935
5972
|
};
|
|
5936
|
-
const useMapRecomendPlace = (props) => {
|
|
5937
|
-
const { supplier } = useMapSupplier();
|
|
5938
|
-
return supplier === "gmap" ? useGmapRecomendPlace(props) : useAmapRecomendPlace(props);
|
|
5939
|
-
};
|
|
5940
5973
|
const GOOGLE_MAP_ZOOM_CHANGE_DEBOUNCE_TIMEOUT = 50;
|
|
5941
5974
|
const DEFAULT_ZOOM$1 = 13;
|
|
5942
5975
|
const useAmapZoom = (props) => {
|
|
5943
5976
|
var _a, _b, _c;
|
|
5944
5977
|
const { onChange, mapRef, defaultValue } = props;
|
|
5945
5978
|
const zoomRef = ref((_c = (_b = (_a = mapRef.value) == null ? void 0 : _a.getZoom()) != null ? _b : defaultValue) != null ? _c : DEFAULT_ZOOM$1);
|
|
5946
|
-
const setZoom = (v) => {
|
|
5947
|
-
var _a2;
|
|
5979
|
+
const setZoom = (v, immediate = false) => {
|
|
5980
|
+
var _a2, _b2;
|
|
5981
|
+
const duration = deltaZoom2animationDuration(v - zoomRef.value);
|
|
5948
5982
|
zoomRef.value = v;
|
|
5949
|
-
|
|
5983
|
+
if (immediate)
|
|
5984
|
+
return (_a2 = mapRef.value) == null ? void 0 : _a2.setZoom(v, true);
|
|
5985
|
+
(_b2 = mapRef.value) == null ? void 0 : _b2.setZoom(v, false, duration);
|
|
5950
5986
|
};
|
|
5951
5987
|
const handleZoomEnd = (_, { target }) => {
|
|
5952
5988
|
const zoom = target.getZoom();
|
|
@@ -6678,7 +6714,6 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6678
6714
|
name: geoLoadingTitle,
|
|
6679
6715
|
displayName: geoLoadingTitle
|
|
6680
6716
|
});
|
|
6681
|
-
const centerPoint = computed(() => [centerPlace.lng, centerPlace.lat]);
|
|
6682
6717
|
const centerSource = {
|
|
6683
6718
|
source: "geo"
|
|
6684
6719
|
};
|
|
@@ -6689,25 +6724,19 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6689
6724
|
const setCenterPlaceByUserSpecified = async (input) => {
|
|
6690
6725
|
centerSource.source = "api";
|
|
6691
6726
|
const place = toPlaceType(input);
|
|
6692
|
-
centerPlace
|
|
6693
|
-
centerPlace.lat = place.lat;
|
|
6694
|
-
centerPlace.name = place.name;
|
|
6695
|
-
centerPlace.displayName = place.displayName;
|
|
6696
|
-
emit("changePlace", {
|
|
6697
|
-
...place
|
|
6698
|
-
});
|
|
6727
|
+
Object.assign(centerPlace, place);
|
|
6699
6728
|
updateRecommendPlace(place);
|
|
6700
6729
|
};
|
|
6701
6730
|
const setCenterPlaceByUserSpecifiedInZone = ({
|
|
6702
|
-
place,
|
|
6731
|
+
place: input,
|
|
6703
6732
|
recommends
|
|
6704
6733
|
}) => {
|
|
6705
|
-
|
|
6706
|
-
|
|
6707
|
-
centerPlace
|
|
6708
|
-
centerPlace.displayName = place.displayName;
|
|
6734
|
+
const place = toPlaceType(input);
|
|
6735
|
+
assertZone(recommends.zone);
|
|
6736
|
+
Object.assign(centerPlace, place);
|
|
6709
6737
|
setPlaceCandidatesAndZone(recommends);
|
|
6710
|
-
|
|
6738
|
+
if (!isZoneEqual(recommends.zone, zoneRef.value))
|
|
6739
|
+
setZoom(ZONE_ZOOM);
|
|
6711
6740
|
emit("changePlace", {
|
|
6712
6741
|
...place
|
|
6713
6742
|
});
|
|
@@ -6715,12 +6744,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6715
6744
|
const panToCenterByPlace = async (place) => {
|
|
6716
6745
|
centerSource.source = "api";
|
|
6717
6746
|
await panTo(place2point(place));
|
|
6718
|
-
centerPlace
|
|
6719
|
-
centerPlace.lat = place.lat;
|
|
6720
|
-
centerPlace.name = place.name;
|
|
6721
|
-
centerPlace.displayName = place.displayName;
|
|
6722
|
-
if (zoneRef.value)
|
|
6723
|
-
setZoom(ZONE_ZOOM);
|
|
6747
|
+
Object.assign(centerPlace, place);
|
|
6724
6748
|
emit("changePlace", {
|
|
6725
6749
|
...place
|
|
6726
6750
|
});
|
|
@@ -6731,7 +6755,8 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6731
6755
|
inputPlace: {
|
|
6732
6756
|
...place
|
|
6733
6757
|
},
|
|
6734
|
-
isInZone: !!zoneRef.value
|
|
6758
|
+
isInZone: !!zoneRef.value,
|
|
6759
|
+
isSameZone: !!zoneRef.value
|
|
6735
6760
|
});
|
|
6736
6761
|
};
|
|
6737
6762
|
const defaultCenterPlacePromise = new Promise((resolve) => {
|
|
@@ -6749,18 +6774,21 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6749
6774
|
} = useGeoLocation({
|
|
6750
6775
|
geoDefaultPosition,
|
|
6751
6776
|
onLoad: async (value) => {
|
|
6777
|
+
const [lng, lat] = value.position;
|
|
6752
6778
|
await readyPromise;
|
|
6753
6779
|
centerSource.source = "geo";
|
|
6780
|
+
centerPlace.lng = lng;
|
|
6781
|
+
centerPlace.lat = lat;
|
|
6754
6782
|
updatePlace(value.position);
|
|
6755
6783
|
emit("loadGeoLocation", value);
|
|
6756
6784
|
},
|
|
6757
6785
|
onLoadDefault: async (value) => {
|
|
6758
6786
|
await readyPromise;
|
|
6759
|
-
const
|
|
6787
|
+
const inputPlace = await defaultCenterPlacePromise;
|
|
6760
6788
|
centerSource.source = "geo";
|
|
6761
6789
|
emit("loadDefaultGeoLocation", value);
|
|
6762
|
-
if (
|
|
6763
|
-
await setCenterPlaceByUserSpecified(
|
|
6790
|
+
if (inputPlace) {
|
|
6791
|
+
await setCenterPlaceByUserSpecified(inputPlace);
|
|
6764
6792
|
} else {
|
|
6765
6793
|
updatePlace(value.position);
|
|
6766
6794
|
}
|
|
@@ -6795,7 +6823,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6795
6823
|
availableRef,
|
|
6796
6824
|
isElectedRef
|
|
6797
6825
|
} = useMapRecomendPlace({
|
|
6798
|
-
|
|
6826
|
+
defaultPoint: place2point(centerPlace),
|
|
6799
6827
|
emptyPlaceName: DEFAULT_PLACE_NAME,
|
|
6800
6828
|
context: centerSource,
|
|
6801
6829
|
getRecomendPlace: pipedGetRecomendPlace,
|
|
@@ -6812,29 +6840,27 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6812
6840
|
throw new Error(`MyError: should not call getLimit on source: ${source}`);
|
|
6813
6841
|
}
|
|
6814
6842
|
},
|
|
6815
|
-
onChangePlace: (place) =>
|
|
6816
|
-
if (centerSource.source !== "recomend") {
|
|
6817
|
-
updateRecommendPlace(place);
|
|
6818
|
-
}
|
|
6819
|
-
emit("changePlace", place);
|
|
6820
|
-
},
|
|
6843
|
+
onChangePlace: (place) => emit("changePlace", place),
|
|
6821
6844
|
onChange: async ({
|
|
6822
6845
|
place,
|
|
6823
6846
|
inputPlace,
|
|
6824
|
-
isInZone
|
|
6847
|
+
isInZone,
|
|
6848
|
+
isSameZone
|
|
6825
6849
|
}) => {
|
|
6850
|
+
debugger;
|
|
6826
6851
|
centerSource.source = "recomend";
|
|
6827
6852
|
if (isPlaceEqual(place, centerPlace))
|
|
6828
6853
|
panTo(place2point(place));
|
|
6829
6854
|
Object.assign(centerPlace, {
|
|
6830
6855
|
...place
|
|
6831
6856
|
});
|
|
6832
|
-
if (isInZone)
|
|
6857
|
+
if (isInZone && !isSameZone)
|
|
6833
6858
|
setZoom(ZONE_ZOOM);
|
|
6834
6859
|
emit("changeRecomandPlace", {
|
|
6835
6860
|
place,
|
|
6836
6861
|
inputPlace,
|
|
6837
|
-
isInZone
|
|
6862
|
+
isInZone,
|
|
6863
|
+
isSameZone
|
|
6838
6864
|
});
|
|
6839
6865
|
}
|
|
6840
6866
|
});
|
|
@@ -6857,7 +6883,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6857
6883
|
const description = !availableRef.value ? void 0 : isElectedRef.value ? recomendDescription : void 0;
|
|
6858
6884
|
return h(HeycarMap, {
|
|
6859
6885
|
"attrs": {
|
|
6860
|
-
"center":
|
|
6886
|
+
"center": place2point(centerPlace),
|
|
6861
6887
|
"zoom": zoomRef.value,
|
|
6862
6888
|
"touchZoomCenter": true,
|
|
6863
6889
|
"mapRef": setMap,
|
|
@@ -6933,7 +6959,6 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6933
6959
|
name: defaultPlace.name,
|
|
6934
6960
|
displayName: defaultPlace.displayName
|
|
6935
6961
|
});
|
|
6936
|
-
const centerPoint = computed(() => [centerPlace.lng, centerPlace.lat]);
|
|
6937
6962
|
const centerSource = {
|
|
6938
6963
|
source: "default"
|
|
6939
6964
|
};
|
|
@@ -6944,24 +6969,18 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6944
6969
|
const setCenterPlaceByUserSpecified = async (input) => {
|
|
6945
6970
|
centerSource.source = "api";
|
|
6946
6971
|
const place = toPlaceType(input);
|
|
6947
|
-
centerPlace
|
|
6948
|
-
centerPlace.lat = place.lat;
|
|
6949
|
-
centerPlace.name = place.name;
|
|
6950
|
-
centerPlace.displayName = place.displayName;
|
|
6951
|
-
emit("changePlace", {
|
|
6952
|
-
...place
|
|
6953
|
-
});
|
|
6972
|
+
Object.assign(centerPlace, place);
|
|
6954
6973
|
updateRecommendPlace(place);
|
|
6955
6974
|
};
|
|
6956
6975
|
const setCenterPlaceByUserSpecifiedInZone = ({
|
|
6957
|
-
place,
|
|
6976
|
+
place: input,
|
|
6958
6977
|
recommends
|
|
6959
6978
|
}) => {
|
|
6960
|
-
|
|
6961
|
-
|
|
6962
|
-
centerPlace
|
|
6963
|
-
|
|
6964
|
-
|
|
6979
|
+
const place = toPlaceType(input);
|
|
6980
|
+
assertZone(recommends.zone);
|
|
6981
|
+
Object.assign(centerPlace, place);
|
|
6982
|
+
if (!isZoneEqual(recommends.zone, zoneRef.value))
|
|
6983
|
+
setZoom(ZONE_ZOOM);
|
|
6965
6984
|
setPlaceCandidatesAndZone(recommends);
|
|
6966
6985
|
emit("changePlace", {
|
|
6967
6986
|
...place
|
|
@@ -6974,8 +6993,6 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6974
6993
|
centerPlace.lat = place.lat;
|
|
6975
6994
|
centerPlace.name = place.name;
|
|
6976
6995
|
centerPlace.displayName = place.displayName;
|
|
6977
|
-
if (zoneRef.value)
|
|
6978
|
-
setZoom(ZONE_ZOOM);
|
|
6979
6996
|
emit("changePlace", {
|
|
6980
6997
|
...place
|
|
6981
6998
|
});
|
|
@@ -6986,7 +7003,8 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6986
7003
|
inputPlace: {
|
|
6987
7004
|
...place
|
|
6988
7005
|
},
|
|
6989
|
-
isInZone: !!zoneRef.value
|
|
7006
|
+
isInZone: !!zoneRef.value,
|
|
7007
|
+
isSameZone: !!zoneRef.value
|
|
6990
7008
|
});
|
|
6991
7009
|
};
|
|
6992
7010
|
const {
|
|
@@ -7029,7 +7047,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
7029
7047
|
availableRef,
|
|
7030
7048
|
isElectedRef
|
|
7031
7049
|
} = useMapRecomendPlace({
|
|
7032
|
-
|
|
7050
|
+
defaultPoint: place2point(centerPlace),
|
|
7033
7051
|
emptyPlaceName: DEFAULT_PLACE_NAME,
|
|
7034
7052
|
context: centerSource,
|
|
7035
7053
|
getRecomendPlace: pipedGetRecomendPlace,
|
|
@@ -7046,16 +7064,12 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
7046
7064
|
throw new Error(`MyError: should not call getLimit on source: ${source}`);
|
|
7047
7065
|
}
|
|
7048
7066
|
},
|
|
7049
|
-
onChangePlace: (place) =>
|
|
7050
|
-
if (centerSource.source !== "recomend") {
|
|
7051
|
-
updateRecommendPlace(place);
|
|
7052
|
-
}
|
|
7053
|
-
emit("changePlace", place);
|
|
7054
|
-
},
|
|
7067
|
+
onChangePlace: (place) => emit("changePlace", place),
|
|
7055
7068
|
onChange: async ({
|
|
7056
7069
|
place,
|
|
7057
7070
|
inputPlace,
|
|
7058
|
-
isInZone
|
|
7071
|
+
isInZone,
|
|
7072
|
+
isSameZone
|
|
7059
7073
|
}) => {
|
|
7060
7074
|
centerSource.source = "recomend";
|
|
7061
7075
|
if (isPlaceEqual(place, centerPlace))
|
|
@@ -7063,12 +7077,13 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
7063
7077
|
Object.assign(centerPlace, {
|
|
7064
7078
|
...place
|
|
7065
7079
|
});
|
|
7066
|
-
if (isInZone)
|
|
7080
|
+
if (isInZone && !isSameZone)
|
|
7067
7081
|
setZoom(ZONE_ZOOM);
|
|
7068
7082
|
emit("changeRecomandPlace", {
|
|
7069
7083
|
place,
|
|
7070
7084
|
inputPlace,
|
|
7071
|
-
isInZone
|
|
7085
|
+
isInZone,
|
|
7086
|
+
isSameZone
|
|
7072
7087
|
});
|
|
7073
7088
|
}
|
|
7074
7089
|
});
|
|
@@ -7094,7 +7109,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
7094
7109
|
const description = !availableRef.value ? void 0 : isElectedRef.value ? recomendDescription : void 0;
|
|
7095
7110
|
return h(HeycarMap, {
|
|
7096
7111
|
"attrs": {
|
|
7097
|
-
"center":
|
|
7112
|
+
"center": place2point(centerPlace),
|
|
7098
7113
|
"zoom": zoomRef.value,
|
|
7099
7114
|
"touchZoomCenter": true,
|
|
7100
7115
|
"mapRef": setMap,
|
|
@@ -7129,38 +7144,6 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
7129
7144
|
})]);
|
|
7130
7145
|
};
|
|
7131
7146
|
}).props(["loading", "fallback", "log", "defaultPlace", "unavailableTitle", "recomendDescription", "getRecomendPlace", "mapContext"]);
|
|
7132
|
-
const useAmapGeometry = () => {
|
|
7133
|
-
const payload = useMapSupplier();
|
|
7134
|
-
const apiMapDistance = (from, to) => {
|
|
7135
|
-
if (payload.status !== Status.SUCCESS)
|
|
7136
|
-
return void 0;
|
|
7137
|
-
return AMap.GeometryUtil.distance(from, to);
|
|
7138
|
-
};
|
|
7139
|
-
const apiMapDistanceToLine = (from, line) => {
|
|
7140
|
-
if (payload.status !== Status.SUCCESS)
|
|
7141
|
-
return void 0;
|
|
7142
|
-
return AMap.GeometryUtil.distanceToLine(from, line);
|
|
7143
|
-
};
|
|
7144
|
-
return { apiMapDistance, apiMapDistanceToLine };
|
|
7145
|
-
};
|
|
7146
|
-
const useGmapGeometry = () => {
|
|
7147
|
-
const payload = useMapSupplier();
|
|
7148
|
-
const apiMapDistance = (from, to) => {
|
|
7149
|
-
if (payload.status !== Status.SUCCESS)
|
|
7150
|
-
return void 0;
|
|
7151
|
-
return google.maps.geometry.spherical.computeDistanceBetween(vec2lnglat(from), vec2lnglat(to));
|
|
7152
|
-
};
|
|
7153
|
-
const apiMapDistanceToLine = (from, line) => {
|
|
7154
|
-
if (payload.status !== Status.SUCCESS)
|
|
7155
|
-
return void 0;
|
|
7156
|
-
return 0;
|
|
7157
|
-
};
|
|
7158
|
-
return { apiMapDistance, apiMapDistanceToLine };
|
|
7159
|
-
};
|
|
7160
|
-
const useMapGeometry = () => {
|
|
7161
|
-
const { supplier } = useMapSupplier();
|
|
7162
|
-
return supplier === "gmap" ? useGmapGeometry() : useAmapGeometry();
|
|
7163
|
-
};
|
|
7164
7147
|
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=";
|
|
7165
7148
|
const TaxiCar_css_ts_vanilla = "";
|
|
7166
7149
|
var carIcon = "_65j3sr1";
|
|
@@ -7514,12 +7497,16 @@ const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
|
7514
7497
|
title,
|
|
7515
7498
|
registerOverlay
|
|
7516
7499
|
} = props;
|
|
7500
|
+
const {
|
|
7501
|
+
language
|
|
7502
|
+
} = useMapSupplier();
|
|
7517
7503
|
const from = place2point(fromPlace);
|
|
7518
7504
|
return h("div", [h(StartEndPoint, {
|
|
7519
7505
|
"attrs": {
|
|
7520
7506
|
"type": "start",
|
|
7521
7507
|
"position": from,
|
|
7522
7508
|
"title": title,
|
|
7509
|
+
"language": language,
|
|
7523
7510
|
"registerOverlay": registerOverlay
|
|
7524
7511
|
}
|
|
7525
7512
|
}), h(WaveCircle, {
|
|
@@ -7545,6 +7532,9 @@ const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
|
7545
7532
|
};
|
|
7546
7533
|
});
|
|
7547
7534
|
const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
7535
|
+
const {
|
|
7536
|
+
language
|
|
7537
|
+
} = useMapSupplier();
|
|
7548
7538
|
const {
|
|
7549
7539
|
apiMapDistance
|
|
7550
7540
|
} = useMapGeometry();
|
|
@@ -7582,13 +7572,15 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
|
7582
7572
|
"attrs": {
|
|
7583
7573
|
"type": "start",
|
|
7584
7574
|
"registerOverlay": registerOverlay,
|
|
7585
|
-
"position": from
|
|
7575
|
+
"position": from,
|
|
7576
|
+
"language": language
|
|
7586
7577
|
}
|
|
7587
7578
|
}), h(StartEndPoint, {
|
|
7588
7579
|
"attrs": {
|
|
7589
7580
|
"type": "end",
|
|
7590
7581
|
"registerOverlay": registerOverlay,
|
|
7591
|
-
"position": to
|
|
7582
|
+
"position": to,
|
|
7583
|
+
"language": language
|
|
7592
7584
|
}
|
|
7593
7585
|
}), h(PlaceCircle, {
|
|
7594
7586
|
"attrs": {
|
|
@@ -7619,6 +7611,9 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7619
7611
|
registerOverlay
|
|
7620
7612
|
} = props;
|
|
7621
7613
|
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7614
|
+
const {
|
|
7615
|
+
language
|
|
7616
|
+
} = useMapSupplier();
|
|
7622
7617
|
const {
|
|
7623
7618
|
apiMapDistance
|
|
7624
7619
|
} = useMapGeometry();
|
|
@@ -7645,7 +7640,8 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7645
7640
|
"attrs": {
|
|
7646
7641
|
"type": "start",
|
|
7647
7642
|
"position": from,
|
|
7648
|
-
"registerOverlay": registerOverlay
|
|
7643
|
+
"registerOverlay": registerOverlay,
|
|
7644
|
+
"language": language
|
|
7649
7645
|
}
|
|
7650
7646
|
}), h(PlaceCircle, {
|
|
7651
7647
|
"attrs": {
|
|
@@ -7720,6 +7716,9 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
7720
7716
|
const {
|
|
7721
7717
|
apiMapDistance
|
|
7722
7718
|
} = useMapGeometry();
|
|
7719
|
+
const {
|
|
7720
|
+
language
|
|
7721
|
+
} = useMapSupplier();
|
|
7723
7722
|
return () => {
|
|
7724
7723
|
const {
|
|
7725
7724
|
from: fromPlace,
|
|
@@ -7766,13 +7765,15 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
7766
7765
|
"attrs": {
|
|
7767
7766
|
"type": "start",
|
|
7768
7767
|
"registerOverlay": registerOverlay,
|
|
7769
|
-
"position": from
|
|
7768
|
+
"position": from,
|
|
7769
|
+
"language": language
|
|
7770
7770
|
}
|
|
7771
7771
|
}), h(StartEndPoint, {
|
|
7772
7772
|
"attrs": {
|
|
7773
7773
|
"type": "end",
|
|
7774
7774
|
"registerOverlay": registerOverlay,
|
|
7775
|
-
"position": to
|
|
7775
|
+
"position": to,
|
|
7776
|
+
"language": language
|
|
7776
7777
|
}
|
|
7777
7778
|
}), h(PlaceCircle, {
|
|
7778
7779
|
"attrs": {
|
|
@@ -7803,6 +7804,9 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7803
7804
|
registerOverlay
|
|
7804
7805
|
} = props;
|
|
7805
7806
|
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7807
|
+
const {
|
|
7808
|
+
language
|
|
7809
|
+
} = useMapSupplier();
|
|
7806
7810
|
const {
|
|
7807
7811
|
apiMapDistance
|
|
7808
7812
|
} = useMapGeometry();
|
|
@@ -7847,7 +7851,8 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7847
7851
|
"attrs": {
|
|
7848
7852
|
"type": "start",
|
|
7849
7853
|
"position": from,
|
|
7850
|
-
"registerOverlay": registerOverlay
|
|
7854
|
+
"registerOverlay": registerOverlay,
|
|
7855
|
+
"language": language
|
|
7851
7856
|
}
|
|
7852
7857
|
}), h(PlaceCircle, {
|
|
7853
7858
|
"attrs": {
|
|
@@ -7880,6 +7885,9 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7880
7885
|
renderTitle
|
|
7881
7886
|
} = props;
|
|
7882
7887
|
const to = place2point(toPlace);
|
|
7888
|
+
const {
|
|
7889
|
+
language
|
|
7890
|
+
} = useMapSupplier();
|
|
7883
7891
|
const {
|
|
7884
7892
|
apiMapDistance
|
|
7885
7893
|
} = useMapGeometry();
|
|
@@ -7927,7 +7935,8 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7927
7935
|
"attrs": {
|
|
7928
7936
|
"type": "end",
|
|
7929
7937
|
"position": to,
|
|
7930
|
-
"registerOverlay": registerOverlay
|
|
7938
|
+
"registerOverlay": registerOverlay,
|
|
7939
|
+
"language": language
|
|
7931
7940
|
}
|
|
7932
7941
|
}), h(PlaceCircle, {
|
|
7933
7942
|
"attrs": {
|
|
@@ -7948,6 +7957,9 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7948
7957
|
};
|
|
7949
7958
|
});
|
|
7950
7959
|
const SectionCanceled = defineSetup(function SectionCanceled2(props) {
|
|
7960
|
+
const {
|
|
7961
|
+
language
|
|
7962
|
+
} = useMapSupplier();
|
|
7951
7963
|
return () => {
|
|
7952
7964
|
const {
|
|
7953
7965
|
from: fromPlace,
|
|
@@ -7960,13 +7972,15 @@ const SectionCanceled = defineSetup(function SectionCanceled2(props) {
|
|
|
7960
7972
|
"attrs": {
|
|
7961
7973
|
"type": "start",
|
|
7962
7974
|
"position": from,
|
|
7963
|
-
"registerOverlay": registerOverlay
|
|
7975
|
+
"registerOverlay": registerOverlay,
|
|
7976
|
+
"language": language
|
|
7964
7977
|
}
|
|
7965
7978
|
}), h(StartEndPoint, {
|
|
7966
7979
|
"attrs": {
|
|
7967
7980
|
"type": "end",
|
|
7968
7981
|
"position": to,
|
|
7969
|
-
"registerOverlay": registerOverlay
|
|
7982
|
+
"registerOverlay": registerOverlay,
|
|
7983
|
+
"language": language
|
|
7970
7984
|
}
|
|
7971
7985
|
}), h(PlaceCircle, {
|
|
7972
7986
|
"attrs": {
|
|
@@ -7993,6 +8007,9 @@ const SectionCanceled = defineSetup(function SectionCanceled2(props) {
|
|
|
7993
8007
|
};
|
|
7994
8008
|
});
|
|
7995
8009
|
const SectionEndService = defineSetup(function SectionEndService2(props) {
|
|
8010
|
+
const {
|
|
8011
|
+
language
|
|
8012
|
+
} = useMapSupplier();
|
|
7996
8013
|
return () => {
|
|
7997
8014
|
const {
|
|
7998
8015
|
from: fromPlace,
|
|
@@ -8018,13 +8035,15 @@ const SectionEndService = defineSetup(function SectionEndService2(props) {
|
|
|
8018
8035
|
"attrs": {
|
|
8019
8036
|
"type": "start",
|
|
8020
8037
|
"position": from,
|
|
8021
|
-
"registerOverlay": registerOverlay
|
|
8038
|
+
"registerOverlay": registerOverlay,
|
|
8039
|
+
"language": language
|
|
8022
8040
|
}
|
|
8023
8041
|
}), h(StartEndPoint, {
|
|
8024
8042
|
"attrs": {
|
|
8025
8043
|
"type": "end",
|
|
8026
8044
|
"position": to,
|
|
8027
|
-
"registerOverlay": registerOverlay
|
|
8045
|
+
"registerOverlay": registerOverlay,
|
|
8046
|
+
"language": language
|
|
8028
8047
|
}
|
|
8029
8048
|
}), h(PlaceCircle, {
|
|
8030
8049
|
"attrs": {
|