@heycar/heycars-map 0.9.11 → 0.9.12

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.
Files changed (33) hide show
  1. package/dist/index.cjs +485 -89
  2. package/dist/index.js +486 -90
  3. package/dist/src/Demo/DemoBusinessTaxiService.d.ts +805 -560
  4. package/dist/src/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.d.ts +0 -1
  5. package/dist/src/business-components/BusinessReselectPlaceMap/BusinessReselectPlaceMap.d.ts +2 -2
  6. package/dist/src/business-components/FitView/FitView.d.ts +9 -2
  7. package/dist/src/business-components/PassengerCircle/PassengerCircle.d.ts +825 -825
  8. package/dist/src/business-components/StartEndPoint/StartEndPoint.d.ts +825 -825
  9. package/dist/src/business-components/TaxiCar/TaxiCar.d.ts +825 -825
  10. package/dist/src/components/Amap/Amap.d.ts +8 -7
  11. package/dist/src/components/Amap/SafeAmap.d.ts +103 -0
  12. package/dist/src/components/MapProvider/MapProvider.d.ts +2 -1
  13. package/dist/src/hooks/useHeycarMap.d.ts +5 -1585
  14. package/dist/src/hooks/useMap.d.ts +4 -794
  15. package/dist/src/hooks/useMapAngle.d.ts +3 -3
  16. package/dist/src/hooks/useMapDrag.d.ts +3 -3
  17. package/dist/src/hooks/useMapFitView.d.ts +108 -108
  18. package/dist/src/hooks/useMapLngLatToVw.d.ts +3 -3
  19. package/dist/src/hooks/useMapWheelZoomCenter.d.ts +3 -2
  20. package/dist/src/hooks/useMapZoom.d.ts +3 -2
  21. package/dist/src/hooks-business/useBusinessQuotingMap.d.ts +806 -561
  22. package/dist/src/hooks-business/useBusinessRecomendPlaceMap.d.ts +4 -3
  23. package/dist/src/hooks-business/useBusinessReselectPlaceMap.d.ts +1 -1
  24. package/dist/src/hooks-business/useBusinessTaxiServiceMap.d.ts +806 -561
  25. package/dist/src/index.d.ts +1 -0
  26. package/dist/src/types/interface.d.ts +4 -2
  27. package/dist/src/types/my.d.ts +21 -0
  28. package/dist/src/types/wx.d.ts +1 -0
  29. package/dist/src/utils/alipayPolyfill.d.ts +1 -0
  30. package/dist/src/utils/helper.d.ts +0 -1
  31. package/dist/src/utils/referenceCount.d.ts +8 -0
  32. package/package.json +1 -1
  33. package/todo.md +11 -0
package/dist/index.cjs CHANGED
@@ -8,8 +8,11 @@ var __publicField = (obj, key, value) => {
8
8
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
9
9
  const Vue = require("vue");
10
10
  const style_css_ts_vanilla = "";
11
+ if (typeof window !== "undefined" && typeof globalThis === "undefined") {
12
+ window.globalThis = window;
13
+ }
11
14
  const name = "@heycar/heycars-map";
12
- const version = "0.9.11";
15
+ const version = "0.9.12";
13
16
  const type = "module";
14
17
  const bin = {
15
18
  checkVersion: "./bin/checkVersion.js"
@@ -1162,17 +1165,6 @@ const pausableSleep = (milliSeconds) => {
1162
1165
  };
1163
1166
  return { sleepPromise: sleepDefered, pause, restart };
1164
1167
  };
1165
- const createRunOnce = (fn) => {
1166
- let isExcuted = false;
1167
- let result;
1168
- return function runOnce(...args) {
1169
- if (isExcuted)
1170
- return result;
1171
- isExcuted = true;
1172
- result = fn(...args);
1173
- return result;
1174
- };
1175
- };
1176
1168
  const MAX_ANIMATION_DISTANCE_VW = 300;
1177
1169
  const MIN_ANIMATION_DURATION = 300;
1178
1170
  const ANIMATION_DURATION_FOR_100VW = 200;
@@ -1229,7 +1221,7 @@ const pipeDefer = (fn) => (...args) => {
1229
1221
  setTimeout(() => {
1230
1222
  const result = fn == null ? void 0 : fn(...args);
1231
1223
  resolve(result);
1232
- }, 1e3);
1224
+ }, 50);
1233
1225
  });
1234
1226
  };
1235
1227
  const pipeOnlyLastEffect = (fn) => {
@@ -1398,14 +1390,13 @@ function watchPostEffectForMapProperty(targetRef, props, nameOptions, watchOptio
1398
1390
  Vue.watch(
1399
1391
  deps,
1400
1392
  (values, prevValues) => {
1401
- const target = targetRef.value;
1402
- if (!target)
1393
+ if (!targetRef.value)
1403
1394
  return;
1404
1395
  for (const [idx, value] of values.entries()) {
1405
1396
  const { name: name2, defaultValue } = nameOptions[idx];
1406
1397
  const prev = prevValues[idx];
1407
1398
  if (!deepCompareEqualsForMaps(value, prev)) {
1408
- target[name2setterName(name2)](value != null ? value : defaultValue);
1399
+ targetRef.value[name2setterName(name2)](value != null ? value : defaultValue);
1409
1400
  }
1410
1401
  }
1411
1402
  },
@@ -1424,16 +1415,18 @@ function watchNoneImmediatePostEffectForMapProperty(targetRef, props, nameOption
1424
1415
  }
1425
1416
  function watchPostEffectForAMapEvent(targetRef, props, emit, propertyNames) {
1426
1417
  Vue.watchPostEffect((onCleanup) => {
1427
- const target = targetRef == null ? void 0 : targetRef.value;
1428
- if (!target)
1418
+ if (!(targetRef == null ? void 0 : targetRef.value))
1429
1419
  return;
1430
1420
  const cleanList = [];
1431
1421
  for (const name2 of propertyNames) {
1432
1422
  const emitEventName = property2emitEventName(name2);
1433
1423
  const eventName = property2mapEventName(name2);
1434
1424
  const handler = (e) => emit(emitEventName, e);
1435
- target.on(eventName, handler);
1436
- cleanList.push(() => target == null ? void 0 : target.off(eventName, handler));
1425
+ targetRef == null ? void 0 : targetRef.value.on(eventName, handler);
1426
+ cleanList.push(() => {
1427
+ var _a;
1428
+ return (_a = targetRef == null ? void 0 : targetRef.value) == null ? void 0 : _a.off(eventName, handler);
1429
+ });
1437
1430
  }
1438
1431
  onCleanup(() => {
1439
1432
  for (const clean of cleanList)
@@ -1463,24 +1456,49 @@ function watchPostEffectForGMapEvent(targetRef, props, emit, propertyNames) {
1463
1456
  const watchPostEffectOnce = (callback) => {
1464
1457
  Vue.watch(() => 0, callback, { immediate: true, flush: "post" });
1465
1458
  };
1459
+ class ReferenceCount {
1460
+ constructor() {
1461
+ __publicField(this, "count", 0);
1462
+ }
1463
+ log() {
1464
+ console.log(`ReferenceCount count = ${this.count}`);
1465
+ }
1466
+ add() {
1467
+ this.count += 1;
1468
+ this.log();
1469
+ }
1470
+ remove() {
1471
+ this.count -= 1;
1472
+ this.log();
1473
+ }
1474
+ }
1475
+ const referenceCount = new ReferenceCount();
1466
1476
  const AmapMarker = defineSetup(function AmapMarker2(props, { emit }) {
1467
1477
  const { registerOverlay } = props;
1468
1478
  const markerRef = Vue.shallowRef();
1469
1479
  const mapRef = useAmap();
1470
1480
  Vue.onMounted(() => {
1481
+ referenceCount.add();
1471
1482
  markerRef.value = new AMap.Marker({ ...props });
1472
1483
  });
1484
+ useMapOverlay({ registerOverlay, overlayRef: markerRef });
1473
1485
  Vue.onUnmounted(() => {
1474
- var _a;
1486
+ var _a, _b;
1487
+ referenceCount.remove();
1475
1488
  (_a = markerRef.value) == null ? void 0 : _a.setMap(null);
1489
+ (_b = markerRef.value) == null ? void 0 : _b.destroy();
1490
+ markerRef.value = void 0;
1476
1491
  });
1477
- useMapOverlay({ registerOverlay, overlayRef: markerRef });
1478
- Vue.watchPostEffect(() => {
1492
+ Vue.watchPostEffect((onCleanup) => {
1479
1493
  var _a;
1480
1494
  const map = mapRef == null ? void 0 : mapRef.value;
1481
- if (!map)
1495
+ if (!(map == null ? void 0 : map.amap))
1482
1496
  return;
1483
- (_a = markerRef.value) == null ? void 0 : _a.setMap(map);
1497
+ (_a = markerRef.value) == null ? void 0 : _a.setMap(map.amap);
1498
+ onCleanup(() => {
1499
+ var _a2;
1500
+ return (_a2 = markerRef.value) == null ? void 0 : _a2.setMap(null);
1501
+ });
1484
1502
  });
1485
1503
  watchNoneImmediatePostEffectForMapProperty(markerRef, props, [
1486
1504
  { name: "anchor", defaultValue: "" },
@@ -2328,6 +2346,8 @@ function detectWebGL() {
2328
2346
  const useAmapLngLatToVw = (props) => {
2329
2347
  const apiMapLngLatToVw = (point) => {
2330
2348
  const amap2 = props.mapRef.value;
2349
+ if (!(amap2 == null ? void 0 : amap2.amap))
2350
+ return [0, 0];
2331
2351
  const sw = innerWidth;
2332
2352
  const [x, y] = amap2 == null ? void 0 : amap2.lngLatToContainer(point).toArray();
2333
2353
  return [100 * x / sw, 100 * y / sw];
@@ -2392,6 +2412,316 @@ const useAmapWheelZoomCenter = (props) => {
2392
2412
  };
2393
2413
  const Amap_css_ts_vanilla = "";
2394
2414
  var amap = "_1d8ur7t0";
2415
+ class SafeAmap {
2416
+ constructor(elm, options) {
2417
+ __publicField(this, "containerElm");
2418
+ __publicField(this, "amap");
2419
+ this.containerElm = document.createElement("div");
2420
+ this.containerElm.style.position = "absolute";
2421
+ this.containerElm.style.top = "0";
2422
+ this.containerElm.style.left = "0";
2423
+ this.containerElm.style.right = "0";
2424
+ this.containerElm.style.bottom = "0";
2425
+ elm.appendChild(this.containerElm);
2426
+ this.amap = new AMap.Map(this.containerElm, options);
2427
+ }
2428
+ destroy() {
2429
+ var _a, _b, _c;
2430
+ (_b = (_a = this.containerElm) == null ? void 0 : _a.parentNode) == null ? void 0 : _b.removeChild(this.containerElm);
2431
+ (_c = this.amap) == null ? void 0 : _c.destroy();
2432
+ this.containerElm = void 0;
2433
+ this.amap = void 0;
2434
+ }
2435
+ getContainer() {
2436
+ var _a;
2437
+ return (_a = this.containerElm) == null ? void 0 : _a.parentElement;
2438
+ }
2439
+ setCenter(center, immediately, duration) {
2440
+ var _a;
2441
+ return (_a = this.amap) == null ? void 0 : _a.setCenter(center, immediately, duration);
2442
+ }
2443
+ getStyleByUserId(id, zoom) {
2444
+ var _a;
2445
+ return (_a = this.amap) == null ? void 0 : _a.getStyleByUserId(id, zoom);
2446
+ }
2447
+ getCustomTypeByContainerPos(lnglat) {
2448
+ var _a;
2449
+ return (_a = this.amap) == null ? void 0 : _a.getCustomTypeByContainerPos(lnglat);
2450
+ }
2451
+ getScreenShot(width, height) {
2452
+ var _a;
2453
+ return (_a = this.amap) == null ? void 0 : _a.getScreenShot(width, height);
2454
+ }
2455
+ setZoomAndCenter(zoom, center, immediately, duration) {
2456
+ var _a;
2457
+ (_a = this.amap) == null ? void 0 : _a.setZoomAndCenter(zoom, center, immediately, duration);
2458
+ }
2459
+ getBounds() {
2460
+ var _a;
2461
+ return (_a = this.amap) == null ? void 0 : _a.getBounds();
2462
+ }
2463
+ getCenter() {
2464
+ var _a;
2465
+ return (_a = this.amap) == null ? void 0 : _a.getCenter();
2466
+ }
2467
+ getGraphicInfo() {
2468
+ var _a;
2469
+ return (_a = this.amap) == null ? void 0 : _a.getGraphicInfo();
2470
+ }
2471
+ setZoom(zoom, immediately, duration) {
2472
+ var _a;
2473
+ (_a = this.amap) == null ? void 0 : _a.setZoom(zoom, immediately, duration);
2474
+ }
2475
+ getZoom(digits) {
2476
+ var _a;
2477
+ return (_a = this.amap) == null ? void 0 : _a.getZoom(digits);
2478
+ }
2479
+ zoomIn() {
2480
+ var _a;
2481
+ (_a = this.amap) == null ? void 0 : _a.zoomIn();
2482
+ }
2483
+ zoomOut() {
2484
+ var _a;
2485
+ (_a = this.amap) == null ? void 0 : _a.zoomOut();
2486
+ }
2487
+ getPitch() {
2488
+ var _a;
2489
+ return (_a = this.amap) == null ? void 0 : _a.getPitch();
2490
+ }
2491
+ setPitch(pitch, immediately, duration) {
2492
+ var _a;
2493
+ (_a = this.amap) == null ? void 0 : _a.setPitch(pitch, immediately, duration);
2494
+ }
2495
+ getRotation() {
2496
+ var _a;
2497
+ return (_a = this.amap) == null ? void 0 : _a.getRotation();
2498
+ }
2499
+ setRotation(rotation, immediately, duration) {
2500
+ var _a;
2501
+ (_a = this.amap) == null ? void 0 : _a.setRotation(rotation, immediately, duration);
2502
+ }
2503
+ setBounds(bounds, immediately, avoid) {
2504
+ var _a;
2505
+ (_a = this.amap) == null ? void 0 : _a.setBounds(bounds, immediately, avoid);
2506
+ }
2507
+ panTo(lnglat, duration) {
2508
+ var _a;
2509
+ (_a = this.amap) == null ? void 0 : _a.panTo(lnglat, duration);
2510
+ }
2511
+ panBy(x, y, duration) {
2512
+ var _a;
2513
+ (_a = this.amap) == null ? void 0 : _a.panBy(x, y, duration);
2514
+ }
2515
+ add(features) {
2516
+ var _a;
2517
+ (_a = this.amap) == null ? void 0 : _a.add(features);
2518
+ }
2519
+ remove(features) {
2520
+ var _a;
2521
+ (_a = this.amap) == null ? void 0 : _a.remove(features);
2522
+ }
2523
+ lngLatToCoords(lnglat) {
2524
+ var _a;
2525
+ return (_a = this.amap) == null ? void 0 : _a.lngLatToCoords(lnglat);
2526
+ }
2527
+ coordsToLngLat(coords) {
2528
+ var _a;
2529
+ return (_a = this.amap) == null ? void 0 : _a.coordsToLngLat(coords);
2530
+ }
2531
+ lngLatToContainer(lnglat) {
2532
+ var _a;
2533
+ return (_a = this.amap) == null ? void 0 : _a.lngLatToContainer(lnglat);
2534
+ }
2535
+ containerToLngLat(pixel) {
2536
+ var _a;
2537
+ return (_a = this.amap) == null ? void 0 : _a.containerToLngLat(pixel);
2538
+ }
2539
+ coordToContainer(coord) {
2540
+ var _a;
2541
+ return (_a = this.amap) == null ? void 0 : _a.coordToContainer(coord);
2542
+ }
2543
+ containerToCoord(pixel) {
2544
+ var _a;
2545
+ return (_a = this.amap) == null ? void 0 : _a.containerToCoord(pixel);
2546
+ }
2547
+ pixelToLngLat(pixel, z) {
2548
+ var _a;
2549
+ return (_a = this.amap) == null ? void 0 : _a.pixelToLngLat(pixel, z);
2550
+ }
2551
+ lngLatToPixel(lnglat, z) {
2552
+ var _a;
2553
+ return (_a = this.amap) == null ? void 0 : _a.lngLatToPixel(lnglat, z);
2554
+ }
2555
+ getResolution(point) {
2556
+ var _a;
2557
+ return (_a = this.amap) == null ? void 0 : _a.getResolution(point);
2558
+ }
2559
+ getScale(dpi) {
2560
+ var _a;
2561
+ return (_a = this.amap) == null ? void 0 : _a.getScale(dpi);
2562
+ }
2563
+ getCity(cbk, lnglat) {
2564
+ var _a;
2565
+ (_a = this.amap) == null ? void 0 : _a.getCity(cbk, lnglat);
2566
+ }
2567
+ setCity(cityName, cbk) {
2568
+ var _a;
2569
+ (_a = this.amap) == null ? void 0 : _a.setCity(cityName, cbk);
2570
+ }
2571
+ setFitView(overlays, immediately, avoid, maxZoom) {
2572
+ var _a;
2573
+ return (_a = this.amap) == null ? void 0 : _a.setFitView(overlays, immediately, avoid, maxZoom);
2574
+ }
2575
+ getFitZoomAndCenterByOverlays(overlayList, avoid, maxZoom) {
2576
+ var _a;
2577
+ return (_a = this.amap) == null ? void 0 : _a.getFitZoomAndCenterByOverlays(overlayList, avoid, maxZoom);
2578
+ }
2579
+ getFitZoomAndCenterByBounds(bounds, avoid, maxZoom) {
2580
+ var _a;
2581
+ return (_a = this.amap) == null ? void 0 : _a.getFitZoomAndCenterByBounds(bounds, avoid, maxZoom);
2582
+ }
2583
+ addControl(control) {
2584
+ var _a;
2585
+ (_a = this.amap) == null ? void 0 : _a.addControl(control);
2586
+ }
2587
+ removeControl(control) {
2588
+ var _a;
2589
+ (_a = this.amap) == null ? void 0 : _a.removeControl(control);
2590
+ }
2591
+ setMapStyle(value) {
2592
+ var _a;
2593
+ (_a = this.amap) == null ? void 0 : _a.setMapStyle(value);
2594
+ }
2595
+ getMapStyle() {
2596
+ var _a;
2597
+ return (_a = this.amap) == null ? void 0 : _a.getMapStyle();
2598
+ }
2599
+ getAllOverlays(type2) {
2600
+ var _a;
2601
+ return (_a = this.amap) == null ? void 0 : _a.getAllOverlays(type2);
2602
+ }
2603
+ clearMap() {
2604
+ var _a;
2605
+ (_a = this.amap) == null ? void 0 : _a.clearMap();
2606
+ }
2607
+ clearInfoWindow() {
2608
+ var _a;
2609
+ (_a = this.amap) == null ? void 0 : _a.clearInfoWindow();
2610
+ }
2611
+ getFeatures() {
2612
+ var _a;
2613
+ return (_a = this.amap) == null ? void 0 : _a.getFeatures();
2614
+ }
2615
+ setFeatures(features) {
2616
+ var _a;
2617
+ (_a = this.amap) == null ? void 0 : _a.setFeatures(features);
2618
+ }
2619
+ getMapApprovalNumber() {
2620
+ var _a;
2621
+ return (_a = this.amap) == null ? void 0 : _a.getMapApprovalNumber();
2622
+ }
2623
+ setMask(maskPath) {
2624
+ var _a;
2625
+ (_a = this.amap) == null ? void 0 : _a.setMask(maskPath);
2626
+ }
2627
+ setLabelRejectMask(reject) {
2628
+ var _a;
2629
+ (_a = this.amap) == null ? void 0 : _a.setLabelRejectMask(reject);
2630
+ }
2631
+ /**
2632
+ * AMap.coreMap
2633
+ */
2634
+ getSize() {
2635
+ var _a;
2636
+ return (_a = this.amap) == null ? void 0 : _a.getSize();
2637
+ }
2638
+ addLayer(layer) {
2639
+ var _a;
2640
+ (_a = this.amap) == null ? void 0 : _a.addLayer(layer);
2641
+ }
2642
+ removeLayer(layer) {
2643
+ var _a;
2644
+ (_a = this.amap) == null ? void 0 : _a.removeLayer(layer);
2645
+ }
2646
+ setLayers(layers) {
2647
+ var _a;
2648
+ (_a = this.amap) == null ? void 0 : _a.setLayers(layers);
2649
+ }
2650
+ getLayers() {
2651
+ var _a;
2652
+ return (_a = this.amap) == null ? void 0 : _a.getLayers();
2653
+ }
2654
+ getLayersDangerous() {
2655
+ var _a;
2656
+ return (_a = this.amap) == null ? void 0 : _a.getLayersDangerous();
2657
+ }
2658
+ getStatus() {
2659
+ var _a;
2660
+ return (_a = this.amap) == null ? void 0 : _a.getStatus();
2661
+ }
2662
+ setStatus(status) {
2663
+ var _a;
2664
+ (_a = this.amap) == null ? void 0 : _a.setStatus(status);
2665
+ }
2666
+ getDefaultCursor() {
2667
+ var _a;
2668
+ return (_a = this.amap) == null ? void 0 : _a.getDefaultCursor();
2669
+ }
2670
+ setDefaultCursor(cursor) {
2671
+ var _a;
2672
+ (_a = this.amap) == null ? void 0 : _a.setDefaultCursor(cursor);
2673
+ }
2674
+ getLimitBounds() {
2675
+ var _a;
2676
+ return (_a = this.amap) == null ? void 0 : _a.getLimitBounds();
2677
+ }
2678
+ setLimitBounds(bounds) {
2679
+ var _a;
2680
+ (_a = this.amap) == null ? void 0 : _a.setLimitBounds(bounds);
2681
+ }
2682
+ clearLimitBounds() {
2683
+ var _a;
2684
+ (_a = this.amap) == null ? void 0 : _a.clearLimitBounds();
2685
+ }
2686
+ getZooms() {
2687
+ var _a;
2688
+ return (_a = this.amap) == null ? void 0 : _a.getZooms();
2689
+ }
2690
+ setZooms(zooms) {
2691
+ var _a;
2692
+ (_a = this.amap) == null ? void 0 : _a.setZooms(zooms);
2693
+ }
2694
+ /**
2695
+ * AMap.Event
2696
+ */
2697
+ on(type2, fn, context2, once) {
2698
+ var _a;
2699
+ (_a = this.amap) == null ? void 0 : _a.on(type2, fn, context2, once);
2700
+ return this;
2701
+ }
2702
+ off(type2, fn, context2) {
2703
+ var _a;
2704
+ (_a = this.amap) == null ? void 0 : _a.off(type2, fn, context2);
2705
+ return this;
2706
+ }
2707
+ hasEvents(type2, fn, context2) {
2708
+ var _a;
2709
+ return !!((_a = this.amap) == null ? void 0 : _a.hasEvents(type2, fn, context2));
2710
+ }
2711
+ clearEvents(type2) {
2712
+ var _a;
2713
+ (_a = this.amap) == null ? void 0 : _a.clearEvents(type2);
2714
+ return this;
2715
+ }
2716
+ emit(type2, data) {
2717
+ var _a;
2718
+ (_a = this.amap) == null ? void 0 : _a.emit(type2, data);
2719
+ return this;
2720
+ }
2721
+ getEvents() {
2722
+ return this.amap.getEvents();
2723
+ }
2724
+ }
2395
2725
  const Amap = defineSetup(function Amap2(props, { slots, emit }) {
2396
2726
  const {
2397
2727
  onDragStart,
@@ -2435,10 +2765,11 @@ const Amap = defineSetup(function Amap2(props, { slots, emit }) {
2435
2765
  provideAmap(mapRef);
2436
2766
  const { apiMapDistanceVwOfPoints } = useMapLngLatToVw({ mapRef });
2437
2767
  useAmapWheelZoomCenter({ mapRef, enableRef: Vue.computed(() => !!props.touchZoomCenter) });
2438
- Vue.watchPostEffect(() => {
2768
+ Vue.watchPostEffect((onCleanup) => {
2439
2769
  if (mapRef.value || !elementRef.value)
2440
2770
  return;
2441
- const map = new AMap.Map(elementRef.value, {
2771
+ referenceCount.add();
2772
+ const map = new SafeAmap(elementRef.value, {
2442
2773
  ...defaultOptions,
2443
2774
  scrollWheel: defaultOptions.touchZoomCenter ? false : defaultOptions.scrollWheel,
2444
2775
  vectorMapForeign
@@ -2446,6 +2777,13 @@ const Amap = defineSetup(function Amap2(props, { slots, emit }) {
2446
2777
  window.GlobalAmap = map;
2447
2778
  mapRef.value = map;
2448
2779
  setMap == null ? void 0 : setMap(map);
2780
+ onCleanup(() => {
2781
+ window.GlobalAmap = void 0;
2782
+ mapRef.value = void 0;
2783
+ setMap == null ? void 0 : setMap(void 0);
2784
+ map == null ? void 0 : map.destroy();
2785
+ referenceCount.remove();
2786
+ });
2449
2787
  });
2450
2788
  watchNoneImmediatePostEffectForDeepOption(
2451
2789
  () => statusOptions.value,
@@ -2749,18 +3087,26 @@ const AmapPolyline = defineSetup(function AmapPolyline2(props) {
2749
3087
  const polylineRef = Vue.shallowRef();
2750
3088
  const mapRef = useAmap();
2751
3089
  Vue.onMounted(() => {
3090
+ referenceCount.add();
2752
3091
  polylineRef.value = new AMap.Polyline({ ...props });
2753
3092
  });
2754
3093
  Vue.onUnmounted(() => {
2755
- var _a;
3094
+ var _a, _b;
3095
+ referenceCount.remove();
2756
3096
  (_a = polylineRef.value) == null ? void 0 : _a.setMap(null);
3097
+ (_b = polylineRef.value) == null ? void 0 : _b.destroy();
3098
+ polylineRef.value = void 0;
2757
3099
  });
2758
- Vue.watchPostEffect(() => {
3100
+ Vue.watchPostEffect((onCleanup) => {
2759
3101
  var _a;
2760
3102
  const map = mapRef == null ? void 0 : mapRef.value;
2761
- if (!map)
3103
+ if (!(map == null ? void 0 : map.amap))
2762
3104
  return;
2763
- (_a = polylineRef.value) == null ? void 0 : _a.setMap(map);
3105
+ (_a = polylineRef.value) == null ? void 0 : _a.setMap(map.amap);
3106
+ onCleanup(() => {
3107
+ var _a2;
3108
+ return (_a2 = polylineRef.value) == null ? void 0 : _a2.setMap(null);
3109
+ });
2764
3110
  });
2765
3111
  watchNoneImmediatePostEffectForMapProperty(polylineRef, props, [
2766
3112
  { name: "path", defaultValue: [[0, 0]] },
@@ -3040,7 +3386,7 @@ const useDrivingRoute = (props) => {
3040
3386
  return supplier === "gmap" ? useGDrivingRoute(props) : useADrivingRoute(props);
3041
3387
  };
3042
3388
  const amapComputeHeading = (from, to, map) => {
3043
- if (!map)
3389
+ if (!(map == null ? void 0 : map.amap))
3044
3390
  return 0;
3045
3391
  const { x: xFrom, y: yFrom } = map.lngLatToContainer(from);
3046
3392
  const { x: xTo, y: yTo } = map.lngLatToContainer(to);
@@ -3132,15 +3478,15 @@ const useAmapFitView = (props) => {
3132
3478
  const { mapRef, autoFitTimeout } = props;
3133
3479
  const overlayGroup = /* @__PURE__ */ new Set();
3134
3480
  let timer = void 0;
3135
- const setFitView = () => {
3481
+ const setFitView = (immediate = false) => {
3136
3482
  var _a, _b;
3137
3483
  const map = mapRef.value;
3138
- if (!map)
3484
+ if (!(map == null ? void 0 : map.amap))
3139
3485
  return;
3140
3486
  const vw = window.innerWidth / 100;
3141
3487
  const [top, right, bottom, left] = (_a = props.padding) != null ? _a : [0, 0, 0, 0];
3142
3488
  spaceLog("setFitView", "overlayGroup = ", overlayGroup);
3143
- map.setFitView([...overlayGroup], false, [top * vw, bottom * vw, left * vw, right * vw]);
3489
+ map.setFitView([...overlayGroup], immediate, [top * vw, bottom * vw, left * vw, right * vw]);
3144
3490
  if (overlayGroup.size === 1) {
3145
3491
  const [overlay] = [...overlayGroup];
3146
3492
  const position = (_b = overlay.getPosition) == null ? void 0 : _b.call(overlay);
@@ -3320,14 +3666,18 @@ const FitViewOnce = defineSetup(function FitViewOnce2(props, {
3320
3666
  } = registerOverlay;
3321
3667
  Vue.onMounted(async () => {
3322
3668
  await mapMountedPromise;
3323
- setFitView();
3669
+ setFitView(!!props.immediate);
3324
3670
  });
3325
3671
  return () => {
3326
3672
  var _a;
3327
3673
  return Vue.h("div", [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
3328
3674
  };
3329
3675
  });
3330
- function createFittableRegisterOverlay(registerOverlay) {
3676
+ function createFittableRegisterOverlay(props) {
3677
+ const {
3678
+ registerOverlay,
3679
+ immediate = false
3680
+ } = props;
3331
3681
  const {
3332
3682
  add,
3333
3683
  remove,
@@ -3335,11 +3685,11 @@ function createFittableRegisterOverlay(registerOverlay) {
3335
3685
  } = registerOverlay;
3336
3686
  const fittableAdd = (v) => {
3337
3687
  add(v);
3338
- setFitView();
3688
+ setFitView(immediate);
3339
3689
  };
3340
3690
  const fittableRemove = (v) => {
3341
3691
  remove(v);
3342
- setFitView();
3692
+ setFitView(immediate);
3343
3693
  };
3344
3694
  return {
3345
3695
  add: fittableAdd,
@@ -3402,7 +3752,7 @@ const InterruptableIntervalFitView = defineSetup(function InterruptableIntervalF
3402
3752
  } = pausableSleep(props.interval));
3403
3753
  await sleepPromise;
3404
3754
  console.log("InterruptableIntervalFitView setFitView");
3405
- registerOverlay.setFitView();
3755
+ registerOverlay.setFitView(!!props.immediate);
3406
3756
  }
3407
3757
  }, {
3408
3758
  immediate: true,
@@ -3588,8 +3938,11 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props,
3588
3938
  const {
3589
3939
  language
3590
3940
  } = useMapSupplier();
3591
- const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
3592
- const deferedSetFitView = pipeDefer(registerOverlay.setFitView);
3941
+ const fittableRegistryOverlay = createFittableRegisterOverlay({
3942
+ registerOverlay,
3943
+ immediate: true
3944
+ });
3945
+ const deferedSetFitView = pipeDefer(() => registerOverlay.setFitView(true));
3593
3946
  return () => {
3594
3947
  const {
3595
3948
  from: inputFromPlace,
@@ -3842,7 +4195,11 @@ function wechatWatchPosition(onSuccess, onError, option) {
3842
4195
  isHandled = true;
3843
4196
  const isGeoWorking = isGeoWorkingRef.value;
3844
4197
  isGeoWorkingRef.value = false;
3845
- console.warn("MyWarning: wx.getLocation failed msg = ", res.errMsg);
4198
+ console.warn(
4199
+ "MyWarning: wx.getLocation failed errcode, errmsg = ",
4200
+ res.errCode,
4201
+ res.errMsg
4202
+ );
3846
4203
  resolve(void 0);
3847
4204
  if (!isGeoWorking)
3848
4205
  return;
@@ -3932,6 +4289,25 @@ function compatibleWathPosition(onSuccess, onError, option) {
3932
4289
  const watchId = navigator.geolocation.watchPosition(onSuccess, onError, option);
3933
4290
  return () => navigator.geolocation.clearWatch(watchId);
3934
4291
  }
4292
+ window.efg = () => my.getLocation({
4293
+ type: 0,
4294
+ cacheTimeout: 1,
4295
+ success(res) {
4296
+ console.log("my.getLocation success = ", JSON.stringify(res, null, 2));
4297
+ },
4298
+ fail(res) {
4299
+ console.log("my.getLocation fail = ", JSON.stringify(res, null, 2));
4300
+ }
4301
+ });
4302
+ window.abc = () => wx.getLocation({
4303
+ type: "wgs84",
4304
+ success(res) {
4305
+ console.log("wx.getLocation success = ", JSON.stringify(res, null, 2));
4306
+ },
4307
+ fail(res) {
4308
+ console.log("wx.getLocation fail = ", JSON.stringify(res, null, 2));
4309
+ }
4310
+ });
3935
4311
  class SingleGeoWatch {
3936
4312
  constructor(option) {
3937
4313
  __publicField(this, "id", 0);
@@ -4080,11 +4456,11 @@ const useHeycarAmap = () => {
4080
4456
  const { apiMapDistanceVwOfPoints } = useMapLngLatToVw({ mapRef: amapRef });
4081
4457
  const setMap = (map) => {
4082
4458
  amapRef.value = map;
4083
- amapElementRef.value = map.getContainer();
4459
+ amapElementRef.value = map == null ? void 0 : map.getContainer();
4084
4460
  };
4085
4461
  const panTo = async (value) => {
4086
4462
  const amap2 = amapRef.value;
4087
- if (!amap2)
4463
+ if (!(amap2 == null ? void 0 : amap2.amap))
4088
4464
  return;
4089
4465
  const { lng, lat } = amap2.getCenter();
4090
4466
  const distanceVw = apiMapDistanceVwOfPoints(value, [lng, lat]);
@@ -4104,7 +4480,7 @@ const useHeycarGamp = () => {
4104
4480
  const gmapElementRef = Vue.shallowRef();
4105
4481
  const setMap = (map) => {
4106
4482
  gmapRef.value = map;
4107
- gmapElementRef.value = map.getDiv();
4483
+ gmapElementRef.value = map == null ? void 0 : map.getDiv();
4108
4484
  };
4109
4485
  const panTo = (value) => {
4110
4486
  var _a;
@@ -5808,6 +6184,7 @@ const useAmapPlace = (props) => {
5808
6184
  async () => {
5809
6185
  await readyPromise;
5810
6186
  const resultPlace = await getPlaceByRegeo(pointRef.value);
6187
+ Object.assign(place, resultPlace);
5811
6188
  onChange == null ? void 0 : onChange(resultPlace);
5812
6189
  }
5813
6190
  );
@@ -5850,6 +6227,7 @@ const useGmapPlace = (props) => {
5850
6227
  async () => {
5851
6228
  await readyPromise;
5852
6229
  const resultPlace = await getPlaceByRegeo(pointRef.value);
6230
+ Object.assign(place, resultPlace);
5853
6231
  onChange == null ? void 0 : onChange(resultPlace);
5854
6232
  }
5855
6233
  );
@@ -6045,7 +6423,7 @@ const useAmapZoom = (props) => {
6045
6423
  Vue.watch(
6046
6424
  () => mapRef.value,
6047
6425
  (map) => {
6048
- if (!map)
6426
+ if (!(map == null ? void 0 : map.amap))
6049
6427
  return;
6050
6428
  zoomRef.value = map.getZoom();
6051
6429
  }
@@ -6093,20 +6471,28 @@ const AmapPolygon = defineSetup(function AmapPolygon2(props) {
6093
6471
  const polygonRef = Vue.shallowRef();
6094
6472
  const mapRef = useAmap();
6095
6473
  Vue.onMounted(() => {
6474
+ referenceCount.add();
6096
6475
  polygonRef.value = new AMap.Polygon();
6097
6476
  polygonRef.value.setOptions(props);
6098
6477
  });
6099
6478
  Vue.onUnmounted(() => {
6100
- var _a;
6479
+ var _a, _b;
6480
+ referenceCount.remove();
6101
6481
  (_a = polygonRef.value) == null ? void 0 : _a.setMap(null);
6482
+ (_b = polygonRef.value) == null ? void 0 : _b.destroy();
6483
+ polygonRef.value = void 0;
6102
6484
  });
6103
6485
  useAmapFixBugPolygonDrag(polygonRef);
6104
- Vue.watchPostEffect(() => {
6486
+ Vue.watchPostEffect((onCleanup) => {
6105
6487
  var _a;
6106
6488
  const map = mapRef == null ? void 0 : mapRef.value;
6107
- if (!map)
6489
+ if (!(map == null ? void 0 : map.amap))
6108
6490
  return;
6109
- (_a = polygonRef.value) == null ? void 0 : _a.setMap(map);
6491
+ (_a = polygonRef.value) == null ? void 0 : _a.setMap(map.amap);
6492
+ onCleanup(() => {
6493
+ var _a2;
6494
+ return (_a2 = polygonRef.value) == null ? void 0 : _a2.setMap(null);
6495
+ });
6110
6496
  });
6111
6497
  watchNoneImmediatePostEffectForMapProperty(polygonRef, props, [
6112
6498
  { name: "path", defaultValue: [[0, 0]] },
@@ -6854,7 +7240,10 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
6854
7240
  updatePlace(value.position);
6855
7241
  }
6856
7242
  },
6857
- onChange: (v) => emit("changeGeoLocation", v),
7243
+ onChange: (v) => {
7244
+ mapContext.geoPositionRef.value = v.position;
7245
+ emit("changeGeoLocation", v);
7246
+ },
6858
7247
  onError: (e) => emit("geoError", e)
6859
7248
  });
6860
7249
  mapContext.setCenterPlaceByUserSpecified = setCenterPlaceByUserSpecified;
@@ -6937,8 +7326,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
6937
7326
  const {
6938
7327
  geoLoadingTitle: geoLoadingTitle2,
6939
7328
  recomendDescription,
6940
- unavailableTitle,
6941
- disableLocator
7329
+ unavailableTitle
6942
7330
  } = props;
6943
7331
  const title = geoLoading.value ? geoLoadingTitle2 : !availableRef.value ? unavailableTitle : centerPlace.displayName;
6944
7332
  const description = !availableRef.value ? void 0 : isElectedRef.value ? recomendDescription : void 0;
@@ -6976,14 +7364,14 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
6976
7364
  "title": title,
6977
7365
  "description": description,
6978
7366
  "type": isDragging.value ? "locator" : "box",
6979
- "withArrow": !disableLocator
7367
+ "withArrow": true
6980
7368
  },
6981
7369
  "on": {
6982
- "click": () => disableLocator ? null : emit("clickLocator")
7370
+ "click": () => emit("clickLocator")
6983
7371
  }
6984
7372
  })]);
6985
7373
  };
6986
- }).props(["log", "geoLoadingTitle", "unavailableTitle", "recomendDescription", "disableLocator", "fallback", "geoDefaultPosition", "getRecomendPlace", "getDefaultCenterPlace", "loading", "mapContext"]);
7374
+ }).props(["log", "geoLoadingTitle", "unavailableTitle", "recomendDescription", "fallback", "geoDefaultPosition", "getRecomendPlace", "getDefaultCenterPlace", "loading", "mapContext"]);
6987
7375
  const emptyPlace = {
6988
7376
  lng: 0,
6989
7377
  lat: 0,
@@ -6995,12 +7383,11 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
6995
7383
  slots
6996
7384
  }) {
6997
7385
  const {
7386
+ getRecomendPlace,
6998
7387
  mapContext,
6999
- disableLocator,
7000
7388
  defaultPlace = {
7001
7389
  ...emptyPlace
7002
- },
7003
- getRecomendPlace
7390
+ }
7004
7391
  } = props;
7005
7392
  const pipedGetRecomendPlace = pipeOnlyLastEffect(getRecomendPlace);
7006
7393
  const {
@@ -7029,10 +7416,6 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
7029
7416
  centerSource.source = "api";
7030
7417
  updatePlace(point);
7031
7418
  };
7032
- const setCenterPlaceDisplayNameOnce = createRunOnce((input) => {
7033
- if (input)
7034
- centerPlace.displayName = String(input);
7035
- });
7036
7419
  const setCenterPlaceByUserSpecified = async (input) => {
7037
7420
  centerSource.source = "api";
7038
7421
  const place = toPlaceType(input);
@@ -7086,7 +7469,6 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
7086
7469
  geoDefaultPosition: place2point(defaultPlace),
7087
7470
  onError: (e) => emit("geoError", e)
7088
7471
  });
7089
- mapContext.setCenterPlaceDisplayNameOnce = setCenterPlaceDisplayNameOnce;
7090
7472
  mapContext.setCenterPlaceByUserSpecified = setCenterPlaceByUserSpecified;
7091
7473
  mapContext.setCenterPlaceByUserSpecifiedInZone = setCenterPlaceByUserSpecifiedInZone;
7092
7474
  mapContext.panToGeoPositionByRecomend = () => {
@@ -7209,15 +7591,11 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
7209
7591
  "attrs": {
7210
7592
  "title": title,
7211
7593
  "description": description,
7212
- "type": isDragging.value ? "locator" : "box",
7213
- "withArrow": !disableLocator
7214
- },
7215
- "on": {
7216
- "click": () => disableLocator ? null : emit("clickLocator")
7594
+ "type": isDragging.value ? "locator" : "box"
7217
7595
  }
7218
7596
  })]);
7219
7597
  };
7220
- }).props(["loading", "fallback", "log", "defaultPlace", "unavailableTitle", "recomendDescription", "disableLocator", "getRecomendPlace", "mapContext"]);
7598
+ }).props(["loading", "fallback", "log", "defaultPlace", "unavailableTitle", "recomendDescription", "getRecomendPlace", "mapContext"]);
7221
7599
  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=";
7222
7600
  const TaxiCar_css_ts_vanilla = "";
7223
7601
  var carIcon = "_65j3sr1";
@@ -7595,10 +7973,12 @@ const SectionDispatching = defineSetup(function SectionDispatching2(props) {
7595
7973
  }
7596
7974
  }), Vue.h(FitViewOnce, {
7597
7975
  "attrs": {
7598
- "registerOverlay": registerOverlay
7976
+ "registerOverlay": registerOverlay,
7977
+ "immediate": true
7599
7978
  }
7600
7979
  }), Vue.h(InterruptableIntervalFitView, {
7601
7980
  "attrs": {
7981
+ "immediate": true,
7602
7982
  "interval": AUTO_FIT_VIEW_INTERVAL,
7603
7983
  "registerOverlay": registerOverlay
7604
7984
  }
@@ -7670,7 +8050,8 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
7670
8050
  }
7671
8051
  }), Vue.h(FitViewOnce, {
7672
8052
  "attrs": {
7673
- "registerOverlay": registerOverlay
8053
+ "registerOverlay": registerOverlay,
8054
+ "immediate": true
7674
8055
  }
7675
8056
  }), Vue.h(InterruptableIntervalFitView, {
7676
8057
  "attrs": {
@@ -7684,7 +8065,10 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
7684
8065
  const {
7685
8066
  registerOverlay
7686
8067
  } = props;
7687
- const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
8068
+ const fittableRegistryOverlay = createFittableRegisterOverlay({
8069
+ registerOverlay,
8070
+ immediate: true
8071
+ });
7688
8072
  const {
7689
8073
  language
7690
8074
  } = useMapSupplier();
@@ -7776,7 +8160,8 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
7776
8160
  }
7777
8161
  }), Vue.h(FitViewOnce, {
7778
8162
  "attrs": {
7779
- "registerOverlay": registerOverlay
8163
+ "registerOverlay": registerOverlay,
8164
+ "immediate": true
7780
8165
  }
7781
8166
  }), Vue.h(InterruptableIntervalFitView, {
7782
8167
  "attrs": {
@@ -7863,7 +8248,8 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
7863
8248
  }
7864
8249
  }), Vue.h(FitViewOnce, {
7865
8250
  "attrs": {
7866
- "registerOverlay": registerOverlay
8251
+ "registerOverlay": registerOverlay,
8252
+ "immediate": true
7867
8253
  }
7868
8254
  }), Vue.h(InterruptableIntervalFitView, {
7869
8255
  "attrs": {
@@ -7877,7 +8263,10 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
7877
8263
  const {
7878
8264
  registerOverlay
7879
8265
  } = props;
7880
- const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
8266
+ const fittableRegistryOverlay = createFittableRegisterOverlay({
8267
+ registerOverlay,
8268
+ immediate: true
8269
+ });
7881
8270
  const {
7882
8271
  language
7883
8272
  } = useMapSupplier();
@@ -7936,7 +8325,8 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
7936
8325
  }
7937
8326
  }), Vue.h(FitViewOnce, {
7938
8327
  "attrs": {
7939
- "registerOverlay": registerOverlay
8328
+ "registerOverlay": registerOverlay,
8329
+ "immediate": true
7940
8330
  }
7941
8331
  }), Vue.h(InterruptableIntervalFitView, {
7942
8332
  "attrs": {
@@ -7950,7 +8340,10 @@ const SectionInService = defineSetup(function SectionInService2(props) {
7950
8340
  const {
7951
8341
  registerOverlay
7952
8342
  } = props;
7953
- const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
8343
+ const fittableRegistryOverlay = createFittableRegisterOverlay({
8344
+ registerOverlay,
8345
+ immediate: true
8346
+ });
7954
8347
  return () => {
7955
8348
  const {
7956
8349
  to: toPlace,
@@ -8020,7 +8413,8 @@ const SectionInService = defineSetup(function SectionInService2(props) {
8020
8413
  }
8021
8414
  }), Vue.h(FitViewOnce, {
8022
8415
  "attrs": {
8023
- "registerOverlay": registerOverlay
8416
+ "registerOverlay": registerOverlay,
8417
+ "immediate": true
8024
8418
  }
8025
8419
  }), Vue.h(InterruptableIntervalFitView, {
8026
8420
  "attrs": {
@@ -8070,10 +8464,12 @@ const SectionCanceled = defineSetup(function SectionCanceled2(props) {
8070
8464
  }
8071
8465
  }), Vue.h(FitViewOnce, {
8072
8466
  "attrs": {
8073
- "registerOverlay": registerOverlay
8467
+ "registerOverlay": registerOverlay,
8468
+ "immediate": true
8074
8469
  }
8075
8470
  }), Vue.h(InterruptableIntervalFitView, {
8076
8471
  "attrs": {
8472
+ "immediate": true,
8077
8473
  "interval": AUTO_FIT_VIEW_INTERVAL,
8078
8474
  "registerOverlay": registerOverlay
8079
8475
  }
@@ -8133,11 +8529,13 @@ const SectionEndService = defineSetup(function SectionEndService2(props) {
8133
8529
  }
8134
8530
  }), Vue.h(FitViewOnce, {
8135
8531
  "attrs": {
8136
- "registerOverlay": registerOverlay
8532
+ "registerOverlay": registerOverlay,
8533
+ "immediate": true
8137
8534
  }
8138
8535
  }), Vue.h(InterruptableIntervalFitView, {
8139
8536
  "attrs": {
8140
8537
  "interval": AUTO_FIT_VIEW_INTERVAL,
8538
+ "immediate": true,
8141
8539
  "registerOverlay": registerOverlay
8142
8540
  }
8143
8541
  })]);
@@ -8155,7 +8553,7 @@ const BusinessTaxiEndMap = defineSetup(function BusinessTaxiEndMap2(props) {
8155
8553
  autoFitTimeout: 5e3,
8156
8554
  padding: [19, 36, 19, 26]
8157
8555
  });
8158
- const deferedSetFitView = pipeDefer(registerFitVeiw.setFitView);
8556
+ const deferedSetFitView = pipeDefer(() => registerFitVeiw.setFitView(true));
8159
8557
  return () => {
8160
8558
  const {
8161
8559
  from: inputFrom,
@@ -8194,7 +8592,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
8194
8592
  renderStartSerivceTitle,
8195
8593
  renderInServiceTitle
8196
8594
  } = props;
8197
- const deferedSetFitView = pipeDefer(registerOverlay.setFitView);
8595
+ const deferedSetFitView = pipeDefer(() => registerOverlay.setFitView(true));
8198
8596
  const {
8199
8597
  setMap,
8200
8598
  mapElementRef
@@ -8365,19 +8763,17 @@ const useBusinessRecomendPlaceMap = () => {
8365
8763
  displayName: ""
8366
8764
  });
8367
8765
  const placeCandidates = Vue.ref([]);
8766
+ const geoPositionRef = Vue.ref();
8368
8767
  const { apiMapDistance } = useMapGeometry();
8369
8768
  const { inChina } = useMapInChina();
8370
8769
  const panToGeoPositionByRecomend = (value) => mapContext.panToGeoPositionByRecomend(value);
8371
- const setCenterPlaceDisplayNameOnce = (value) => mapContext.setCenterPlaceDisplayNameOnce(value);
8372
8770
  const setCenterPlaceByUserSpecified = (value) => mapContext.setCenterPlaceByUserSpecified(value);
8373
8771
  const setCenterPlaceByUserSpecifiedInZone = (value) => mapContext.setCenterPlaceByUserSpecifiedInZone(value);
8374
8772
  const mapContext = {
8773
+ geoPositionRef,
8375
8774
  panToGeoPositionByRecomend: () => {
8376
8775
  throw new Error("MyError: panToGeoPositionByRecomend used before assigned");
8377
8776
  },
8378
- setCenterPlaceDisplayNameOnce: () => {
8379
- throw new Error("MyError: setCenterPlaceDisplayName used before assigned");
8380
- },
8381
8777
  setCenterPlaceByUserSpecified: () => {
8382
8778
  throw new Error("MyError: setCenterPlaceByRecomand used before assigned");
8383
8779
  },
@@ -8395,8 +8791,8 @@ const useBusinessRecomendPlaceMap = () => {
8395
8791
  mapContext,
8396
8792
  centerPlace,
8397
8793
  placeCandidates,
8794
+ geoPosition: Vue.readonly(geoPositionRef),
8398
8795
  panToGeoPositionByRecomend,
8399
- setCenterPlaceDisplayNameOnce,
8400
8796
  setCenterPlaceByUserSpecified,
8401
8797
  setCenterPlaceByUserSpecifiedInZone,
8402
8798
  apiMapDistance,