@heycar/heycars-map 0.9.23-alpha6 → 0.9.23-alpha7

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 CHANGED
@@ -19,7 +19,7 @@ if (typeof GeolocationPositionError === "undefined") {
19
19
  };
20
20
  }
21
21
  const name = "@heycar/heycars-map";
22
- const version = "0.9.23-alpha6";
22
+ const version = "0.9.23-alpha7";
23
23
  const type = "module";
24
24
  const bin = {
25
25
  checkVersion: "./bin/checkVersion.js"
@@ -138,29 +138,11 @@ const logVersion = () => {
138
138
  window.HeycarMapVersion = pkg.version;
139
139
  };
140
140
  Vue.util.warn;
141
- const MAX_ANIMATION_DISTANCE_VW = 300;
142
- const MIN_ANIMATION_DURATION = 300;
143
- const ANIMATION_DURATION_FOR_100VW = 200;
144
- const ANIMATION_DURATION_PER_ZOOM = 400;
145
- const BEIJIN_POINT = [116.2317, 39.5427];
146
- const MAX_DEVIATION_DISTANCE = 30;
147
- const CAR_DISTANCE_MIN = 100;
148
- const ZINDEX_BUBBLE_LAYER = 50;
149
- const ZINDEX_START_END_LOGO_LAYER = 40;
150
- const ZINDEX_PLACE_LAYER = 30;
151
- const ZINDEX_CAR_LAYER = 21;
152
- const ZINDEX_PASSENGER_LAYER = 20;
153
- const ZINDEX_AUXILIARY_GRASP = 14;
154
- const ZINDEX_LINE_LAYER = 12;
155
- const ZINDEX_GREEN_ZONE = 10;
156
- const TRACKS_MATCH_MAX_LENGTH = 3;
157
- const REGEO_TIMEOUT = 5e3;
158
- const GET_RECOMMEND_PLACE_TIMEOUT = 5e3;
159
- const GET_DEFAULT_CENTER_PLACE_TIMEOUT = 5e3;
160
- const AMAP_TO_GCJ02_TIMEOUT = 2e3;
161
- const IS_ENABLE_AUXILIARY_GRASP_ROAD = location.search.includes("enableAuxiliaryGraspRoad");
162
141
  const AMAP_DEFAULT_MARKER_ICON_URL = "https://webapi.amap.com/theme/v1.3/markers/b/mark_bs.png";
163
142
  const ICON_FULL_SCREEN_URL = "https://overseas-oss.heycars.cn/heycar-map/png/fullscreen.png";
143
+ const ICON_START_POINT_EN_URL = "https://overseas-oss.heycars.cn/heycar-map/svg/start-point-en.svg";
144
+ const ICON_END_POINT_EN_URL = "https://overseas-oss.heycars.cn/heycar-map/svg/end-point-en.svg";
145
+ const ICON_END_POINT_ZH_TW_URL = "https://overseas-oss.heycars.cn/heycar-map/svg/end-point-zh-TW.svg";
164
146
  const imgDotLoading$1 = "data:image/gif;base64,R0lGODlhVAASAIABAP///////yH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDA2IDc5LjE2NDc1MywgMjAyMS8wMi8xNS0xMTo1MjoxMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjMgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzAyRUQ3RjJEQUE0MTFFRDhERUI4MUEwRjVENjA1RTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzAyRUQ3RjNEQUE0MTFFRDhERUI4MUEwRjVENjA1RTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NDBDQkFGNURBOUYxMUVEOERFQjgxQTBGNUQ2MDVFNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NDBDQkFGNkRBOUYxMUVEOERFQjgxQTBGNUQ2MDVFNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHA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";
165
147
  const imgAddressLocator = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSItMzkuNzE5JSIgeTE9IjUwJSIgeDI9IjEyNi4wOTMlIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjNzlBRkZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzVDOERGRiIgb2Zmc2V0PSIzMi4zNDIlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzUwN0ZGRiIgb2Zmc2V0PSI3NC44NTMlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ0NzFGRiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTEuNSAyNGgzdjE0LjVhMS41IDEuNSAwIDAxLTMgMFYyNHoiIGZpbGw9IiM0QzgwRkYiLz48Zz48Y2lyY2xlIGZpbGw9InVybCgjcHJlZml4X19hKSIgY3g9IjEzIiBjeT0iMTMiIHI9IjEzIi8+PGNpcmNsZSBmaWxsPSIjRkZGIiBjeD0iMTMiIGN5PSIxMyIgcj0iNCIvPjwvZz48L2c+PC9zdmc+";
166
148
  const imgArrowRight = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMSAxbDQgNC00IDQiIHN0cm9rZT0iI0ZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9Ii44Ii8+PC9zdmc+";
@@ -178,7 +160,7 @@ var hasOwnProperty$4 = objectProto$4.hasOwnProperty;
178
160
  var nativeObjectToString$1 = objectProto$4.toString;
179
161
  var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : void 0;
180
162
  function getRawTag(value) {
181
- var isOwn = hasOwnProperty$4.call(value, symToStringTag$1), tag = value[symToStringTag$1];
163
+ var isOwn = hasOwnProperty$4.call(value, symToStringTag$1), tag2 = value[symToStringTag$1];
182
164
  try {
183
165
  value[symToStringTag$1] = void 0;
184
166
  var unmasked = true;
@@ -187,7 +169,7 @@ function getRawTag(value) {
187
169
  var result = nativeObjectToString$1.call(value);
188
170
  if (unmasked) {
189
171
  if (isOwn) {
190
- value[symToStringTag$1] = tag;
172
+ value[symToStringTag$1] = tag2;
191
173
  } else {
192
174
  delete value[symToStringTag$1];
193
175
  }
@@ -281,8 +263,8 @@ function isFunction(value) {
281
263
  if (!isObject(value)) {
282
264
  return false;
283
265
  }
284
- var tag = baseGetTag(value);
285
- return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
266
+ var tag2 = baseGetTag(value);
267
+ return tag2 == funcTag || tag2 == genTag || tag2 == asyncTag || tag2 == proxyTag;
286
268
  }
287
269
  var coreJsData = root$1["__core-js_shared__"];
288
270
  const coreJsData$1 = coreJsData;
@@ -1406,6 +1388,27 @@ createComparator(function() {
1406
1388
  });
1407
1389
  createComparator(createCircularEqualCreator());
1408
1390
  createComparator(createCircularEqualCreator(sameValueZeroEqual));
1391
+ const MAX_ANIMATION_DISTANCE_VW = 300;
1392
+ const MIN_ANIMATION_DURATION = 300;
1393
+ const ANIMATION_DURATION_FOR_100VW = 200;
1394
+ const ANIMATION_DURATION_PER_ZOOM = 400;
1395
+ const BEIJIN_POINT = [116.2317, 39.5427];
1396
+ const MAX_DEVIATION_DISTANCE = 30;
1397
+ const CAR_DISTANCE_MIN = 100;
1398
+ const ZINDEX_BUBBLE_LAYER = 50;
1399
+ const ZINDEX_START_END_LOGO_LAYER = 40;
1400
+ const ZINDEX_PLACE_LAYER = 30;
1401
+ const ZINDEX_CAR_LAYER = 21;
1402
+ const ZINDEX_PASSENGER_LAYER = 20;
1403
+ const ZINDEX_AUXILIARY_GRASP = 14;
1404
+ const ZINDEX_LINE_LAYER = 12;
1405
+ const ZINDEX_GREEN_ZONE = 10;
1406
+ const TRACKS_MATCH_MAX_LENGTH = 3;
1407
+ const REGEO_TIMEOUT = 5e3;
1408
+ const GET_RECOMMEND_PLACE_TIMEOUT = 5e3;
1409
+ const GET_DEFAULT_CENTER_PLACE_TIMEOUT = 5e3;
1410
+ const AMAP_TO_GCJ02_TIMEOUT = 2e3;
1411
+ const IS_ENABLE_AUXILIARY_GRASP_ROAD = location.search.includes("enableAuxiliaryGraspRoad");
1409
1412
  var BRWOSER_PLATFORM = /* @__PURE__ */ ((BRWOSER_PLATFORM2) => {
1410
1413
  BRWOSER_PLATFORM2["WECHAT"] = "WECHAT";
1411
1414
  BRWOSER_PLATFORM2["WECHAT_MINIPROGRAM"] = "WECHAT_MINIPROGRAM";
@@ -1760,14 +1763,12 @@ const pausableSleep = (milliSeconds) => {
1760
1763
  const pause = () => {
1761
1764
  if (isPaused || sleepDefered.state === "fulfilled")
1762
1765
  return;
1763
- console.log("pause");
1764
1766
  isPaused = true;
1765
1767
  clearTimeout(id);
1766
1768
  };
1767
1769
  const restart = () => {
1768
1770
  if (sleepDefered.state === "fulfilled")
1769
1771
  return;
1770
- console.log("restart");
1771
1772
  isPaused = false;
1772
1773
  clearTimeout(id);
1773
1774
  id = setTimeout(sleepDefered.resolve, milliSeconds);
@@ -1793,6 +1794,13 @@ const pipeTimeout = (fn, defaultValue, timeout) => {
1793
1794
  });
1794
1795
  };
1795
1796
  };
1797
+ const equalAssign = (base, target) => {
1798
+ const keys2 = /* @__PURE__ */ new Set([...Object.keys(base), ...Object.keys(target)]);
1799
+ for (const key of keys2) {
1800
+ base[key] = target[key];
1801
+ }
1802
+ return base;
1803
+ };
1796
1804
  const deepCompareEqualsForMaps = createComparator((deepEqual) => (a2, b) => {
1797
1805
  if (isLatLngLiteral(a2) && isLatLngLiteral(b)) {
1798
1806
  const result = isPlaceEqual(a2, b);
@@ -2016,9 +2024,9 @@ const GmapAdvancedMarkerView = defineSetup(function GmapAdvancedMarkerView2(prop
2016
2024
  watchPostEffectForGMapEvent(markerRef, props, handleClick, ["onClick"]);
2017
2025
  return () => null;
2018
2026
  });
2019
- const createDom = (tag, props, innerHtml) => {
2027
+ const createDom = (tag2, props, innerHtml) => {
2020
2028
  const { class: className, style, ...restProps } = props != null ? props : {};
2021
- const elm = document.createElement(tag);
2029
+ const elm = document.createElement(tag2);
2022
2030
  if (className)
2023
2031
  elm.className = className;
2024
2032
  if (style)
@@ -3800,7 +3808,6 @@ const useAmapAngle = (props) => {
3800
3808
  const { map, path } = props != null ? props : {};
3801
3809
  const [from, to] = path != null ? path : [];
3802
3810
  const value = amapComputeHeading(from, to, map);
3803
- console.log("useAmapAngle p1, p2, angle = ", from, to, value);
3804
3811
  return value;
3805
3812
  });
3806
3813
  return { angleRef, apiMapComputeHeading };
@@ -4170,9 +4177,7 @@ const InterruptableIntervalFitView = defineSetup(function InterruptableIntervalF
4170
4177
  });
4171
4178
  return () => null;
4172
4179
  });
4173
- const imgEndPointEn = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0xMiAzMGMyLjEzNCAwIDMuODYzLS44OTMgMy44NjMtMS45OTUgMC0xLjEtMS43My0xLjk5NC0zLjg2My0xLjk5NC0yLjEzNCAwLTMuODYzLjg5My0zLjg2MyAxLjk5NEM4LjEzNyAyOS4xMDcgOS44NjcgMzAgMTIgMzB6IiBmaWxsLW9wYWNpdHk9Ii41IiBmaWxsPSIjNDM0ODVBIi8+PHBhdGggZD0iTTExIDI3LjAwNmMyLjEyOCAwLS45LTMuNzQzIDUuNjIxLTYuNjQzQzE5Ljg0MiAxOC40NTMgMjIgMTQuOTUzIDIyIDEwLjk1IDIyIDQuOTAyIDE3LjA3NSAwIDExIDBTMCA0LjkwMiAwIDEwLjk1YzAgMy45MTggMi4wNjggNy4zNTYgNS4xNzcgOS4yOUMxMS43NSAyMy4yODQgOS4wNiAyNy4wMDcgMTEgMjcuMDA3di0uMDAxeiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiLz48ZyBmaWxsPSIjRkZGIj48cGF0aCBkPSJNOC44OTMgMTIuNjY2SDYuNjYzdjEuMzY1aDIuNTc0di45NTJoLTMuNjZ2LTUuNDloMy41Nzh2Ljk0Nkg2LjY2M3YxLjI5aDIuMjI5ek0xMi4yNzUgMTEuMDAxYy40MyAwIC43Ny4xNDEgMS4wMi40MjQuMjUuMjgyLjM3NS42OTMuMzc1IDEuMjMzdjIuMzI1aC0xLjA0M3YtMS45ODdjMC0uNzEtLjIzNS0xLjA2NS0uNzA1LTEuMDY1YS43MzIuNzMyIDAgMDAtLjYwMy4yODljLS4xNTMuMTkyLS4yMjkuNDYzLS4yMjkuODEzdjEuOTVoLTEuMDQzdi0zLjg4NWguOTE1Yy4wMjUuMzA1LjA0OC41MTMuMDY4LjYyMy4yNS0uNDguNjY1LS43MiAxLjI0NS0uNzJ6TTE3LjI3NyA5LjI3NmgxLjA0M3Y1LjcwN2gtLjkxNWMtLjAyNS0uMjktLjA0NS0uNDg1LS4wNi0uNTg1YTEuMzE3IDEuMzE3IDAgMDEtLjUyOS41MDcgMS41MiAxLjUyIDAgMDEtLjcwOS4xNjhjLS4zMiAwLS42MTItLjA4LS44NzctLjI0YTEuNzI0IDEuNzI0IDAgMDEtLjYzOC0uN2MtLjE2LS4zMDgtLjI0LS42NzItLjI0LTEuMDkyIDAtLjQyNS4wOC0uNzkxLjI0LTEuMDk5LjE2LS4zMDcuMzczLS41NDEuNjM4LS43MDEuMjY1LS4xNi41NTctLjI0Ljg3Ny0uMjQuMjM1IDAgLjQ1NC4wNDcuNjU3LjE0Mi4yMDIuMDk1LjM3My4yNC41MTMuNDM1VjkuMjc2em0tLjkzIDQuOTA1Yy4yNiAwIC40OC0uMDk1LjY2LS4yODUuMTgtLjE5LjI3LS40NzUuMjctLjg1NSAwLS4zNzUtLjA5LS42NTQtLjI3LS44MzZhLjg5Mi44OTIgMCAwMC0uNjYtLjI3NC44MzIuODMyIDAgMDAtLjY2My4yOTJjLS4xNjguMTk1LS4yNTEuNDY4LS4yNTEuODE4IDAgLjM1LjA4My42MjcuMjUuODMyYS44MTUuODE1IDAgMDAuNjY1LjMwOHoiLz48L2c+PC9nPjwvc3ZnPg==";
4174
4180
  const imgEndPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiAzMC4yMTVjMi4xMzQgMCAzLjg2My0uODkzIDMuODYzLTEuOTk1IDAtMS4xLTEuNzMtMS45OTQtMy44NjMtMS45OTQtMi4xMzQgMC0zLjg2My44OTMtMy44NjMgMS45OTQgMCAxLjEwMiAxLjczIDEuOTk1IDMuODYzIDEuOTk1eiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyNy4wMDZjMi4xMjggMC0uOS0zLjc0MyA1LjYyMS02LjY0M0MxOS44NDIgMTguNDUzIDIyIDE0Ljk1MyAyMiAxMC45NSAyMiA0LjkwMiAxNy4wNzUgMCAxMSAwUzAgNC45MDIgMCAxMC45NWMwIDMuOTE4IDIuMDY4IDcuMzU2IDUuMTc3IDkuMjlDMTEuNzUgMjMuMjg0IDkuMDYgMjcuMDA3IDExIDI3LjAwN3oiIHN0cm9rZT0iI0ZGRiIgZmlsbD0idXJsKCNwcmVmaXhfX2EpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSIvPjx0ZXh0IGZvbnQtZmFtaWx5PSJQaW5nRmFuZ1NDLVNlbWlib2xkLCBQaW5nRmFuZyBTQyIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9IjUwMCIgZmlsbD0iI0ZGRiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxLjIxNSkiPjx0c3BhbiB4PSI1IiB5PSIxNS40NDkiPue7iDwvdHNwYW4+PC90ZXh0PjwvZz48L3N2Zz4=";
4175
- const imgStartPointEn = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMTIgMzBjMS45NSAwIDMuNTMyLS44MTYgMy41MzItMS44MjMgMC0xLjAwNy0xLjU4MS0xLjgyMy0zLjUzMi0xLjgyMy0xLjk1IDAtMy41MzIuODE2LTMuNTMyIDEuODIzQzguNDY4IDI5LjE4NCAxMC4wNDkgMzAgMTIgMzB6IiBmaWxsLW9wYWNpdHk9Ii41IiBmaWxsPSIjNDM0ODVBIi8+PHBhdGggZD0iTTExIDI3YzIuMTI4IDAtLjktMy43NDIgNS42MjEtNi42NDEgMy4yMjEtMS45MSA1LjM3OS01LjQxIDUuMzc5LTkuNDEyQzIyIDQuOTAxIDE3LjA3NSAwIDExIDBTMCA0LjkwMSAwIDEwLjk0N2MwIDMuOTE4IDIuMDY4IDcuMzU1IDUuMTc3IDkuMjlDMTEuNzUgMjMuMjc3IDkuMDYgMjcgMTEgMjd6IiBzdHJva2U9IiNGRkYiIGZpbGw9InVybCgjcHJlZml4X19hKSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIvPjxnIGZpbGw9IiNGRkYiPjxwYXRoIGQ9Ik03LjU1IDEzLjM5M2MwIC4zNzUtLjA5Ni42OS0uMjg5Ljk0MmExLjcgMS43IDAgMDEtLjc1LjU1OGMtLjMwNy4xMi0uNjM2LjE4LS45ODYuMTgtLjUxIDAtLjk3LS4xMTgtMS4zOC0uMzU2YTEuNzI2IDEuNzI2IDAgMDEtLjgxNy0xLjAwOWwuODg1LS41MDJjLjEyLjI4LjI5NS40OTcuNTI1LjY1Mi4yMy4xNTUuNTA1LjIzMy44MjUuMjMzLjI2IDAgLjQ2Ni0uMDUzLjYxOC0uMTU4YS41Mi41MiAwIDAwLjIyOS0uNDU3LjU0Ni41NDYgMCAwMC0uMTU0LS4zOTggMS4wNzcgMS4wNzcgMCAwMC0uMzgyLS4yNDcgOC41MTUgOC41MTUgMCAwMC0uNjI3LS4yMSA2LjgwNyA2LjgwNyAwIDAxLS44Ny0uMzExIDEuNTMyIDEuNTMyIDAgMDEtLjU3Ny0uNDYyYy0uMTYtLjIwNS0uMjQtLjQ3NS0uMjQtLjgxIDAtLjM1NS4wOTQtLjY1Ni4yODEtLjkwMy4xODgtLjI0OC40MzUtLjQzMy43NDMtLjU1NWEyLjY2IDIuNjYgMCAwMS45OTMtLjE4NGMuNDg1IDAgLjkuMTEgMS4yNDUuMzMuMzQ1LjIyLjU2OC41MTcuNjY4Ljg5MmwtLjg4NS41MDNhMS4xOTUgMS4xOTUgMCAwMC0uNDA1LS41NTEgMS4xMDggMS4xMDggMCAwMC0uNjc1LS4xOTljLS4yNDUgMC0uNDQ0LjA1Ni0uNTk2LjE2OWEuNTI4LjUyOCAwIDAwLS4yMjkuNDQ2YzAgLjE0LjA0Ny4yNTYuMTQyLjM0OS4wOTUuMDkyLjIxNy4xNjcuMzY0LjIyNS4xNDguMDU3LjM0Ni4xMjMuNTk2LjE5OC4zNi4xMDUuNjU4LjIxMi44OTMuMzIuMjM1LjEwNy40MzYuMjY3LjYwNC40OC4xNjcuMjEyLjI1MS40OS4yNTEuODM1ek0xMC42OTUgMTQuNzU4Yy0uMjU1LjIxLS42MS4zMTUtMS4wNjUuMzE1LS40MiAwLS43NTktLjExLTEuMDE2LS4zMzMtLjI1OC0uMjIzLS4zODctLjYyMi0uMzg3LTEuMTk3di0xLjU2N2gtLjY5di0uODc4aC42OVY5LjkwNkg5LjI3djEuMTkyaDEuMTd2Ljg3OEg5LjI3djEuMzk1YzAgLjI2LjA0NS40NTcuMTM1LjU5Mi4wOS4xMzUuMjM1LjIwMy40MzUuMjAzLjE3NSAwIC4zNC0uMDUzLjQ5NS0uMTU4bC4zNi43NXpNMTIuNjEgMTEuMDAxYy41MjUgMCAuOTM1LjE0OSAxLjIzLjQ0Ni4yOTUuMjk4LjQ0My43MjEuNDQzIDEuMjcxdjIuMjY1aC0uODc4YTUuMjI5IDUuMjI5IDAgMDEtLjAxOS0uMTk4IDEuOTEzIDEuOTEzIDAgMDAtLjAzMy0uMjQ0Yy0uMTE1LjE4LS4yNjQuMzE0LS40NDcuNDAxYTEuNTI1IDEuNTI1IDAgMDEtLjY2NC4xMzFjLS4yNyAwLS41MTYtLjA0Ny0uNzM4LS4xNDJhMS4yMjEgMS4yMjEgMCAwMS0uNTI5LS40MTYgMS4wODkgMS4wODkgMCAwMS0uMTk1LS42NDljMC0uMjYuMDc0LS40ODYuMjIxLS42NzlhMS40MyAxLjQzIDAgMDEuNTk3LS40NDYgMi4xMSAyLjExIDAgMDEuODI1LS4xNThjLjI3IDAgLjU0Ny4wNDUuODMyLjEzNS0uMDE1LS41NzUtLjI2LS44NjItLjczNS0uODYyLS4zOCAwLS42NTcuMTctLjgzMi41MWwtLjc0My0uNDI4Yy4xNC0uMjkuMzU1LS41MTguNjQ1LS42ODYuMjktLjE2Ny42My0uMjUxIDEuMDItLjI1MXptLjY0NSAyLjQwN2EyLjg1IDIuODUgMCAwMC0uNjUyLS4wOWMtLjI0NSAwLS40MzUuMDQ0LS41Ny4xMzJhLjQxOC40MTggMCAwMC0uMjAzLjM3MWMwIC4xNDUuMDU0LjI1Ny4xNjEuMzM3YS42OC42OCAwIDAwLjQxNy4xMi45Ni45NiAwIDAwLjU5Mi0uMTkuNjI0LjYyNCAwIDAwLjI1NS0uNTN2LS4xNXpNMTcuMDYgMTEuMDAxYy4xNSAwIC4yOS4wMjIuNDIuMDY3LjEzLjA0NS4yMy4xMDMuMy4xNzNsLS40MDUuODAyYS43NTkuNzU5IDAgMDAtLjQ0My0uMTM1Ljc2Mi43NjIgMCAwMC0uNjQ4LjMzOGMtLjE2My4yMjUtLjI0NC41MzUtLjI0NC45M3YxLjgwN2gtMS4wNDN2LTMuODg1aC45MTVjLjAyNS4zLjA0OC41MDUuMDY4LjYxNWExLjI5IDEuMjkgMCAwMS40NS0uNTMyYy4xODUtLjEyLjM5NS0uMTguNjMtLjE4ek0yMC45NDggMTQuNzU4Yy0uMjU2LjIxLS42MS4zMTUtMS4wNjYuMzE1LS40MiAwLS43NTgtLjExLTEuMDE2LS4zMzMtLjI1Ny0uMjIzLS4zODYtLjYyMi0uMzg2LTEuMTk3di0xLjU2N2gtLjY5di0uODc4aC42OVY5LjkwNmgxLjA0MnYxLjE5MmgxLjE3di44NzhoLTEuMTd2MS4zOTVjMCAuMjYuMDQ1LjQ1Ny4xMzUuNTkyLjA5LjEzNS4yMzUuMjAzLjQzNS4yMDMuMTc1IDAgLjM0LS4wNTMuNDk1LS4xNThsLjM2Ljc1eiIvPjwvZz48L2c+PC9zdmc+";
4176
4181
  const imgStartPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTIgMzAuMjE1YzEuOTUgMCAzLjUzMi0uODE2IDMuNTMyLTEuODIzIDAtMS4wMDctMS41ODEtMS44MjMtMy41MzItMS44MjMtMS45NSAwLTMuNTMyLjgxNi0zLjUzMiAxLjgyMyAwIDEuMDA3IDEuNTgxIDEuODIzIDMuNTMyIDEuODIzeiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyN2MyLjEyOCAwLS45LTMuNzQyIDUuNjIxLTYuNjQxIDMuMjIxLTEuOTEgNS4zNzktNS40MSA1LjM3OS05LjQxMkMyMiA0LjkwMSAxNy4wNzUgMCAxMSAwUzAgNC45MDEgMCAxMC45NDdjMCAzLjkxOCAyLjA2OCA3LjM1NSA1LjE3NyA5LjI5QzExLjc1IDIzLjI3NyA5LjA2IDI3IDExIDI3eiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMS4yMTUpIi8+PHRleHQgZm9udC1mYW1pbHk9IlBpbmdGYW5nU0MtU2VtaWJvbGQsIFBpbmdGYW5nIFNDIiBmb250LXNpemU9IjEyIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSIjRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSI+PHRzcGFuIHg9IjUiIHk9IjE1LjYyNCI+6LW3PC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==";
4177
4182
  const StartEndPoint_css_ts_vanilla = "";
4178
4183
  var arrowRight = createRuntimeFn({ defaultClassName: "_4a4ovka", variantClassNames: { withArrow: { true: "_4a4ovkb", false: "_4a4ovkc" } }, defaultVariants: {}, compoundVariants: [] });
@@ -4195,7 +4200,7 @@ const AStartEndPoint = defineSetup(function AStartEndPoint2(props, {
4195
4200
  type: type2,
4196
4201
  language
4197
4202
  } = props;
4198
- const icon = type2 === "start" ? language === "zh" || language === "zh-TW" ? imgStartPoint : imgStartPointEn : language === "zh" || language === "zh-TW" ? imgEndPoint : imgEndPointEn;
4203
+ const icon = type2 === "start" ? language === "zh" || language === "zh-TW" ? imgStartPoint : ICON_START_POINT_EN_URL : language === "zh" ? imgEndPoint : language === "zh-TW" ? ICON_END_POINT_ZH_TW_URL : ICON_END_POINT_EN_URL;
4199
4204
  const descriptionRow = !description ? "" : decodeAsterisk(description).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize$1}">${item.value}</span>`).join("");
4200
4205
  if (!description && !title)
4201
4206
  return `<img class="AStartEndPoint ${pointIcon({
@@ -4263,7 +4268,7 @@ const GStartEndPoint = defineSetup(function GStartEndPoint2(props, {
4263
4268
  type: type2,
4264
4269
  language = "zh"
4265
4270
  } = props;
4266
- const icon = type2 === "start" ? language === "zh" || language === "zh-TW" ? imgStartPoint : imgStartPointEn : language === "zh" || language === "zh-TW" ? imgEndPoint : imgEndPointEn;
4271
+ const icon = type2 === "start" ? language === "zh" || language === "zh-TW" ? imgStartPoint : ICON_START_POINT_EN_URL : language === "zh" || language === "zh-TW" ? imgEndPoint : ICON_END_POINT_EN_URL;
4267
4272
  const descriptionRow = !description ? "" : decodeAsterisk(description).map((item) => item.type === "normal" ? item.value : `<span class="${pointInfoBoxEmphasize$1}">${item.value}</span>`).join("");
4268
4273
  if (!description && !title)
4269
4274
  return createDom("img", {
@@ -6898,27 +6903,16 @@ const useGeoLocation = (props) => {
6898
6903
  speed: 0
6899
6904
  });
6900
6905
  const positionRef = Vue.ref([coordinateRef.value.longitude, coordinateRef.value.latitude]);
6901
- window.triggerGeoError = (code) => {
6902
- onError == null ? void 0 : onError(createCustomGeolocationPositionError(Date.now().toString(), code));
6903
- };
6904
6906
  Vue.watch(
6905
6907
  () => true,
6906
6908
  (_1, _2, onCleanup) => {
6907
6909
  if (disable)
6908
6910
  return;
6909
- const logStartTime = Date.now();
6910
6911
  loading.value = true;
6911
- console.warn(`为了方便测试人员测试v4.3需求,开始请求 GPS 前提示,只会提示第一次`);
6912
- let debugFlat = true;
6913
- const debugNow = Date.now();
6912
+ const logFirstGeoResponse = createLogFirstGeoResponse();
6914
6913
  const watchId = singleGeoWatch.watchPosition(
6915
6914
  async (position) => {
6916
- if (debugFlat) {
6917
- console.warn(`获取 GPS 成功, 用时 ${(Date.now() - debugNow) / 1e3} 秒`);
6918
- debugFlat = false;
6919
- }
6920
- const duration = Date.now() - logStartTime;
6921
- spaceLog("watchPosition", "success duration, position = ", duration, position);
6915
+ logFirstGeoResponse({ success: true });
6922
6916
  const coordinate = position.coords;
6923
6917
  const wgsPoint = [position.coords.longitude, position.coords.latitude];
6924
6918
  const point = await compatibleGeoPositionTransform(wgsPoint, toGcj02);
@@ -6934,11 +6928,7 @@ const useGeoLocation = (props) => {
6934
6928
  onChange == null ? void 0 : onChange({ position: point, coordinate });
6935
6929
  },
6936
6930
  (error) => {
6937
- if (debugFlat) {
6938
- console.warn(`获取 GPS 失败, 用时 ${(Date.now() - debugNow) / 1e3} 秒`);
6939
- debugFlat = false;
6940
- }
6941
- spaceLog("watchPosition", "error.message = ", error.message);
6931
+ logFirstGeoResponse({ success: false });
6942
6932
  loading.value = false;
6943
6933
  errorRef.value = error;
6944
6934
  const position = props == null ? void 0 : props.geoDefaultPosition;
@@ -6961,6 +6951,14 @@ const useGeoLocation = (props) => {
6961
6951
  geoReady: readyRef
6962
6952
  };
6963
6953
  };
6954
+ function createLogFirstGeoResponse() {
6955
+ console.warn("开始请求 GPS 前提示");
6956
+ const startTime = Date.now();
6957
+ return createRunOnce(({ success }) => {
6958
+ const message = success ? "成功" : "失败";
6959
+ console.warn(`获取 GPS ${message}, 用时 ${(Date.now() - startTime) / 1e3} 秒`);
6960
+ });
6961
+ }
6964
6962
  const useHeycarAmap = () => {
6965
6963
  const amapRef = Vue.shallowRef();
6966
6964
  const amapElementRef = Vue.shallowRef();
@@ -7221,7 +7219,7 @@ const useAmapPlace = (props) => {
7221
7219
  async () => {
7222
7220
  await readyPromise;
7223
7221
  const resultPlace = await getPlaceByRegeo(pointRef.value);
7224
- Object.assign(place, resultPlace);
7222
+ equalAssign(place, resultPlace);
7225
7223
  onChange == null ? void 0 : onChange(resultPlace);
7226
7224
  }
7227
7225
  );
@@ -7268,7 +7266,7 @@ const useGmapPlace = (props) => {
7268
7266
  async () => {
7269
7267
  await readyPromise;
7270
7268
  const resultPlace = await getPlaceByRegeo(pointRef.value);
7271
- Object.assign(place, resultPlace);
7269
+ equalAssign(place, resultPlace);
7272
7270
  onChange == null ? void 0 : onChange(resultPlace);
7273
7271
  }
7274
7272
  );
@@ -7282,7 +7280,7 @@ function mergeGetRecommendPlaceAndGetAvailable(getRecomendPlace, getAvailable, t
7282
7280
  return function mergedGetRecommendPlace(place, context2) {
7283
7281
  const available = true;
7284
7282
  return new Promise((resolve) => {
7285
- getAvailable(place).then((value) => {
7283
+ getAvailable == null ? void 0 : getAvailable(place).then((value) => {
7286
7284
  if (!value)
7287
7285
  resolve({ available: false });
7288
7286
  });
@@ -7403,15 +7401,14 @@ const useMapRecomendPlace = (props) => {
7403
7401
  lng,
7404
7402
  lat,
7405
7403
  name: queryingPlaceName,
7406
- displayName: queryingPlaceName,
7407
- photo: void 0
7404
+ displayName: queryingPlaceName
7408
7405
  };
7409
7406
  isQueryingRef.value = true;
7410
7407
  availableRef.value = true;
7411
7408
  if (zone)
7412
7409
  zoneRef.value = void 0;
7413
7410
  placeCandidatesRef.value = [];
7414
- Object.assign(recomendPlace, { ...intermediateQueryingPlace });
7411
+ equalAssign(recomendPlace, { ...intermediateQueryingPlace });
7415
7412
  onQueryingPlace == null ? void 0 : onQueryingPlace({ ...intermediateQueryingPlace });
7416
7413
  };
7417
7414
  const updatePlace = async (point) => {
@@ -7435,7 +7432,7 @@ const useMapRecomendPlace = (props) => {
7435
7432
  forceRef.value = force;
7436
7433
  zoneRef.value = zone;
7437
7434
  placeCandidatesRef.value = candidates;
7438
- Object.assign(recomendPlace, { ...resultPlace });
7435
+ equalAssign(recomendPlace, { ...resultPlace });
7439
7436
  onChangePlace == null ? void 0 : onChangePlace({ ...resultPlace });
7440
7437
  const inputPlace = { name: "", displayName: "", lng: point[0], lat: point[1] };
7441
7438
  onChange == null ? void 0 : onChange({ place: { ...resultPlace }, inputPlace, isInZone: !!zone, isSameZone });
@@ -7477,7 +7474,7 @@ const useMapRecomendPlace = (props) => {
7477
7474
  forceRef.value = force;
7478
7475
  zoneRef.value = zone;
7479
7476
  placeCandidatesRef.value = candidates;
7480
- Object.assign(recomendPlace, { ...resultPlace });
7477
+ equalAssign(recomendPlace, { ...resultPlace });
7481
7478
  onChangePlace == null ? void 0 : onChangePlace({ ...resultPlace });
7482
7479
  onChange == null ? void 0 : onChange({
7483
7480
  place: { ...resultPlace },
@@ -7502,7 +7499,7 @@ const useMapRecomendPlace = (props) => {
7502
7499
  forceRef.value = force;
7503
7500
  zoneRef.value = zone;
7504
7501
  placeCandidatesRef.value = candidates;
7505
- Object.assign(recomendPlace, { ...resultPlace });
7502
+ equalAssign(recomendPlace, { ...resultPlace });
7506
7503
  onChangePlace == null ? void 0 : onChangePlace({ ...resultPlace });
7507
7504
  onChange == null ? void 0 : onChange({
7508
7505
  place: { ...resultPlace },
@@ -8247,15 +8244,20 @@ var labelLayout = "fhyw8b";
8247
8244
  var labelStroke = "fhyw8d fhyw8c";
8248
8245
  var placeCircleLayout = createRuntimeFn({ defaultClassName: "fhyw80", variantClassNames: { textAlign: { left: "fhyw81", right: "fhyw82" } }, defaultVariants: {}, compoundVariants: [] });
8249
8246
  var placeIcon = createRuntimeFn({ defaultClassName: "fhyw88", variantClassNames: { hideIcon: { true: "fhyw89", false: "fhyw8a" } }, defaultVariants: {}, compoundVariants: [] });
8247
+ var tag = createRuntimeFn({ defaultClassName: "fhyw8e", variantClassNames: { textAlign: { left: "fhyw8f", right: "fhyw8g" } }, defaultVariants: {}, compoundVariants: [] });
8250
8248
  const DEFAULT_TEXT_ALIGN = "right";
8251
8249
  const APlaceCircle = defineSetup(function APlaceCircle2(props, {
8252
8250
  emit
8253
8251
  }) {
8254
8252
  const contentRef = Vue.computed(() => {
8255
8253
  const {
8254
+ tag: tag$1,
8256
8255
  hideIcon = false,
8257
8256
  textAlign = DEFAULT_TEXT_ALIGN
8258
8257
  } = props;
8258
+ const tagArea = tag$1 ? `<div class="${tag({
8259
+ textAlign
8260
+ })}">${tag$1}</div>` : "";
8259
8261
  return `
8260
8262
  <div class="APlaceCircle ${placeCircleLayout({
8261
8263
  textAlign
@@ -8268,6 +8270,7 @@ const APlaceCircle = defineSetup(function APlaceCircle2(props, {
8268
8270
  <div class="${labelLayout}">
8269
8271
  <div class="${labelStroke}">${props.label}</div>
8270
8272
  <div class="${label}">${props.label}</div>
8273
+ ${tagArea}
8271
8274
  </div>
8272
8275
  </div>
8273
8276
  `;
@@ -8308,9 +8311,13 @@ const GPlaceCircle = defineSetup(function GPlaceCircle2(props, {
8308
8311
  }) {
8309
8312
  const contentRef = Vue.computed(() => {
8310
8313
  const {
8314
+ tag: tag$1,
8311
8315
  hideIcon = false,
8312
8316
  textAlign = DEFAULT_TEXT_ALIGN
8313
8317
  } = props;
8318
+ const tagArea = tag$1 ? `<div class="${tag({
8319
+ textAlign
8320
+ })}">${tag$1}</div>` : "";
8314
8321
  return createDom("div", {
8315
8322
  class: `GPlaceCircle ${placeCircleLayout({
8316
8323
  textAlign
@@ -8324,6 +8331,7 @@ const GPlaceCircle = defineSetup(function GPlaceCircle2(props, {
8324
8331
  <div class="${labelLayout}">
8325
8332
  <div class="${labelStroke}">${props.label}</div>
8326
8333
  <div class="${label}">${props.label}</div>
8334
+ ${tagArea}
8327
8335
  </div>
8328
8336
  `);
8329
8337
  });
@@ -8392,15 +8400,18 @@ const PickupPoints = defineSetup(function PickupPoints2(props, {
8392
8400
  const {
8393
8401
  basePlace,
8394
8402
  zoomIconMin,
8395
- zoomTextMin
8403
+ zoomTextMin,
8404
+ renderPlaceTag
8396
8405
  } = props;
8397
8406
  return Vue.h("div", [zoomRef.value >= zoomIconMin && labeledPlacesRef.value.map((place, idx) => {
8398
8407
  const label2 = zoomRef.value < zoomTextMin ? void 0 : place.displayName;
8408
+ const tag2 = zoomRef.value < zoomTextMin ? void 0 : renderPlaceTag == null ? void 0 : renderPlaceTag(place);
8399
8409
  const direction = label2 ? directionsRef.value[idx] : "right";
8400
8410
  return Vue.h(PlaceCircle, {
8401
8411
  "attrs": {
8402
8412
  "position": place2point(place),
8403
8413
  "label": label2,
8414
+ "tag": tag2,
8404
8415
  "textAlign": direction
8405
8416
  },
8406
8417
  "on": {
@@ -8439,7 +8450,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8439
8450
  getDefaultCenterPlace,
8440
8451
  mapContext
8441
8452
  } = props;
8442
- const pipedGetAvailable = pipeOnlyLastEffect(getAvailable);
8453
+ const pipedGetAvailable = getAvailable ? pipeOnlyLastEffect(getAvailable) : void 0;
8443
8454
  const pipedGetRecomendPlace = pipeOnlyLastEffect(getRecomendPlace);
8444
8455
  const {
8445
8456
  mapRef,
@@ -8474,7 +8485,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8474
8485
  var _a2;
8475
8486
  centerSource.source = (_a2 = context2 == null ? void 0 : context2.source) != null ? _a2 : "api";
8476
8487
  const place = toPlaceType(input);
8477
- Object.assign(centerPlace, place);
8488
+ equalAssign(centerPlace, place);
8478
8489
  updateRecommendPlaceOnlyInZone(place);
8479
8490
  };
8480
8491
  const setCenterPlaceByUserSpecifiedInZone = async ({
@@ -8483,11 +8494,10 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8483
8494
  }) => {
8484
8495
  const place = toPlaceType(inputPlace);
8485
8496
  const recommends = toRecommendZonePlacesType(inputRecommends);
8486
- spaceLog("setCenterPlaceByUserSpecifiedInZone", "place, recommends.places = ", JSON.stringify(place), JSON.stringify(recommends.places));
8487
8497
  const isSameZone = recommends.zone && isZoneEqual(recommends.zone, zoneRef.value);
8488
8498
  if (!isSameZone)
8489
8499
  setZoom(ZONE_ZOOM);
8490
- Object.assign(centerPlace, place);
8500
+ equalAssign(centerPlace, place);
8491
8501
  setPlaceCandidatesAndZone(recommends);
8492
8502
  emit("changePlace", {
8493
8503
  ...place
@@ -8496,11 +8506,10 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8496
8506
  const panToCenterByPlace = async (place) => {
8497
8507
  centerSource.source = "api";
8498
8508
  await panTo(place2point(place));
8499
- Object.assign(centerPlace, place);
8509
+ equalAssign(centerPlace, place);
8500
8510
  emit("changePlace", {
8501
8511
  ...place
8502
8512
  });
8503
- console.log("changeRecomandPlace inputPlace, place = ", JSON.stringify(place));
8504
8513
  emit("changeRecomandPlace", {
8505
8514
  place: {
8506
8515
  ...place
@@ -8603,7 +8612,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8603
8612
  throw new Error(`MyError: should not call getLimit on source: ${source}`);
8604
8613
  }
8605
8614
  },
8606
- onQueryingPlace: (place) => Object.assign(centerPlace, {
8615
+ onQueryingPlace: (place) => equalAssign(centerPlace, {
8607
8616
  ...place
8608
8617
  }),
8609
8618
  onChangePlace: (place) => emit("changePlace", place),
@@ -8616,7 +8625,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8616
8625
  centerSource.source = "recomend";
8617
8626
  if (isPlaceEqual(place, centerPlace))
8618
8627
  panTo(place2point(place));
8619
- Object.assign(centerPlace, {
8628
+ equalAssign(centerPlace, {
8620
8629
  ...place
8621
8630
  });
8622
8631
  if (isInZone && !isSameZone)
@@ -8640,20 +8649,20 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8640
8649
  Vue.watchEffect(() => {
8641
8650
  const centerPlaceStatus = geoLoading.value ? CenterPlaceStatus.GEO_LOADING : isQueryingRef.value ? CenterPlaceStatus.QUERYING_INFO : !availableRef.value ? CenterPlaceStatus.SERVICE_UNAVAILABLE : CenterPlaceStatus.OK;
8642
8651
  mapContext.centerPlaceStatusRef.value = centerPlaceStatus;
8643
- console.log("centerPlaceStatus = ", centerPlaceStatus);
8644
8652
  });
8645
8653
  return () => {
8646
- var _a2, _b2;
8654
+ var _a2, _b2, _c;
8647
8655
  const {
8648
8656
  geoLoadingTitle: geoLoadingTitle2,
8649
8657
  recomendDescription,
8650
8658
  unavailableTitle,
8651
8659
  disableLocator,
8652
- disableLocatorPhoto
8660
+ renderPlacePhoto,
8661
+ renderPlaceTag
8653
8662
  } = props;
8654
8663
  const isElected = isPlacesInclude(placeCandidates.value, centerPlace);
8655
8664
  const title = geoLoading.value ? geoLoadingTitle2 : !availableRef.value ? unavailableTitle : centerPlace.displayName;
8656
- const description = !availableRef.value ? void 0 : isElected ? recomendDescription : void 0;
8665
+ const description = !availableRef.value ? void 0 : isElected ? (_a2 = renderPlaceTag == null ? void 0 : renderPlaceTag(centerPlace)) != null ? _a2 : recomendDescription : void 0;
8657
8666
  return Vue.h(HeycarMap, {
8658
8667
  "attrs": {
8659
8668
  "center": place2point(centerPlace),
@@ -8666,7 +8675,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8666
8675
  "attrs": {
8667
8676
  "title": title,
8668
8677
  "description": description,
8669
- "photo": disableLocatorPhoto ? void 0 : centerPlace.photo,
8678
+ "photo": renderPlacePhoto == null ? void 0 : renderPlacePhoto(centerPlace),
8670
8679
  "type": isDragging.value ? "locator" : "box",
8671
8680
  "withArrow": !disableLocator
8672
8681
  },
@@ -8676,9 +8685,9 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8676
8685
  }
8677
8686
  })
8678
8687
  }
8679
- }, [((_a2 = zoneRef.value) == null ? void 0 : _a2.path.length) && Vue.h(GreenZone, {
8688
+ }, [((_b2 = zoneRef.value) == null ? void 0 : _b2.path.length) && Vue.h(GreenZone, {
8680
8689
  "attrs": {
8681
- "path": (_b2 = zoneRef.value) == null ? void 0 : _b2.path
8690
+ "path": (_c = zoneRef.value) == null ? void 0 : _c.path
8682
8691
  }
8683
8692
  }), !geoLoading.value && !geoError.value && Vue.h(DeviceOrientation, {
8684
8693
  "attrs": {
@@ -8695,6 +8704,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8695
8704
  "basePlace": centerPlace,
8696
8705
  "places": placeCandidates.value,
8697
8706
  "noLabel": !!zoneRef.value,
8707
+ "renderPlaceTag": renderPlaceTag,
8698
8708
  "zoomIconMin": zoneRef.value ? RECOMMEND_PLACE_ZONE_ICON_MIN : RECOMMEND_PLACE_ICON_ZOOM_MIN,
8699
8709
  "zoomTextMin": zoneRef.value ? RECOMMEND_PLACE_ZONE_TEXT_MIN : RECOMMEND_PLACE_TEXT_ZOOM_MIN
8700
8710
  },
@@ -8703,7 +8713,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
8703
8713
  }
8704
8714
  })]);
8705
8715
  };
8706
- }).props(["log", "geoLoadingTitle", "emptyTitle", "queryingTitle", "geoErrorOnceNotificationKey", "geoErrorOnceNotificationInterval", "unavailableTitle", "recomendDescription", "disableLocator", "fallback", "geoDefaultPosition", "getRecomendPlace", "getAvailable", "getDefaultCenterPlace", "loading", "mapContext"]);
8716
+ }).props(["log", "geoLoadingTitle", "emptyTitle", "queryingTitle", "geoErrorOnceNotificationKey", "geoErrorOnceNotificationInterval", "unavailableTitle", "recomendDescription", "disableLocator", "fallback", "geoDefaultPosition", "getRecomendPlace", "getAvailable", "getDefaultCenterPlace", "renderPlacePhoto", "renderPlaceTag", "loading", "mapContext"]);
8707
8717
  const emptyPlace = {
8708
8718
  lng: 0,
8709
8719
  lat: 0,
@@ -8727,7 +8737,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8727
8737
  ...emptyPlace
8728
8738
  }
8729
8739
  } = props;
8730
- const pipedGetAvailable = pipeOnlyLastEffect(getAvailable);
8740
+ const pipedGetAvailable = getAvailable ? pipeOnlyLastEffect(getAvailable) : void 0;
8731
8741
  const pipedGetRecomendPlace = pipeOnlyLastEffect(getRecomendPlace);
8732
8742
  const {
8733
8743
  mapRef,
@@ -8762,7 +8772,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8762
8772
  const setCenterPlaceByUserSpecified = async (input) => {
8763
8773
  centerSource.source = "api";
8764
8774
  const place = toPlaceType(input);
8765
- Object.assign(centerPlace, place);
8775
+ equalAssign(centerPlace, place);
8766
8776
  updateRecommendPlaceOnlyInZone(place);
8767
8777
  };
8768
8778
  const setCenterPlaceByUserSpecifiedInZone = async ({
@@ -8771,11 +8781,10 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8771
8781
  }) => {
8772
8782
  const place = toPlaceType(inputPlace);
8773
8783
  const recommends = toRecommendZonePlacesType(inputRecommends);
8774
- spaceLog("setCenterPlaceByUserSpecifiedInZone", "place, recommends.places = ", JSON.stringify(place), JSON.stringify(recommends.places));
8775
8784
  const isSameZone = recommends.zone && isZoneEqual(recommends.zone, zoneRef.value);
8776
8785
  if (!isSameZone)
8777
8786
  setZoom(ZONE_ZOOM);
8778
- Object.assign(centerPlace, place);
8787
+ equalAssign(centerPlace, place);
8779
8788
  setPlaceCandidatesAndZone(recommends);
8780
8789
  emit("changePlace", {
8781
8790
  ...place
@@ -8784,7 +8793,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8784
8793
  const panToCenterByPlace = async (place) => {
8785
8794
  centerSource.source = "api";
8786
8795
  await panTo(place2point(place));
8787
- Object.assign(centerPlace, place);
8796
+ equalAssign(centerPlace, place);
8788
8797
  emit("changePlace", {
8789
8798
  ...place
8790
8799
  });
@@ -8865,7 +8874,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8865
8874
  throw new Error(`MyError: should not call getLimit on source: ${source}`);
8866
8875
  }
8867
8876
  },
8868
- onQueryingPlace: (place) => Object.assign(centerPlace, {
8877
+ onQueryingPlace: (place) => equalAssign(centerPlace, {
8869
8878
  ...place
8870
8879
  }),
8871
8880
  onChangePlace: (place) => emit("changePlace", place),
@@ -8878,7 +8887,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8878
8887
  centerSource.source = "recomend";
8879
8888
  if (isPlaceEqual(place, centerPlace))
8880
8889
  panTo(place2point(place));
8881
- Object.assign(centerPlace, {
8890
+ equalAssign(centerPlace, {
8882
8891
  ...place
8883
8892
  });
8884
8893
  if (isInZone && !isSameZone)
@@ -8904,15 +8913,16 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8904
8913
  mapContext.centerPlaceStatusRef.value = isQueryingRef.value ? CenterPlaceStatus.QUERYING_INFO : !availableRef.value ? CenterPlaceStatus.SERVICE_UNAVAILABLE : CenterPlaceStatus.OK;
8905
8914
  });
8906
8915
  return () => {
8907
- var _a, _b;
8916
+ var _a, _b, _c;
8908
8917
  const {
8909
8918
  recomendDescription,
8910
8919
  unavailableTitle,
8911
- disableLocatorPhoto
8920
+ renderPlacePhoto,
8921
+ renderPlaceTag
8912
8922
  } = props;
8913
8923
  const isElected = isPlacesInclude(placeCandidates.value, centerPlace);
8914
8924
  const title = !availableRef.value ? unavailableTitle : centerPlace.displayName;
8915
- const description = !availableRef.value ? void 0 : isElected ? recomendDescription : void 0;
8925
+ const description = !availableRef.value ? void 0 : isElected ? (_a = renderPlaceTag == null ? void 0 : renderPlaceTag(centerPlace)) != null ? _a : recomendDescription : void 0;
8916
8926
  return Vue.h(HeycarMap, {
8917
8927
  "attrs": {
8918
8928
  "center": place2point(centerPlace),
@@ -8925,7 +8935,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8925
8935
  "attrs": {
8926
8936
  "title": title,
8927
8937
  "description": description,
8928
- "photo": disableLocatorPhoto ? void 0 : centerPlace.photo,
8938
+ "photo": renderPlacePhoto == null ? void 0 : renderPlacePhoto(centerPlace),
8929
8939
  "type": isDragging.value ? "locator" : "box",
8930
8940
  "withArrow": !disableLocator
8931
8941
  },
@@ -8935,9 +8945,9 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8935
8945
  }
8936
8946
  })
8937
8947
  }
8938
- }, [((_a = zoneRef.value) == null ? void 0 : _a.path.length) && Vue.h(GreenZone, {
8948
+ }, [((_b = zoneRef.value) == null ? void 0 : _b.path.length) && Vue.h(GreenZone, {
8939
8949
  "attrs": {
8940
- "path": (_b = zoneRef.value) == null ? void 0 : _b.path
8950
+ "path": (_c = zoneRef.value) == null ? void 0 : _c.path
8941
8951
  }
8942
8952
  }), !geoLoading.value && !geoError.value && Vue.h(DeviceOrientation, {
8943
8953
  "attrs": {
@@ -8962,7 +8972,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
8962
8972
  }
8963
8973
  })]);
8964
8974
  };
8965
- }).props(["loading", "fallback", "log", "defaultPlace", "unavailableTitle", "emptyTitle", "queryingTitle", "recomendDescription", "geoErrorOnceNotificationKey", "geoErrorOnceNotificationInterval", "disableLocator", "disableLocatorPhoto", "getAvailable", "getRecomendPlace", "mapContext"]);
8975
+ }).props(["loading", "fallback", "log", "defaultPlace", "unavailableTitle", "emptyTitle", "queryingTitle", "recomendDescription", "geoErrorOnceNotificationKey", "geoErrorOnceNotificationInterval", "disableLocator", "getAvailable", "getRecomendPlace", "renderPlacePhoto", "renderPlaceTag", "mapContext"]);
8966
8976
  const assertPropNoEmptyArray = (list, funcName, propName) => {
8967
8977
  if (list.length > 0)
8968
8978
  return;
@@ -9114,12 +9124,6 @@ const findClosestSublineInLineWithPartialIntersection = (targetLine, line, inclu
9114
9124
  includeIndex,
9115
9125
  distanceFn
9116
9126
  );
9117
- console.log(
9118
- "findClosestSublineInLineWithPartialIntersection from, includeIndex, to = ",
9119
- from,
9120
- includeIndex,
9121
- to
9122
- );
9123
9127
  const extendedIntersectionPoint = line[to + 1];
9124
9128
  const intersectionFromIncludePoint = findRouteIntersectionByFractionalSubRoute({
9125
9129
  from,
@@ -9258,7 +9262,6 @@ const useDeviationCorrectionDrivingRoute = (props) => {
9258
9262
  apiMapDistance,
9259
9263
  TRACKS_MATCH_MAX_LENGTH
9260
9264
  );
9261
- console.log("intersectionUniDistance = ", intersectionUniDistance);
9262
9265
  if (intersectionUniDistance >= DEVIATION_RATIO * deviation) {
9263
9266
  console.warn(
9264
9267
  `警告:纠偏距离 ${intersectionUniDistance.toFixed(2)}米 超过阈值 ${DEVIATION_RATIO * deviation}米, 重新规划路线`
@@ -9280,7 +9283,6 @@ const useDeviationCorrectionDrivingRoute = (props) => {
9280
9283
  const from = graspRoadPath[graspRoadPath.length - 1];
9281
9284
  const route = await apiMapDrivingRoute(from, to);
9282
9285
  const angle = (_b = apiMapComputeHeading(route.path[0], route.path[1])) != null ? _b : 0;
9283
- console.log("apiMapComputeHeading p1, p2 = ", route.path[0], route.path[1], angle);
9284
9286
  return { ...route, angle, graspRoadPath, baseRoute: route, index: 0 };
9285
9287
  };
9286
9288
  watchEffectForDeepOption(
@@ -11055,7 +11057,7 @@ const useBusinessRecomendPlaceMap = () => {
11055
11057
  throw new Error("MyError: setCenterPlaceByUserSpecifiedInZone used before assigned");
11056
11058
  },
11057
11059
  onChangeCenterPlace: (place) => {
11058
- Object.assign(centerPlace, { ...place });
11060
+ equalAssign(centerPlace, { ...place });
11059
11061
  },
11060
11062
  onChangeRecomendPlaces: (places) => {
11061
11063
  placeCandidates.value = [...places];