@heycar/heycars-map 0.9.0 → 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 +511 -354
- package/dist/index.js +511 -354
- package/dist/src/Demo/DemoBusinessTaxiEnd.d.ts +12 -2
- package/dist/src/api/contants.d.ts +3 -0
- package/dist/src/business-components/FitView/FitView.d.ts +4 -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/useMapTouchEvent.d.ts +15 -0
- package/dist/src/hooks/useMapZoom.d.ts +2 -2
- package/dist/src/utils/helper.d.ts +20 -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,19 +1098,81 @@ 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
|
};
|
|
1122
|
+
function defered() {
|
|
1123
|
+
const defer = {};
|
|
1124
|
+
const promise = new Promise((resolve, reject) => {
|
|
1125
|
+
defer.state = "pending";
|
|
1126
|
+
defer.resolve = async (value) => {
|
|
1127
|
+
try {
|
|
1128
|
+
const result = await value;
|
|
1129
|
+
defer.state = "fulfilled";
|
|
1130
|
+
return resolve(result);
|
|
1131
|
+
} catch (err) {
|
|
1132
|
+
defer.state = "rejected";
|
|
1133
|
+
reject(err);
|
|
1134
|
+
}
|
|
1135
|
+
};
|
|
1136
|
+
defer.reject = (reason) => {
|
|
1137
|
+
defer.state = "rejected";
|
|
1138
|
+
return reject(reason);
|
|
1139
|
+
};
|
|
1140
|
+
});
|
|
1141
|
+
return Object.assign(promise, defer);
|
|
1142
|
+
}
|
|
1143
|
+
const pausableSleep = (milliSeconds) => {
|
|
1144
|
+
const sleepDefered = defered();
|
|
1145
|
+
let id = setTimeout(sleepDefered.resolve, milliSeconds);
|
|
1146
|
+
let isPaused = false;
|
|
1147
|
+
const pause = () => {
|
|
1148
|
+
if (isPaused || sleepDefered.state === "fulfilled")
|
|
1149
|
+
return;
|
|
1150
|
+
console.log("pause");
|
|
1151
|
+
isPaused = true;
|
|
1152
|
+
clearTimeout(id);
|
|
1153
|
+
};
|
|
1154
|
+
const restart = () => {
|
|
1155
|
+
if (sleepDefered.state === "fulfilled")
|
|
1156
|
+
return;
|
|
1157
|
+
console.log("restart");
|
|
1158
|
+
isPaused = false;
|
|
1159
|
+
clearTimeout(id);
|
|
1160
|
+
id = setTimeout(sleepDefered.resolve, milliSeconds);
|
|
1161
|
+
};
|
|
1162
|
+
return { sleepPromise: sleepDefered, pause, restart };
|
|
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;
|
|
1114
1176
|
const vec2lnglat = ([lng, lat]) => ({
|
|
1115
1177
|
lng: Number(lng),
|
|
1116
1178
|
lat: Number(lat)
|
|
@@ -1182,6 +1244,9 @@ const isGeoPositionEqual = (p1, p2) => {
|
|
|
1182
1244
|
return false;
|
|
1183
1245
|
return p1.coords.longitude === p2.coords.longitude && p1.coords.latitude === p2.coords.latitude;
|
|
1184
1246
|
};
|
|
1247
|
+
const isZoneEqual = (z1, z2) => {
|
|
1248
|
+
return z1.path.every((point, idx) => isPointEqual(point, z2 == null ? void 0 : z2.path[idx]));
|
|
1249
|
+
};
|
|
1185
1250
|
const amapPlaceName2DisplayName = (name2, options) => {
|
|
1186
1251
|
const { isChina, province, city, district, township } = options;
|
|
1187
1252
|
if (!name2)
|
|
@@ -1196,6 +1261,12 @@ const amapPlaceName2DisplayName = (name2, options) => {
|
|
|
1196
1261
|
}
|
|
1197
1262
|
return result;
|
|
1198
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
|
+
};
|
|
1199
1270
|
const toPlaceType = (maybePlace) => {
|
|
1200
1271
|
var _a;
|
|
1201
1272
|
const lng = Number(maybePlace.lng);
|
|
@@ -2201,15 +2272,6 @@ function detectWebGL() {
|
|
|
2201
2272
|
}
|
|
2202
2273
|
return "NOT_SUPPORTED";
|
|
2203
2274
|
}
|
|
2204
|
-
const MAX_ANIMATION_DISTANCE_VW = 100;
|
|
2205
|
-
const BEIJIN_POINT = [116.2317, 39.5427];
|
|
2206
|
-
const ZINDEX_BUBBLE_LAYER = 50;
|
|
2207
|
-
const ZINDEX_START_END_LOGO_LAYER = 40;
|
|
2208
|
-
const ZINDEX_PLACE_LAYER = 30;
|
|
2209
|
-
const ZINDEX_CAR_LAYER = 21;
|
|
2210
|
-
const ZINDEX_PASSENGER_LAYER = 20;
|
|
2211
|
-
const ZINDEX_LINE_LAYER = 12;
|
|
2212
|
-
const ZINDEX_GREEN_ZONE = 10;
|
|
2213
2275
|
const useAmapLngLatToVw = (props) => {
|
|
2214
2276
|
const apiMapLngLatToVw = (point) => {
|
|
2215
2277
|
const amap2 = props.mapRef.value;
|
|
@@ -2345,8 +2407,13 @@ const Amap = defineSetup(function Amap2(props, { slots, emit }) {
|
|
|
2345
2407
|
const map = mapRef.value;
|
|
2346
2408
|
if (!center || !map)
|
|
2347
2409
|
return;
|
|
2348
|
-
|
|
2349
|
-
|
|
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);
|
|
2350
2417
|
}
|
|
2351
2418
|
);
|
|
2352
2419
|
watch(
|
|
@@ -3145,6 +3212,36 @@ const useMapFitView = (props) => {
|
|
|
3145
3212
|
const { supplier } = useMapSupplier();
|
|
3146
3213
|
return supplier === "gmap" ? useGmapFitView(props) : useAmapFitView(props);
|
|
3147
3214
|
};
|
|
3215
|
+
const useAmapTouchEvent = () => {
|
|
3216
|
+
const mapRef = useAmap();
|
|
3217
|
+
const addMapEventListener = (name2, handler) => {
|
|
3218
|
+
var _a;
|
|
3219
|
+
return (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.on(name2, handler);
|
|
3220
|
+
};
|
|
3221
|
+
const removeMapEventListener = (name2, handler) => {
|
|
3222
|
+
var _a;
|
|
3223
|
+
return (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.off(name2, handler);
|
|
3224
|
+
};
|
|
3225
|
+
return { addMapEventListener, removeMapEventListener };
|
|
3226
|
+
};
|
|
3227
|
+
const useGmapTouchEvent = () => {
|
|
3228
|
+
const mapRef = useGmap();
|
|
3229
|
+
const addMapEventListener = (name2, handler) => {
|
|
3230
|
+
var _a;
|
|
3231
|
+
const container = (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.getDiv();
|
|
3232
|
+
return container == null ? void 0 : container.addEventListener(name2, handler);
|
|
3233
|
+
};
|
|
3234
|
+
const removeMapEventListener = (name2, handler) => {
|
|
3235
|
+
var _a;
|
|
3236
|
+
const container = (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.getDiv();
|
|
3237
|
+
return container == null ? void 0 : container.removeEventListener(name2, handler);
|
|
3238
|
+
};
|
|
3239
|
+
return { addMapEventListener, removeMapEventListener };
|
|
3240
|
+
};
|
|
3241
|
+
const useMapTouchEvent = () => {
|
|
3242
|
+
const { supplier } = useMapSupplier();
|
|
3243
|
+
return supplier === "gmap" ? useGmapTouchEvent() : useAmapTouchEvent();
|
|
3244
|
+
};
|
|
3148
3245
|
defineSetup(function FitView(props, {
|
|
3149
3246
|
slots
|
|
3150
3247
|
}) {
|
|
@@ -3197,7 +3294,7 @@ function createFittableRegisterOverlay(registerOverlay) {
|
|
|
3197
3294
|
setFitView
|
|
3198
3295
|
};
|
|
3199
3296
|
}
|
|
3200
|
-
|
|
3297
|
+
defineSetup(function KeyedFitView(props, {
|
|
3201
3298
|
slots
|
|
3202
3299
|
}) {
|
|
3203
3300
|
const mapMountedPromise = useMapMountedPromise();
|
|
@@ -3218,7 +3315,51 @@ const KeyedFitView = defineSetup(function KeyedFitView2(props, {
|
|
|
3218
3315
|
return h("div", [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
|
3219
3316
|
};
|
|
3220
3317
|
});
|
|
3318
|
+
const InterruptableIntervalFitView = defineSetup(function InterruptableIntervalFitView2(props) {
|
|
3319
|
+
const {
|
|
3320
|
+
registerOverlay
|
|
3321
|
+
} = props;
|
|
3322
|
+
const mapMountedPromise = useMapMountedPromise();
|
|
3323
|
+
const {
|
|
3324
|
+
addMapEventListener,
|
|
3325
|
+
removeMapEventListener
|
|
3326
|
+
} = useMapTouchEvent();
|
|
3327
|
+
watch(() => 0, async (_1, _2, onCleanup) => {
|
|
3328
|
+
await mapMountedPromise;
|
|
3329
|
+
let skip = false;
|
|
3330
|
+
let pause;
|
|
3331
|
+
let restart;
|
|
3332
|
+
let sleepPromise;
|
|
3333
|
+
const handleTouchStartOrMove = () => pause();
|
|
3334
|
+
const handleTouchEnd = () => restart();
|
|
3335
|
+
addMapEventListener("touchstart", handleTouchStartOrMove);
|
|
3336
|
+
addMapEventListener("touchmove", handleTouchStartOrMove);
|
|
3337
|
+
addMapEventListener("touchend", handleTouchEnd);
|
|
3338
|
+
onCleanup(() => {
|
|
3339
|
+
skip = true;
|
|
3340
|
+
removeEventListener("touchstart", handleTouchStartOrMove);
|
|
3341
|
+
removeMapEventListener("touchmove", handleTouchStartOrMove);
|
|
3342
|
+
removeMapEventListener("touchend", handleTouchEnd);
|
|
3343
|
+
});
|
|
3344
|
+
while (!skip) {
|
|
3345
|
+
({
|
|
3346
|
+
pause,
|
|
3347
|
+
restart,
|
|
3348
|
+
sleepPromise
|
|
3349
|
+
} = pausableSleep(props.interval));
|
|
3350
|
+
await sleepPromise;
|
|
3351
|
+
console.log("InterruptableIntervalFitView setFitView");
|
|
3352
|
+
registerOverlay.setFitView();
|
|
3353
|
+
}
|
|
3354
|
+
}, {
|
|
3355
|
+
immediate: true,
|
|
3356
|
+
flush: "post"
|
|
3357
|
+
});
|
|
3358
|
+
return () => null;
|
|
3359
|
+
});
|
|
3360
|
+
const imgEndPointEn = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0xMiAzMGMyLjEzNCAwIDMuODYzLS44OTMgMy44NjMtMS45OTUgMC0xLjEtMS43My0xLjk5NC0zLjg2My0xLjk5NC0yLjEzNCAwLTMuODYzLjg5My0zLjg2MyAxLjk5NEM4LjEzNyAyOS4xMDcgOS44NjcgMzAgMTIgMzB6IiBmaWxsLW9wYWNpdHk9Ii41IiBmaWxsPSIjNDM0ODVBIi8+PHBhdGggZD0iTTExIDI3LjAwNmMyLjEyOCAwLS45LTMuNzQzIDUuNjIxLTYuNjQzQzE5Ljg0MiAxOC40NTMgMjIgMTQuOTUzIDIyIDEwLjk1IDIyIDQuOTAyIDE3LjA3NSAwIDExIDBTMCA0LjkwMiAwIDEwLjk1YzAgMy45MTggMi4wNjggNy4zNTYgNS4xNzcgOS4yOUMxMS43NSAyMy4yODQgOS4wNiAyNy4wMDcgMTEgMjcuMDA3di0uMDAxeiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiLz48ZyBmaWxsPSIjRkZGIj48cGF0aCBkPSJNOC44OTMgMTIuNjY2SDYuNjYzdjEuMzY1aDIuNTc0di45NTJoLTMuNjZ2LTUuNDloMy41Nzh2Ljk0Nkg2LjY2M3YxLjI5aDIuMjI5ek0xMi4yNzUgMTEuMDAxYy40MyAwIC43Ny4xNDEgMS4wMi40MjQuMjUuMjgyLjM3NS42OTMuMzc1IDEuMjMzdjIuMzI1aC0xLjA0M3YtMS45ODdjMC0uNzEtLjIzNS0xLjA2NS0uNzA1LTEuMDY1YS43MzIuNzMyIDAgMDAtLjYwMy4yODljLS4xNTMuMTkyLS4yMjkuNDYzLS4yMjkuODEzdjEuOTVoLTEuMDQzdi0zLjg4NWguOTE1Yy4wMjUuMzA1LjA0OC41MTMuMDY4LjYyMy4yNS0uNDguNjY1LS43MiAxLjI0NS0uNzJ6TTE3LjI3NyA5LjI3NmgxLjA0M3Y1LjcwN2gtLjkxNWMtLjAyNS0uMjktLjA0NS0uNDg1LS4wNi0uNTg1YTEuMzE3IDEuMzE3IDAgMDEtLjUyOS41MDcgMS41MiAxLjUyIDAgMDEtLjcwOS4xNjhjLS4zMiAwLS42MTItLjA4LS44NzctLjI0YTEuNzI0IDEuNzI0IDAgMDEtLjYzOC0uN2MtLjE2LS4zMDgtLjI0LS42NzItLjI0LTEuMDkyIDAtLjQyNS4wOC0uNzkxLjI0LTEuMDk5LjE2LS4zMDcuMzczLS41NDEuNjM4LS43MDEuMjY1LS4xNi41NTctLjI0Ljg3Ny0uMjQuMjM1IDAgLjQ1NC4wNDcuNjU3LjE0Mi4yMDIuMDk1LjM3My4yNC41MTMuNDM1VjkuMjc2em0tLjkzIDQuOTA1Yy4yNiAwIC40OC0uMDk1LjY2LS4yODUuMTgtLjE5LjI3LS40NzUuMjctLjg1NSAwLS4zNzUtLjA5LS42NTQtLjI3LS44MzZhLjg5Mi44OTIgMCAwMC0uNjYtLjI3NC44MzIuODMyIDAgMDAtLjY2My4yOTJjLS4xNjguMTk1LS4yNTEuNDY4LS4yNTEuODE4IDAgLjM1LjA4My42MjcuMjUuODMyYS44MTUuODE1IDAgMDAuNjY1LjMwOHoiLz48L2c+PC9nPjwvc3ZnPg==";
|
|
3221
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+";
|
|
3222
3363
|
const imgStartPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTIgMzAuMjE1YzEuOTUgMCAzLjUzMi0uODE2IDMuNTMyLTEuODIzIDAtMS4wMDctMS41ODEtMS44MjMtMy41MzItMS44MjMtMS45NSAwLTMuNTMyLjgxNi0zLjUzMiAxLjgyMyAwIDEuMDA3IDEuNTgxIDEuODIzIDMuNTMyIDEuODIzeiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyN2MyLjEyOCAwLS45LTMuNzQyIDUuNjIxLTYuNjQxIDMuMjIxLTEuOTEgNS4zNzktNS40MSA1LjM3OS05LjQxMkMyMiA0LjkwMSAxNy4wNzUgMCAxMSAwUzAgNC45MDEgMCAxMC45NDdjMCAzLjkxOCAyLjA2OCA3LjM1NSA1LjE3NyA5LjI5QzExLjc1IDIzLjI3NyA5LjA2IDI3IDExIDI3eiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMS4yMTUpIi8+PHRleHQgZm9udC1mYW1pbHk9IlBpbmdGYW5nU0MtU2VtaWJvbGQsIFBpbmdGYW5nIFNDIiBmb250LXNpemU9IjEyIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSIjRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSI+PHRzcGFuIHg9IjUiIHk9IjE1LjYyNCI+6LW3PC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==";
|
|
3223
3364
|
const StartEndPoint_css_ts_vanilla = "";
|
|
3224
3365
|
var arrowRight = createRuntimeFn({ defaultClassName: "_4a4ovka", variantClassNames: { withArrow: { true: "_4a4ovkb", false: "_4a4ovkc" } }, defaultVariants: {}, compoundVariants: [] });
|
|
@@ -3238,9 +3379,10 @@ const AStartEndPoint = defineSetup(function AStartEndPoint2(props, {
|
|
|
3238
3379
|
withArrow = false,
|
|
3239
3380
|
title,
|
|
3240
3381
|
description,
|
|
3241
|
-
type: type2
|
|
3382
|
+
type: type2,
|
|
3383
|
+
language
|
|
3242
3384
|
} = props;
|
|
3243
|
-
const icon = type2 === "start" ? imgStartPoint : imgEndPoint;
|
|
3385
|
+
const icon = type2 === "start" ? language === "zh" ? imgStartPoint : imgStartPointEn : language === "zh" ? imgEndPoint : imgEndPointEn;
|
|
3244
3386
|
const descriptionRow = !description ? "" : decodeAsterisk(description).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize$1}">${item.value}</span>`).join("");
|
|
3245
3387
|
if (!description && !title)
|
|
3246
3388
|
return `<img class="AStartEndPoint ${pointIcon({
|
|
@@ -3305,9 +3447,10 @@ const GStartEndPoint = defineSetup(function GStartEndPoint2(props, {
|
|
|
3305
3447
|
withArrow = false,
|
|
3306
3448
|
title,
|
|
3307
3449
|
description,
|
|
3308
|
-
type: type2
|
|
3450
|
+
type: type2,
|
|
3451
|
+
language = "zh"
|
|
3309
3452
|
} = props;
|
|
3310
|
-
const icon = type2 === "start" ? imgStartPoint : imgEndPoint;
|
|
3453
|
+
const icon = type2 === "start" ? language === "zh" ? imgStartPoint : imgStartPointEn : language === "zh" ? imgEndPoint : imgEndPointEn;
|
|
3311
3454
|
const descriptionRow = !description ? "" : decodeAsterisk(description).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize$1}">${item.value}</span>`).join("");
|
|
3312
3455
|
if (!description && !title)
|
|
3313
3456
|
return createDom("img", {
|
|
@@ -3389,6 +3532,9 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props,
|
|
|
3389
3532
|
mapRef,
|
|
3390
3533
|
renderDescription
|
|
3391
3534
|
} = props;
|
|
3535
|
+
const {
|
|
3536
|
+
language
|
|
3537
|
+
} = useMapSupplier();
|
|
3392
3538
|
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
3393
3539
|
const deferedSetFitView = pipeDefer(registerOverlay.setFitView);
|
|
3394
3540
|
return () => {
|
|
@@ -3417,7 +3563,8 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props,
|
|
|
3417
3563
|
"position": from,
|
|
3418
3564
|
"title": fromPlace.displayName,
|
|
3419
3565
|
"description": fromDescription,
|
|
3420
|
-
"withArrow": true
|
|
3566
|
+
"withArrow": true,
|
|
3567
|
+
"language": language
|
|
3421
3568
|
},
|
|
3422
3569
|
"on": {
|
|
3423
3570
|
"click": () => emit("clickStartPoint", fromPlace)
|
|
@@ -3444,7 +3591,8 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props,
|
|
|
3444
3591
|
distance,
|
|
3445
3592
|
duration
|
|
3446
3593
|
}),
|
|
3447
|
-
"withArrow": true
|
|
3594
|
+
"withArrow": true,
|
|
3595
|
+
"language": language
|
|
3448
3596
|
},
|
|
3449
3597
|
"on": {
|
|
3450
3598
|
"click": () => emit("clickEndPoint", toPlace)
|
|
@@ -3873,8 +4021,6 @@ const useGeoLocation = (props) => {
|
|
|
3873
4021
|
geoReady: readyRef
|
|
3874
4022
|
};
|
|
3875
4023
|
};
|
|
3876
|
-
const MAX_AMAP_PAN_TO_ANIMATE_DURATION = 500;
|
|
3877
|
-
const MIN_AMAP_PAN_TO_ANIMATE_DURATION = 100;
|
|
3878
4024
|
const useHeycarAmap = () => {
|
|
3879
4025
|
const amapRef = shallowRef();
|
|
3880
4026
|
const amapElementRef = shallowRef();
|
|
@@ -3891,10 +4037,7 @@ const useHeycarAmap = () => {
|
|
|
3891
4037
|
const distanceVw = apiMapDistanceVwOfPoints(value, [lng, lat]);
|
|
3892
4038
|
const shouldAnimate = distanceVw < MAX_ANIMATION_DISTANCE_VW;
|
|
3893
4039
|
if (shouldAnimate) {
|
|
3894
|
-
const duration =
|
|
3895
|
-
MIN_AMAP_PAN_TO_ANIMATE_DURATION,
|
|
3896
|
-
Math.floor(MAX_AMAP_PAN_TO_ANIMATE_DURATION * distanceVw / MAX_ANIMATION_DISTANCE_VW)
|
|
3897
|
-
);
|
|
4040
|
+
const duration = distanceVw2animationDuration(distanceVw);
|
|
3898
4041
|
amap2.panTo(value, duration);
|
|
3899
4042
|
await sleep(duration);
|
|
3900
4043
|
} else {
|
|
@@ -4020,6 +4163,49 @@ const useMapDrag = (props) => {
|
|
|
4020
4163
|
const { supplier } = useMapSupplier();
|
|
4021
4164
|
return supplier === "gmap" ? useGmapDrag(props) : useAmapDrag(props);
|
|
4022
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
|
+
};
|
|
4023
4209
|
const chinaBounds = [
|
|
4024
4210
|
[
|
|
4025
4211
|
108.03446,
|
|
@@ -5539,12 +5725,9 @@ const useAmapPlace = (props) => {
|
|
|
5539
5725
|
place.name = value.name;
|
|
5540
5726
|
place.displayName = value.displayName;
|
|
5541
5727
|
};
|
|
5542
|
-
|
|
5543
|
-
() =>
|
|
5544
|
-
async () => {
|
|
5545
|
-
await readyPromise;
|
|
5728
|
+
const getPlaceByRegeo = ([lng, lat]) => {
|
|
5729
|
+
return new Promise((resolve, reject) => {
|
|
5546
5730
|
const geocoder = new AMap.Geocoder({ lang: language === "en" ? "en" : "zh_cn" });
|
|
5547
|
-
const [lng, lat] = pointRef.value;
|
|
5548
5731
|
const isChina = inChina([lng, lat]);
|
|
5549
5732
|
geocoder.getAddress(new AMap.LngLat(lng, lat), (status, result) => {
|
|
5550
5733
|
switch (status) {
|
|
@@ -5552,30 +5735,30 @@ const useAmapPlace = (props) => {
|
|
|
5552
5735
|
const { formattedAddress, addressComponent } = result.regeocode;
|
|
5553
5736
|
const name2 = formattedAddress ? formattedAddress : emptyPlaceName;
|
|
5554
5737
|
const displayName = amapPlaceName2DisplayName(name2, { isChina, ...addressComponent });
|
|
5555
|
-
|
|
5556
|
-
place.displayName = displayName;
|
|
5557
|
-
place.lng = lng;
|
|
5558
|
-
place.lat = lat;
|
|
5559
|
-
onChange == null ? void 0 : onChange({ lng, lat, name: name2, displayName });
|
|
5738
|
+
resolve({ lng, lat, name: name2, displayName });
|
|
5560
5739
|
return;
|
|
5561
5740
|
}
|
|
5562
5741
|
case "no_data": {
|
|
5563
5742
|
const name2 = emptyPlaceName;
|
|
5564
5743
|
const displayName = emptyPlaceName;
|
|
5565
|
-
|
|
5566
|
-
place.displayName = displayName;
|
|
5567
|
-
place.lng = lng;
|
|
5568
|
-
place.lat = lat;
|
|
5569
|
-
onChange == null ? void 0 : onChange({ lng, lat, name: name2, displayName });
|
|
5744
|
+
resolve({ lng, lat, name: name2, displayName });
|
|
5570
5745
|
return;
|
|
5571
5746
|
}
|
|
5572
5747
|
case "error":
|
|
5573
|
-
|
|
5748
|
+
reject(result);
|
|
5574
5749
|
}
|
|
5575
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);
|
|
5576
5759
|
}
|
|
5577
5760
|
);
|
|
5578
|
-
return { place, updatePlace, setPlace };
|
|
5761
|
+
return { place, updatePlace, setPlace, getPlaceByRegeo };
|
|
5579
5762
|
};
|
|
5580
5763
|
const useGmapPlace = (props) => {
|
|
5581
5764
|
const { onChange, emptyPlaceName } = props;
|
|
@@ -5599,214 +5782,182 @@ const useGmapPlace = (props) => {
|
|
|
5599
5782
|
place.name = value.name;
|
|
5600
5783
|
place.displayName = value.displayName;
|
|
5601
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
|
+
};
|
|
5602
5795
|
watch(
|
|
5603
5796
|
() => placeKey.value,
|
|
5604
5797
|
async () => {
|
|
5605
5798
|
await readyPromise;
|
|
5606
|
-
const
|
|
5607
|
-
|
|
5608
|
-
const { results } = await geocoder.geocode({ language, location: { lng, lat } });
|
|
5609
|
-
const name2 = results[0].formatted_address ? results[0].formatted_address : emptyPlaceName;
|
|
5610
|
-
const displayName = name2;
|
|
5611
|
-
place.lng = lng;
|
|
5612
|
-
place.lat = lat;
|
|
5613
|
-
place.name = name2;
|
|
5614
|
-
place.displayName = displayName;
|
|
5615
|
-
onChange == null ? void 0 : onChange({ lng, lat, name: name2, displayName });
|
|
5799
|
+
const resultPlace = await getPlaceByRegeo(pointRef.value);
|
|
5800
|
+
onChange == null ? void 0 : onChange(resultPlace);
|
|
5616
5801
|
}
|
|
5617
5802
|
);
|
|
5618
|
-
return { place, updatePlace, setPlace };
|
|
5803
|
+
return { place, updatePlace, setPlace, getPlaceByRegeo };
|
|
5619
5804
|
};
|
|
5620
5805
|
const useMapPlace = (props) => {
|
|
5621
5806
|
const { supplier } = useMapSupplier();
|
|
5622
5807
|
return supplier === "gmap" ? useGmapPlace(props) : useAmapPlace(props);
|
|
5623
5808
|
};
|
|
5624
|
-
|
|
5625
|
-
|
|
5626
|
-
let shortestPlace = place;
|
|
5627
|
-
for (const candidate of candidates) {
|
|
5628
|
-
const distance = AMap.GeometryUtil.distance(place2point(place), place2point(candidate));
|
|
5629
|
-
if (distance >= shortestDistance)
|
|
5630
|
-
continue;
|
|
5631
|
-
shortestPlace = candidate;
|
|
5632
|
-
shortestDistance = distance;
|
|
5633
|
-
}
|
|
5634
|
-
return { shortestPlace, shortestDistance };
|
|
5635
|
-
};
|
|
5636
|
-
const findGmapNearestPlace = (place, candidates) => {
|
|
5809
|
+
function findNearestPlace(place, candidates, distanceFn) {
|
|
5810
|
+
var _a;
|
|
5637
5811
|
let shortestDistance = Infinity;
|
|
5638
5812
|
let shortestPlace = place;
|
|
5639
5813
|
for (const candidate of candidates) {
|
|
5640
|
-
const distance =
|
|
5814
|
+
const distance = (_a = distanceFn(place2point(place), place2point(candidate))) != null ? _a : Infinity;
|
|
5641
5815
|
if (distance >= shortestDistance)
|
|
5642
5816
|
continue;
|
|
5643
5817
|
shortestPlace = candidate;
|
|
5644
5818
|
shortestDistance = distance;
|
|
5645
5819
|
}
|
|
5646
5820
|
return { shortestPlace, shortestDistance };
|
|
5647
|
-
}
|
|
5648
|
-
const
|
|
5649
|
-
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;
|
|
5650
5832
|
const availableRef = ref(true);
|
|
5651
5833
|
const placeCandidatesRef = ref([]);
|
|
5652
5834
|
const zoneRef = ref();
|
|
5653
|
-
const {
|
|
5654
|
-
const {
|
|
5655
|
-
const { place, updatePlace, setPlace } = useAmapPlace({
|
|
5835
|
+
const { apiMapIsPointInRing, apiMapDistance } = useMapGeometry();
|
|
5836
|
+
const { getPlaceByRegeo } = useAmapPlace({
|
|
5656
5837
|
emptyPlaceName,
|
|
5657
|
-
pointRef
|
|
5658
|
-
|
|
5838
|
+
pointRef: ref([...defaultPoint])
|
|
5839
|
+
});
|
|
5840
|
+
const recomendPlace = reactive({
|
|
5841
|
+
lng: defaultPoint[0],
|
|
5842
|
+
lat: defaultPoint[1],
|
|
5843
|
+
name: "",
|
|
5844
|
+
displayName: ""
|
|
5659
5845
|
});
|
|
5660
|
-
const recomendPlace = reactive({ ...place });
|
|
5661
5846
|
const isElectedRef = computed(() => {
|
|
5662
|
-
const
|
|
5847
|
+
const recomendPoint = place2point(recomendPlace);
|
|
5663
5848
|
return placeCandidatesRef.value.some(
|
|
5664
|
-
(candidate) => isPointEqual(place2point(candidate),
|
|
5849
|
+
(candidate) => isPointEqual(place2point(candidate), recomendPoint)
|
|
5665
5850
|
);
|
|
5666
5851
|
});
|
|
5667
|
-
const
|
|
5852
|
+
const findAttachedPlace = async (place) => {
|
|
5668
5853
|
var _a;
|
|
5669
5854
|
const {
|
|
5670
5855
|
places: inputPlaceCandidates,
|
|
5671
5856
|
zone,
|
|
5672
|
-
available
|
|
5673
|
-
} = (_a = await getRecomendPlace({ ...
|
|
5857
|
+
available = false
|
|
5858
|
+
} = (_a = await getRecomendPlace({ ...place }, context2)) != null ? _a : {};
|
|
5674
5859
|
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5675
|
-
|
|
5676
|
-
|
|
5677
|
-
|
|
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
|
+
);
|
|
5678
5890
|
return {
|
|
5679
|
-
|
|
5680
|
-
|
|
5681
|
-
|
|
5891
|
+
place: { ...resultPlace },
|
|
5892
|
+
zone,
|
|
5893
|
+
available: prevState.available,
|
|
5894
|
+
candidates: prevState.candidates
|
|
5682
5895
|
};
|
|
5683
5896
|
};
|
|
5684
|
-
const
|
|
5685
|
-
|
|
5686
|
-
|
|
5687
|
-
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5696
|
-
|
|
5697
|
-
|
|
5698
|
-
|
|
5699
|
-
|
|
5700
|
-
|
|
5701
|
-
|
|
5702
|
-
|
|
5703
|
-
|
|
5704
|
-
available
|
|
5705
|
-
} = (_a = await getRecomendPlace({ ...place }, context2)) != null ? _a : {};
|
|
5706
|
-
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5707
|
-
if (!available || !placeCandidates) {
|
|
5708
|
-
availableRef.value = !!available;
|
|
5709
|
-
zoneRef.value = zone;
|
|
5710
|
-
placeCandidatesRef.value = [];
|
|
5711
|
-
Object.assign(recomendPlace, { ...place });
|
|
5712
|
-
onChange == null ? void 0 : onChange({ place: { ...place }, inputPlace: { ...place }, isInZone: !!zone });
|
|
5713
|
-
return;
|
|
5714
|
-
}
|
|
5715
|
-
const { shortestPlace, shortestDistance } = findAmapNearestPlace(place, placeCandidates);
|
|
5716
|
-
const limit = getLimit(context2);
|
|
5717
|
-
const resultPlace = zone || shortestDistance <= limit ? shortestPlace : place;
|
|
5718
|
-
availableRef.value = !!available;
|
|
5719
|
-
zoneRef.value = zone;
|
|
5720
|
-
placeCandidatesRef.value = placeCandidates;
|
|
5721
|
-
Object.assign(recomendPlace, { ...resultPlace });
|
|
5722
|
-
onChange == null ? void 0 : onChange({ place: { ...resultPlace }, inputPlace: { ...place }, isInZone: !!zone });
|
|
5723
|
-
}
|
|
5724
|
-
);
|
|
5725
|
-
return {
|
|
5726
|
-
zoneRef,
|
|
5727
|
-
recomendPlace,
|
|
5728
|
-
placeCandidates: placeCandidatesRef,
|
|
5729
|
-
availableRef,
|
|
5730
|
-
isElectedRef,
|
|
5731
|
-
updateRecommendPlace,
|
|
5732
|
-
updatePlaceCandidates,
|
|
5733
|
-
updatePlace,
|
|
5734
|
-
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 });
|
|
5735
5917
|
};
|
|
5736
|
-
|
|
5737
|
-
const useGmapRecomendPlace = (props) => {
|
|
5738
|
-
const { pointRef, getRecomendPlace, getLimit, context: context2, emptyPlaceName, onChange, onChangePlace } = props;
|
|
5739
|
-
const availableRef = ref(true);
|
|
5740
|
-
const placeCandidatesRef = ref([]);
|
|
5741
|
-
const zoneRef = ref();
|
|
5742
|
-
const { idx: recomendPlaceKey, update: updateRecommendPlaceKey } = useUpdate();
|
|
5743
|
-
const { readyPromise } = useMapSupplier();
|
|
5744
|
-
const { place, updatePlace, setPlace } = useGmapPlace({
|
|
5745
|
-
emptyPlaceName,
|
|
5746
|
-
pointRef,
|
|
5747
|
-
onChange: onChangePlace
|
|
5748
|
-
});
|
|
5749
|
-
const recomendPlace = reactive({ ...place });
|
|
5750
|
-
const isElectedRef = computed(() => {
|
|
5751
|
-
const point = pointRef.value;
|
|
5752
|
-
return placeCandidatesRef.value.some(
|
|
5753
|
-
(candidate) => isPointEqual(place2point(candidate), point)
|
|
5754
|
-
);
|
|
5755
|
-
});
|
|
5756
|
-
const updatePlaceCandidates = async (place2) => {
|
|
5918
|
+
const updatePlaceCandidates = async (place) => {
|
|
5757
5919
|
var _a;
|
|
5758
5920
|
const {
|
|
5759
5921
|
places: inputPlaceCandidates,
|
|
5760
5922
|
zone,
|
|
5761
5923
|
available
|
|
5762
|
-
} = (_a = await getRecomendPlace({ ...
|
|
5924
|
+
} = (_a = await getRecomendPlace({ ...place }, context2)) != null ? _a : {};
|
|
5925
|
+
const isSameZone = !!zone && isZoneEqual(zone, zoneRef.value);
|
|
5763
5926
|
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5764
5927
|
availableRef.value = !!available;
|
|
5765
5928
|
zoneRef.value = zone;
|
|
5766
5929
|
placeCandidatesRef.value = placeCandidates != null ? placeCandidates : [];
|
|
5767
5930
|
return {
|
|
5768
|
-
inputPlace: { ...
|
|
5931
|
+
inputPlace: { ...place },
|
|
5769
5932
|
isInZone: !!zone,
|
|
5770
|
-
place
|
|
5933
|
+
place,
|
|
5934
|
+
isSameZone
|
|
5771
5935
|
};
|
|
5772
5936
|
};
|
|
5773
|
-
const updateRecommendPlace = (
|
|
5774
|
-
|
|
5775
|
-
|
|
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
|
+
});
|
|
5776
5951
|
};
|
|
5777
|
-
const setPlaceCandidatesAndZone = ({
|
|
5778
|
-
|
|
5952
|
+
const setPlaceCandidatesAndZone = ({
|
|
5953
|
+
zone,
|
|
5954
|
+
places: inputPlaceCandidates
|
|
5955
|
+
}) => {
|
|
5956
|
+
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5957
|
+
availableRef.value = true;
|
|
5779
5958
|
zoneRef.value = zone ? zone : void 0;
|
|
5959
|
+
placeCandidatesRef.value = placeCandidates != null ? placeCandidates : [];
|
|
5780
5960
|
};
|
|
5781
|
-
watch(
|
|
5782
|
-
() => recomendPlaceKey.value,
|
|
5783
|
-
async () => {
|
|
5784
|
-
var _a;
|
|
5785
|
-
await readyPromise;
|
|
5786
|
-
const {
|
|
5787
|
-
places: inputPlaceCandidates,
|
|
5788
|
-
zone,
|
|
5789
|
-
available
|
|
5790
|
-
} = (_a = await getRecomendPlace({ ...place }, context2)) != null ? _a : {};
|
|
5791
|
-
const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
|
|
5792
|
-
if (!available || !placeCandidates) {
|
|
5793
|
-
availableRef.value = !!available;
|
|
5794
|
-
zoneRef.value = zone;
|
|
5795
|
-
placeCandidatesRef.value = [];
|
|
5796
|
-
Object.assign(recomendPlace, { ...place });
|
|
5797
|
-
onChange == null ? void 0 : onChange({ place: { ...place }, inputPlace: { ...place }, isInZone: !!zone });
|
|
5798
|
-
return;
|
|
5799
|
-
}
|
|
5800
|
-
const { shortestPlace, shortestDistance } = findGmapNearestPlace(place, placeCandidates);
|
|
5801
|
-
const limit = getLimit(context2);
|
|
5802
|
-
const resultPlace = shortestDistance > limit ? place : shortestPlace;
|
|
5803
|
-
availableRef.value = !!available;
|
|
5804
|
-
zoneRef.value = zone;
|
|
5805
|
-
placeCandidatesRef.value = placeCandidates;
|
|
5806
|
-
Object.assign(recomendPlace, { ...resultPlace });
|
|
5807
|
-
onChange == null ? void 0 : onChange({ place: { ...resultPlace }, inputPlace: { ...place }, isInZone: !!zone });
|
|
5808
|
-
}
|
|
5809
|
-
);
|
|
5810
5961
|
return {
|
|
5811
5962
|
zoneRef,
|
|
5812
5963
|
recomendPlace,
|
|
@@ -5819,20 +5970,19 @@ const useGmapRecomendPlace = (props) => {
|
|
|
5819
5970
|
setPlaceCandidatesAndZone
|
|
5820
5971
|
};
|
|
5821
5972
|
};
|
|
5822
|
-
const useMapRecomendPlace = (props) => {
|
|
5823
|
-
const { supplier } = useMapSupplier();
|
|
5824
|
-
return supplier === "gmap" ? useGmapRecomendPlace(props) : useAmapRecomendPlace(props);
|
|
5825
|
-
};
|
|
5826
5973
|
const GOOGLE_MAP_ZOOM_CHANGE_DEBOUNCE_TIMEOUT = 50;
|
|
5827
5974
|
const DEFAULT_ZOOM$1 = 13;
|
|
5828
5975
|
const useAmapZoom = (props) => {
|
|
5829
5976
|
var _a, _b, _c;
|
|
5830
5977
|
const { onChange, mapRef, defaultValue } = props;
|
|
5831
5978
|
const zoomRef = ref((_c = (_b = (_a = mapRef.value) == null ? void 0 : _a.getZoom()) != null ? _b : defaultValue) != null ? _c : DEFAULT_ZOOM$1);
|
|
5832
|
-
const setZoom = (v) => {
|
|
5833
|
-
var _a2;
|
|
5979
|
+
const setZoom = (v, immediate = false) => {
|
|
5980
|
+
var _a2, _b2;
|
|
5981
|
+
const duration = deltaZoom2animationDuration(v - zoomRef.value);
|
|
5834
5982
|
zoomRef.value = v;
|
|
5835
|
-
|
|
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);
|
|
5836
5986
|
};
|
|
5837
5987
|
const handleZoomEnd = (_, { target }) => {
|
|
5838
5988
|
const zoom = target.getZoom();
|
|
@@ -6140,10 +6290,9 @@ const ConditionalFittablePassengerCircle = defineSetup(function ConditionalFitta
|
|
|
6140
6290
|
"size": "small",
|
|
6141
6291
|
"registerOverlay": registerOverlay
|
|
6142
6292
|
}
|
|
6143
|
-
}), h(
|
|
6293
|
+
}), h(FitViewOnce, {
|
|
6144
6294
|
"attrs": {
|
|
6145
|
-
"registerOverlay": registerOverlay
|
|
6146
|
-
"fitViewKey": JSON.stringify(position)
|
|
6295
|
+
"registerOverlay": registerOverlay
|
|
6147
6296
|
}
|
|
6148
6297
|
})]);
|
|
6149
6298
|
};
|
|
@@ -6565,7 +6714,6 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6565
6714
|
name: geoLoadingTitle,
|
|
6566
6715
|
displayName: geoLoadingTitle
|
|
6567
6716
|
});
|
|
6568
|
-
const centerPoint = computed(() => [centerPlace.lng, centerPlace.lat]);
|
|
6569
6717
|
const centerSource = {
|
|
6570
6718
|
source: "geo"
|
|
6571
6719
|
};
|
|
@@ -6576,25 +6724,19 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6576
6724
|
const setCenterPlaceByUserSpecified = async (input) => {
|
|
6577
6725
|
centerSource.source = "api";
|
|
6578
6726
|
const place = toPlaceType(input);
|
|
6579
|
-
centerPlace
|
|
6580
|
-
centerPlace.lat = place.lat;
|
|
6581
|
-
centerPlace.name = place.name;
|
|
6582
|
-
centerPlace.displayName = place.displayName;
|
|
6583
|
-
emit("changePlace", {
|
|
6584
|
-
...place
|
|
6585
|
-
});
|
|
6727
|
+
Object.assign(centerPlace, place);
|
|
6586
6728
|
updateRecommendPlace(place);
|
|
6587
6729
|
};
|
|
6588
6730
|
const setCenterPlaceByUserSpecifiedInZone = ({
|
|
6589
|
-
place,
|
|
6731
|
+
place: input,
|
|
6590
6732
|
recommends
|
|
6591
6733
|
}) => {
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
centerPlace
|
|
6595
|
-
centerPlace.displayName = place.displayName;
|
|
6734
|
+
const place = toPlaceType(input);
|
|
6735
|
+
assertZone(recommends.zone);
|
|
6736
|
+
Object.assign(centerPlace, place);
|
|
6596
6737
|
setPlaceCandidatesAndZone(recommends);
|
|
6597
|
-
|
|
6738
|
+
if (!isZoneEqual(recommends.zone, zoneRef.value))
|
|
6739
|
+
setZoom(ZONE_ZOOM);
|
|
6598
6740
|
emit("changePlace", {
|
|
6599
6741
|
...place
|
|
6600
6742
|
});
|
|
@@ -6602,12 +6744,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6602
6744
|
const panToCenterByPlace = async (place) => {
|
|
6603
6745
|
centerSource.source = "api";
|
|
6604
6746
|
await panTo(place2point(place));
|
|
6605
|
-
centerPlace
|
|
6606
|
-
centerPlace.lat = place.lat;
|
|
6607
|
-
centerPlace.name = place.name;
|
|
6608
|
-
centerPlace.displayName = place.displayName;
|
|
6609
|
-
if (zoneRef.value)
|
|
6610
|
-
setZoom(ZONE_ZOOM);
|
|
6747
|
+
Object.assign(centerPlace, place);
|
|
6611
6748
|
emit("changePlace", {
|
|
6612
6749
|
...place
|
|
6613
6750
|
});
|
|
@@ -6618,7 +6755,8 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6618
6755
|
inputPlace: {
|
|
6619
6756
|
...place
|
|
6620
6757
|
},
|
|
6621
|
-
isInZone: !!zoneRef.value
|
|
6758
|
+
isInZone: !!zoneRef.value,
|
|
6759
|
+
isSameZone: !!zoneRef.value
|
|
6622
6760
|
});
|
|
6623
6761
|
};
|
|
6624
6762
|
const defaultCenterPlacePromise = new Promise((resolve) => {
|
|
@@ -6636,18 +6774,21 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6636
6774
|
} = useGeoLocation({
|
|
6637
6775
|
geoDefaultPosition,
|
|
6638
6776
|
onLoad: async (value) => {
|
|
6777
|
+
const [lng, lat] = value.position;
|
|
6639
6778
|
await readyPromise;
|
|
6640
6779
|
centerSource.source = "geo";
|
|
6780
|
+
centerPlace.lng = lng;
|
|
6781
|
+
centerPlace.lat = lat;
|
|
6641
6782
|
updatePlace(value.position);
|
|
6642
6783
|
emit("loadGeoLocation", value);
|
|
6643
6784
|
},
|
|
6644
6785
|
onLoadDefault: async (value) => {
|
|
6645
6786
|
await readyPromise;
|
|
6646
|
-
const
|
|
6787
|
+
const inputPlace = await defaultCenterPlacePromise;
|
|
6647
6788
|
centerSource.source = "geo";
|
|
6648
6789
|
emit("loadDefaultGeoLocation", value);
|
|
6649
|
-
if (
|
|
6650
|
-
await setCenterPlaceByUserSpecified(
|
|
6790
|
+
if (inputPlace) {
|
|
6791
|
+
await setCenterPlaceByUserSpecified(inputPlace);
|
|
6651
6792
|
} else {
|
|
6652
6793
|
updatePlace(value.position);
|
|
6653
6794
|
}
|
|
@@ -6682,7 +6823,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6682
6823
|
availableRef,
|
|
6683
6824
|
isElectedRef
|
|
6684
6825
|
} = useMapRecomendPlace({
|
|
6685
|
-
|
|
6826
|
+
defaultPoint: place2point(centerPlace),
|
|
6686
6827
|
emptyPlaceName: DEFAULT_PLACE_NAME,
|
|
6687
6828
|
context: centerSource,
|
|
6688
6829
|
getRecomendPlace: pipedGetRecomendPlace,
|
|
@@ -6699,29 +6840,27 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6699
6840
|
throw new Error(`MyError: should not call getLimit on source: ${source}`);
|
|
6700
6841
|
}
|
|
6701
6842
|
},
|
|
6702
|
-
onChangePlace: (place) =>
|
|
6703
|
-
if (centerSource.source !== "recomend") {
|
|
6704
|
-
updateRecommendPlace(place);
|
|
6705
|
-
}
|
|
6706
|
-
emit("changePlace", place);
|
|
6707
|
-
},
|
|
6843
|
+
onChangePlace: (place) => emit("changePlace", place),
|
|
6708
6844
|
onChange: async ({
|
|
6709
6845
|
place,
|
|
6710
6846
|
inputPlace,
|
|
6711
|
-
isInZone
|
|
6847
|
+
isInZone,
|
|
6848
|
+
isSameZone
|
|
6712
6849
|
}) => {
|
|
6850
|
+
debugger;
|
|
6713
6851
|
centerSource.source = "recomend";
|
|
6714
6852
|
if (isPlaceEqual(place, centerPlace))
|
|
6715
6853
|
panTo(place2point(place));
|
|
6716
6854
|
Object.assign(centerPlace, {
|
|
6717
6855
|
...place
|
|
6718
6856
|
});
|
|
6719
|
-
if (isInZone)
|
|
6857
|
+
if (isInZone && !isSameZone)
|
|
6720
6858
|
setZoom(ZONE_ZOOM);
|
|
6721
6859
|
emit("changeRecomandPlace", {
|
|
6722
6860
|
place,
|
|
6723
6861
|
inputPlace,
|
|
6724
|
-
isInZone
|
|
6862
|
+
isInZone,
|
|
6863
|
+
isSameZone
|
|
6725
6864
|
});
|
|
6726
6865
|
}
|
|
6727
6866
|
});
|
|
@@ -6744,7 +6883,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
6744
6883
|
const description = !availableRef.value ? void 0 : isElectedRef.value ? recomendDescription : void 0;
|
|
6745
6884
|
return h(HeycarMap, {
|
|
6746
6885
|
"attrs": {
|
|
6747
|
-
"center":
|
|
6886
|
+
"center": place2point(centerPlace),
|
|
6748
6887
|
"zoom": zoomRef.value,
|
|
6749
6888
|
"touchZoomCenter": true,
|
|
6750
6889
|
"mapRef": setMap,
|
|
@@ -6820,7 +6959,6 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6820
6959
|
name: defaultPlace.name,
|
|
6821
6960
|
displayName: defaultPlace.displayName
|
|
6822
6961
|
});
|
|
6823
|
-
const centerPoint = computed(() => [centerPlace.lng, centerPlace.lat]);
|
|
6824
6962
|
const centerSource = {
|
|
6825
6963
|
source: "default"
|
|
6826
6964
|
};
|
|
@@ -6831,24 +6969,18 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6831
6969
|
const setCenterPlaceByUserSpecified = async (input) => {
|
|
6832
6970
|
centerSource.source = "api";
|
|
6833
6971
|
const place = toPlaceType(input);
|
|
6834
|
-
centerPlace
|
|
6835
|
-
centerPlace.lat = place.lat;
|
|
6836
|
-
centerPlace.name = place.name;
|
|
6837
|
-
centerPlace.displayName = place.displayName;
|
|
6838
|
-
emit("changePlace", {
|
|
6839
|
-
...place
|
|
6840
|
-
});
|
|
6972
|
+
Object.assign(centerPlace, place);
|
|
6841
6973
|
updateRecommendPlace(place);
|
|
6842
6974
|
};
|
|
6843
6975
|
const setCenterPlaceByUserSpecifiedInZone = ({
|
|
6844
|
-
place,
|
|
6976
|
+
place: input,
|
|
6845
6977
|
recommends
|
|
6846
6978
|
}) => {
|
|
6847
|
-
|
|
6848
|
-
|
|
6849
|
-
centerPlace
|
|
6850
|
-
|
|
6851
|
-
|
|
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);
|
|
6852
6984
|
setPlaceCandidatesAndZone(recommends);
|
|
6853
6985
|
emit("changePlace", {
|
|
6854
6986
|
...place
|
|
@@ -6861,8 +6993,6 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6861
6993
|
centerPlace.lat = place.lat;
|
|
6862
6994
|
centerPlace.name = place.name;
|
|
6863
6995
|
centerPlace.displayName = place.displayName;
|
|
6864
|
-
if (zoneRef.value)
|
|
6865
|
-
setZoom(ZONE_ZOOM);
|
|
6866
6996
|
emit("changePlace", {
|
|
6867
6997
|
...place
|
|
6868
6998
|
});
|
|
@@ -6873,7 +7003,8 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6873
7003
|
inputPlace: {
|
|
6874
7004
|
...place
|
|
6875
7005
|
},
|
|
6876
|
-
isInZone: !!zoneRef.value
|
|
7006
|
+
isInZone: !!zoneRef.value,
|
|
7007
|
+
isSameZone: !!zoneRef.value
|
|
6877
7008
|
});
|
|
6878
7009
|
};
|
|
6879
7010
|
const {
|
|
@@ -6916,7 +7047,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6916
7047
|
availableRef,
|
|
6917
7048
|
isElectedRef
|
|
6918
7049
|
} = useMapRecomendPlace({
|
|
6919
|
-
|
|
7050
|
+
defaultPoint: place2point(centerPlace),
|
|
6920
7051
|
emptyPlaceName: DEFAULT_PLACE_NAME,
|
|
6921
7052
|
context: centerSource,
|
|
6922
7053
|
getRecomendPlace: pipedGetRecomendPlace,
|
|
@@ -6933,16 +7064,12 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6933
7064
|
throw new Error(`MyError: should not call getLimit on source: ${source}`);
|
|
6934
7065
|
}
|
|
6935
7066
|
},
|
|
6936
|
-
onChangePlace: (place) =>
|
|
6937
|
-
if (centerSource.source !== "recomend") {
|
|
6938
|
-
updateRecommendPlace(place);
|
|
6939
|
-
}
|
|
6940
|
-
emit("changePlace", place);
|
|
6941
|
-
},
|
|
7067
|
+
onChangePlace: (place) => emit("changePlace", place),
|
|
6942
7068
|
onChange: async ({
|
|
6943
7069
|
place,
|
|
6944
7070
|
inputPlace,
|
|
6945
|
-
isInZone
|
|
7071
|
+
isInZone,
|
|
7072
|
+
isSameZone
|
|
6946
7073
|
}) => {
|
|
6947
7074
|
centerSource.source = "recomend";
|
|
6948
7075
|
if (isPlaceEqual(place, centerPlace))
|
|
@@ -6950,12 +7077,13 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6950
7077
|
Object.assign(centerPlace, {
|
|
6951
7078
|
...place
|
|
6952
7079
|
});
|
|
6953
|
-
if (isInZone)
|
|
7080
|
+
if (isInZone && !isSameZone)
|
|
6954
7081
|
setZoom(ZONE_ZOOM);
|
|
6955
7082
|
emit("changeRecomandPlace", {
|
|
6956
7083
|
place,
|
|
6957
7084
|
inputPlace,
|
|
6958
|
-
isInZone
|
|
7085
|
+
isInZone,
|
|
7086
|
+
isSameZone
|
|
6959
7087
|
});
|
|
6960
7088
|
}
|
|
6961
7089
|
});
|
|
@@ -6981,7 +7109,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
6981
7109
|
const description = !availableRef.value ? void 0 : isElectedRef.value ? recomendDescription : void 0;
|
|
6982
7110
|
return h(HeycarMap, {
|
|
6983
7111
|
"attrs": {
|
|
6984
|
-
"center":
|
|
7112
|
+
"center": place2point(centerPlace),
|
|
6985
7113
|
"zoom": zoomRef.value,
|
|
6986
7114
|
"touchZoomCenter": true,
|
|
6987
7115
|
"mapRef": setMap,
|
|
@@ -7016,38 +7144,6 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
7016
7144
|
})]);
|
|
7017
7145
|
};
|
|
7018
7146
|
}).props(["loading", "fallback", "log", "defaultPlace", "unavailableTitle", "recomendDescription", "getRecomendPlace", "mapContext"]);
|
|
7019
|
-
const useAmapGeometry = () => {
|
|
7020
|
-
const payload = useMapSupplier();
|
|
7021
|
-
const apiMapDistance = (from, to) => {
|
|
7022
|
-
if (payload.status !== Status.SUCCESS)
|
|
7023
|
-
return void 0;
|
|
7024
|
-
return AMap.GeometryUtil.distance(from, to);
|
|
7025
|
-
};
|
|
7026
|
-
const apiMapDistanceToLine = (from, line) => {
|
|
7027
|
-
if (payload.status !== Status.SUCCESS)
|
|
7028
|
-
return void 0;
|
|
7029
|
-
return AMap.GeometryUtil.distanceToLine(from, line);
|
|
7030
|
-
};
|
|
7031
|
-
return { apiMapDistance, apiMapDistanceToLine };
|
|
7032
|
-
};
|
|
7033
|
-
const useGmapGeometry = () => {
|
|
7034
|
-
const payload = useMapSupplier();
|
|
7035
|
-
const apiMapDistance = (from, to) => {
|
|
7036
|
-
if (payload.status !== Status.SUCCESS)
|
|
7037
|
-
return void 0;
|
|
7038
|
-
return google.maps.geometry.spherical.computeDistanceBetween(vec2lnglat(from), vec2lnglat(to));
|
|
7039
|
-
};
|
|
7040
|
-
const apiMapDistanceToLine = (from, line) => {
|
|
7041
|
-
if (payload.status !== Status.SUCCESS)
|
|
7042
|
-
return void 0;
|
|
7043
|
-
return 0;
|
|
7044
|
-
};
|
|
7045
|
-
return { apiMapDistance, apiMapDistanceToLine };
|
|
7046
|
-
};
|
|
7047
|
-
const useMapGeometry = () => {
|
|
7048
|
-
const { supplier } = useMapSupplier();
|
|
7049
|
-
return supplier === "gmap" ? useGmapGeometry() : useAmapGeometry();
|
|
7050
|
-
};
|
|
7051
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=";
|
|
7052
7148
|
const TaxiCar_css_ts_vanilla = "";
|
|
7053
7149
|
var carIcon = "_65j3sr1";
|
|
@@ -7392,6 +7488,7 @@ const WaveCircle = defineSetup(function WaveCircle2(props) {
|
|
|
7392
7488
|
const PASSENGER_DISTANCE_MAX = 2e3;
|
|
7393
7489
|
const PASSENGER_DISTANCE_MIN = 10;
|
|
7394
7490
|
const CAR_DISTANCE_MIN = 100;
|
|
7491
|
+
const AUTO_FIT_VIEW_INTERVAL = 15e3;
|
|
7395
7492
|
const carDurationWithinMinDistance = (distance) => Math.floor(distance / 5);
|
|
7396
7493
|
const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
7397
7494
|
return () => {
|
|
@@ -7400,12 +7497,16 @@ const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
|
7400
7497
|
title,
|
|
7401
7498
|
registerOverlay
|
|
7402
7499
|
} = props;
|
|
7500
|
+
const {
|
|
7501
|
+
language
|
|
7502
|
+
} = useMapSupplier();
|
|
7403
7503
|
const from = place2point(fromPlace);
|
|
7404
7504
|
return h("div", [h(StartEndPoint, {
|
|
7405
7505
|
"attrs": {
|
|
7406
7506
|
"type": "start",
|
|
7407
7507
|
"position": from,
|
|
7408
7508
|
"title": title,
|
|
7509
|
+
"language": language,
|
|
7409
7510
|
"registerOverlay": registerOverlay
|
|
7410
7511
|
}
|
|
7411
7512
|
}), h(WaveCircle, {
|
|
@@ -7422,10 +7523,18 @@ const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
|
7422
7523
|
"attrs": {
|
|
7423
7524
|
"registerOverlay": registerOverlay
|
|
7424
7525
|
}
|
|
7526
|
+
}), h(InterruptableIntervalFitView, {
|
|
7527
|
+
"attrs": {
|
|
7528
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7529
|
+
"registerOverlay": registerOverlay
|
|
7530
|
+
}
|
|
7425
7531
|
})]);
|
|
7426
7532
|
};
|
|
7427
7533
|
});
|
|
7428
7534
|
const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
7535
|
+
const {
|
|
7536
|
+
language
|
|
7537
|
+
} = useMapSupplier();
|
|
7429
7538
|
const {
|
|
7430
7539
|
apiMapDistance
|
|
7431
7540
|
} = useMapGeometry();
|
|
@@ -7463,13 +7572,15 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
|
7463
7572
|
"attrs": {
|
|
7464
7573
|
"type": "start",
|
|
7465
7574
|
"registerOverlay": registerOverlay,
|
|
7466
|
-
"position": from
|
|
7575
|
+
"position": from,
|
|
7576
|
+
"language": language
|
|
7467
7577
|
}
|
|
7468
7578
|
}), h(StartEndPoint, {
|
|
7469
7579
|
"attrs": {
|
|
7470
7580
|
"type": "end",
|
|
7471
7581
|
"registerOverlay": registerOverlay,
|
|
7472
|
-
"position": to
|
|
7582
|
+
"position": to,
|
|
7583
|
+
"language": language
|
|
7473
7584
|
}
|
|
7474
7585
|
}), h(PlaceCircle, {
|
|
7475
7586
|
"attrs": {
|
|
@@ -7487,10 +7598,22 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
|
7487
7598
|
"attrs": {
|
|
7488
7599
|
"registerOverlay": registerOverlay
|
|
7489
7600
|
}
|
|
7601
|
+
}), h(InterruptableIntervalFitView, {
|
|
7602
|
+
"attrs": {
|
|
7603
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7604
|
+
"registerOverlay": registerOverlay
|
|
7605
|
+
}
|
|
7490
7606
|
})]);
|
|
7491
7607
|
};
|
|
7492
7608
|
});
|
|
7493
7609
|
const SectionDriverStartService = defineSetup(function SectionDriverStartService2(props) {
|
|
7610
|
+
const {
|
|
7611
|
+
registerOverlay
|
|
7612
|
+
} = props;
|
|
7613
|
+
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7614
|
+
const {
|
|
7615
|
+
language
|
|
7616
|
+
} = useMapSupplier();
|
|
7494
7617
|
const {
|
|
7495
7618
|
apiMapDistance
|
|
7496
7619
|
} = useMapGeometry();
|
|
@@ -7501,8 +7624,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7501
7624
|
carAngle,
|
|
7502
7625
|
passengerPosition,
|
|
7503
7626
|
passengerAngle,
|
|
7504
|
-
renderTitle
|
|
7505
|
-
registerOverlay
|
|
7627
|
+
renderTitle
|
|
7506
7628
|
} = props;
|
|
7507
7629
|
const from = place2point(fromPlace);
|
|
7508
7630
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
@@ -7518,7 +7640,8 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7518
7640
|
"attrs": {
|
|
7519
7641
|
"type": "start",
|
|
7520
7642
|
"position": from,
|
|
7521
|
-
"registerOverlay": registerOverlay
|
|
7643
|
+
"registerOverlay": registerOverlay,
|
|
7644
|
+
"language": language
|
|
7522
7645
|
}
|
|
7523
7646
|
}), h(PlaceCircle, {
|
|
7524
7647
|
"attrs": {
|
|
@@ -7536,7 +7659,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7536
7659
|
distance,
|
|
7537
7660
|
duration
|
|
7538
7661
|
}) => {
|
|
7539
|
-
var _a
|
|
7662
|
+
var _a;
|
|
7540
7663
|
spaceLog("angleDifference", "carPosition, routeAngle, driverAngle = ", carPosition, angle, carAngle);
|
|
7541
7664
|
return [h(DrivingLine, {
|
|
7542
7665
|
"attrs": {
|
|
@@ -7550,12 +7673,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7550
7673
|
distance,
|
|
7551
7674
|
duration
|
|
7552
7675
|
}),
|
|
7553
|
-
"registerOverlay":
|
|
7554
|
-
}
|
|
7555
|
-
}), h(KeyedFitView, {
|
|
7556
|
-
"attrs": {
|
|
7557
|
-
"registerOverlay": registerOverlay,
|
|
7558
|
-
"fitViewKey": JSON.stringify((_b = path[0]) != null ? _b : carPosition)
|
|
7676
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7559
7677
|
}
|
|
7560
7678
|
})];
|
|
7561
7679
|
}
|
|
@@ -7568,12 +7686,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7568
7686
|
distance: carDistance,
|
|
7569
7687
|
duration: carDurationWithinMinDistance(carDistance)
|
|
7570
7688
|
}),
|
|
7571
|
-
"registerOverlay":
|
|
7572
|
-
}
|
|
7573
|
-
}), h(KeyedFitView, {
|
|
7574
|
-
"attrs": {
|
|
7575
|
-
"registerOverlay": registerOverlay,
|
|
7576
|
-
"fitViewKey": JSON.stringify(carPosition)
|
|
7689
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7577
7690
|
}
|
|
7578
7691
|
})], !!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && h(WalkingRoute, {
|
|
7579
7692
|
"attrs": {
|
|
@@ -7591,6 +7704,11 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7591
7704
|
"attrs": {
|
|
7592
7705
|
"registerOverlay": registerOverlay
|
|
7593
7706
|
}
|
|
7707
|
+
}), h(InterruptableIntervalFitView, {
|
|
7708
|
+
"attrs": {
|
|
7709
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7710
|
+
"registerOverlay": registerOverlay
|
|
7711
|
+
}
|
|
7594
7712
|
})]);
|
|
7595
7713
|
};
|
|
7596
7714
|
});
|
|
@@ -7598,6 +7716,9 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
7598
7716
|
const {
|
|
7599
7717
|
apiMapDistance
|
|
7600
7718
|
} = useMapGeometry();
|
|
7719
|
+
const {
|
|
7720
|
+
language
|
|
7721
|
+
} = useMapSupplier();
|
|
7601
7722
|
return () => {
|
|
7602
7723
|
const {
|
|
7603
7724
|
from: fromPlace,
|
|
@@ -7644,13 +7765,15 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
7644
7765
|
"attrs": {
|
|
7645
7766
|
"type": "start",
|
|
7646
7767
|
"registerOverlay": registerOverlay,
|
|
7647
|
-
"position": from
|
|
7768
|
+
"position": from,
|
|
7769
|
+
"language": language
|
|
7648
7770
|
}
|
|
7649
7771
|
}), h(StartEndPoint, {
|
|
7650
7772
|
"attrs": {
|
|
7651
7773
|
"type": "end",
|
|
7652
7774
|
"registerOverlay": registerOverlay,
|
|
7653
|
-
"position": to
|
|
7775
|
+
"position": to,
|
|
7776
|
+
"language": language
|
|
7654
7777
|
}
|
|
7655
7778
|
}), h(PlaceCircle, {
|
|
7656
7779
|
"attrs": {
|
|
@@ -7668,10 +7791,22 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
7668
7791
|
"attrs": {
|
|
7669
7792
|
"registerOverlay": registerOverlay
|
|
7670
7793
|
}
|
|
7794
|
+
}), h(InterruptableIntervalFitView, {
|
|
7795
|
+
"attrs": {
|
|
7796
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7797
|
+
"registerOverlay": registerOverlay
|
|
7798
|
+
}
|
|
7671
7799
|
})]);
|
|
7672
7800
|
};
|
|
7673
7801
|
});
|
|
7674
7802
|
const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
7803
|
+
const {
|
|
7804
|
+
registerOverlay
|
|
7805
|
+
} = props;
|
|
7806
|
+
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7807
|
+
const {
|
|
7808
|
+
language
|
|
7809
|
+
} = useMapSupplier();
|
|
7675
7810
|
const {
|
|
7676
7811
|
apiMapDistance
|
|
7677
7812
|
} = useMapGeometry();
|
|
@@ -7682,8 +7817,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7682
7817
|
carAngle,
|
|
7683
7818
|
passengerPosition,
|
|
7684
7819
|
passengerAngle,
|
|
7685
|
-
title
|
|
7686
|
-
registerOverlay
|
|
7820
|
+
title
|
|
7687
7821
|
} = props;
|
|
7688
7822
|
const from = place2point(fromPlace);
|
|
7689
7823
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
@@ -7711,18 +7845,14 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7711
7845
|
"position": carPosition,
|
|
7712
7846
|
"angle": carAngle,
|
|
7713
7847
|
"title": title,
|
|
7714
|
-
"registerOverlay":
|
|
7715
|
-
}
|
|
7716
|
-
}), h(KeyedFitView, {
|
|
7717
|
-
"attrs": {
|
|
7718
|
-
"registerOverlay": registerOverlay,
|
|
7719
|
-
"fitViewKey": JSON.stringify(carPosition)
|
|
7848
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7720
7849
|
}
|
|
7721
7850
|
})], h(StartEndPoint, {
|
|
7722
7851
|
"attrs": {
|
|
7723
7852
|
"type": "start",
|
|
7724
7853
|
"position": from,
|
|
7725
|
-
"registerOverlay": registerOverlay
|
|
7854
|
+
"registerOverlay": registerOverlay,
|
|
7855
|
+
"language": language
|
|
7726
7856
|
}
|
|
7727
7857
|
}), h(PlaceCircle, {
|
|
7728
7858
|
"attrs": {
|
|
@@ -7734,19 +7864,30 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7734
7864
|
"attrs": {
|
|
7735
7865
|
"registerOverlay": registerOverlay
|
|
7736
7866
|
}
|
|
7867
|
+
}), h(InterruptableIntervalFitView, {
|
|
7868
|
+
"attrs": {
|
|
7869
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7870
|
+
"registerOverlay": registerOverlay
|
|
7871
|
+
}
|
|
7737
7872
|
})]);
|
|
7738
7873
|
};
|
|
7739
7874
|
});
|
|
7740
7875
|
const SectionInService = defineSetup(function SectionInService2(props) {
|
|
7876
|
+
const {
|
|
7877
|
+
registerOverlay
|
|
7878
|
+
} = props;
|
|
7879
|
+
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7741
7880
|
return () => {
|
|
7742
7881
|
const {
|
|
7743
7882
|
to: toPlace,
|
|
7744
7883
|
carPosition,
|
|
7745
7884
|
carAngle,
|
|
7746
|
-
renderTitle
|
|
7747
|
-
registerOverlay
|
|
7885
|
+
renderTitle
|
|
7748
7886
|
} = props;
|
|
7749
7887
|
const to = place2point(toPlace);
|
|
7888
|
+
const {
|
|
7889
|
+
language
|
|
7890
|
+
} = useMapSupplier();
|
|
7750
7891
|
const {
|
|
7751
7892
|
apiMapDistance
|
|
7752
7893
|
} = useMapGeometry();
|
|
@@ -7761,7 +7902,7 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7761
7902
|
distance,
|
|
7762
7903
|
duration
|
|
7763
7904
|
}) => {
|
|
7764
|
-
var _a
|
|
7905
|
+
var _a;
|
|
7765
7906
|
spaceLog("angleDifference", "carPosition, routeAngle, driverAngle = ", carPosition, angle, carAngle);
|
|
7766
7907
|
return [h(DrivingLine, {
|
|
7767
7908
|
"attrs": {
|
|
@@ -7775,12 +7916,7 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7775
7916
|
distance,
|
|
7776
7917
|
duration
|
|
7777
7918
|
}),
|
|
7778
|
-
"registerOverlay":
|
|
7779
|
-
}
|
|
7780
|
-
}), h(KeyedFitView, {
|
|
7781
|
-
"attrs": {
|
|
7782
|
-
"registerOverlay": registerOverlay,
|
|
7783
|
-
"fitViewKey": JSON.stringify((_b = path[0]) != null ? _b : carPosition)
|
|
7919
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7784
7920
|
}
|
|
7785
7921
|
})];
|
|
7786
7922
|
}
|
|
@@ -7793,18 +7929,14 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7793
7929
|
distance: carDistance,
|
|
7794
7930
|
duration: carDurationWithinMinDistance(carDistance)
|
|
7795
7931
|
}),
|
|
7796
|
-
"registerOverlay":
|
|
7797
|
-
}
|
|
7798
|
-
}), h(KeyedFitView, {
|
|
7799
|
-
"attrs": {
|
|
7800
|
-
"registerOverlay": registerOverlay,
|
|
7801
|
-
"fitViewKey": JSON.stringify(carPosition)
|
|
7932
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7802
7933
|
}
|
|
7803
7934
|
})], h(StartEndPoint, {
|
|
7804
7935
|
"attrs": {
|
|
7805
7936
|
"type": "end",
|
|
7806
7937
|
"position": to,
|
|
7807
|
-
"registerOverlay": registerOverlay
|
|
7938
|
+
"registerOverlay": registerOverlay,
|
|
7939
|
+
"language": language
|
|
7808
7940
|
}
|
|
7809
7941
|
}), h(PlaceCircle, {
|
|
7810
7942
|
"attrs": {
|
|
@@ -7816,10 +7948,18 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7816
7948
|
"attrs": {
|
|
7817
7949
|
"registerOverlay": registerOverlay
|
|
7818
7950
|
}
|
|
7951
|
+
}), h(InterruptableIntervalFitView, {
|
|
7952
|
+
"attrs": {
|
|
7953
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7954
|
+
"registerOverlay": registerOverlay
|
|
7955
|
+
}
|
|
7819
7956
|
})]);
|
|
7820
7957
|
};
|
|
7821
7958
|
});
|
|
7822
7959
|
const SectionCanceled = defineSetup(function SectionCanceled2(props) {
|
|
7960
|
+
const {
|
|
7961
|
+
language
|
|
7962
|
+
} = useMapSupplier();
|
|
7823
7963
|
return () => {
|
|
7824
7964
|
const {
|
|
7825
7965
|
from: fromPlace,
|
|
@@ -7832,13 +7972,15 @@ const SectionCanceled = defineSetup(function SectionCanceled2(props) {
|
|
|
7832
7972
|
"attrs": {
|
|
7833
7973
|
"type": "start",
|
|
7834
7974
|
"position": from,
|
|
7835
|
-
"registerOverlay": registerOverlay
|
|
7975
|
+
"registerOverlay": registerOverlay,
|
|
7976
|
+
"language": language
|
|
7836
7977
|
}
|
|
7837
7978
|
}), h(StartEndPoint, {
|
|
7838
7979
|
"attrs": {
|
|
7839
7980
|
"type": "end",
|
|
7840
7981
|
"position": to,
|
|
7841
|
-
"registerOverlay": registerOverlay
|
|
7982
|
+
"registerOverlay": registerOverlay,
|
|
7983
|
+
"language": language
|
|
7842
7984
|
}
|
|
7843
7985
|
}), h(PlaceCircle, {
|
|
7844
7986
|
"attrs": {
|
|
@@ -7856,10 +7998,18 @@ const SectionCanceled = defineSetup(function SectionCanceled2(props) {
|
|
|
7856
7998
|
"attrs": {
|
|
7857
7999
|
"registerOverlay": registerOverlay
|
|
7858
8000
|
}
|
|
8001
|
+
}), h(InterruptableIntervalFitView, {
|
|
8002
|
+
"attrs": {
|
|
8003
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
8004
|
+
"registerOverlay": registerOverlay
|
|
8005
|
+
}
|
|
7859
8006
|
})]);
|
|
7860
8007
|
};
|
|
7861
8008
|
});
|
|
7862
8009
|
const SectionEndService = defineSetup(function SectionEndService2(props) {
|
|
8010
|
+
const {
|
|
8011
|
+
language
|
|
8012
|
+
} = useMapSupplier();
|
|
7863
8013
|
return () => {
|
|
7864
8014
|
const {
|
|
7865
8015
|
from: fromPlace,
|
|
@@ -7885,13 +8035,15 @@ const SectionEndService = defineSetup(function SectionEndService2(props) {
|
|
|
7885
8035
|
"attrs": {
|
|
7886
8036
|
"type": "start",
|
|
7887
8037
|
"position": from,
|
|
7888
|
-
"registerOverlay": registerOverlay
|
|
8038
|
+
"registerOverlay": registerOverlay,
|
|
8039
|
+
"language": language
|
|
7889
8040
|
}
|
|
7890
8041
|
}), h(StartEndPoint, {
|
|
7891
8042
|
"attrs": {
|
|
7892
8043
|
"type": "end",
|
|
7893
8044
|
"position": to,
|
|
7894
|
-
"registerOverlay": registerOverlay
|
|
8045
|
+
"registerOverlay": registerOverlay,
|
|
8046
|
+
"language": language
|
|
7895
8047
|
}
|
|
7896
8048
|
}), h(PlaceCircle, {
|
|
7897
8049
|
"attrs": {
|
|
@@ -7909,6 +8061,11 @@ const SectionEndService = defineSetup(function SectionEndService2(props) {
|
|
|
7909
8061
|
"attrs": {
|
|
7910
8062
|
"registerOverlay": registerOverlay
|
|
7911
8063
|
}
|
|
8064
|
+
}), h(InterruptableIntervalFitView, {
|
|
8065
|
+
"attrs": {
|
|
8066
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
8067
|
+
"registerOverlay": registerOverlay
|
|
8068
|
+
}
|
|
7912
8069
|
})]);
|
|
7913
8070
|
};
|
|
7914
8071
|
});
|