@heycar/heycars-map 0.6.11 → 0.7.1

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
@@ -388,12 +388,12 @@ var now = function() {
388
388
  return root$1.Date.now();
389
389
  };
390
390
  const now$1 = now;
391
- var FUNC_ERROR_TEXT = "Expected a function";
391
+ var FUNC_ERROR_TEXT$1 = "Expected a function";
392
392
  var nativeMax = Math.max, nativeMin = Math.min;
393
393
  function debounce(func, wait, options) {
394
394
  var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
395
395
  if (typeof func != "function") {
396
- throw new TypeError(FUNC_ERROR_TEXT);
396
+ throw new TypeError(FUNC_ERROR_TEXT$1);
397
397
  }
398
398
  wait = toNumber(wait) || 0;
399
399
  if (isObject(options)) {
@@ -475,6 +475,22 @@ var kebabCase = createCompounder(function(result, word, index) {
475
475
  return result + (index ? "-" : "") + word.toLowerCase();
476
476
  });
477
477
  const kebabCase$1 = kebabCase;
478
+ var FUNC_ERROR_TEXT = "Expected a function";
479
+ function throttle(func, wait, options) {
480
+ var leading = true, trailing = true;
481
+ if (typeof func != "function") {
482
+ throw new TypeError(FUNC_ERROR_TEXT);
483
+ }
484
+ if (isObject(options)) {
485
+ leading = "leading" in options ? !!options.leading : leading;
486
+ trailing = "trailing" in options ? !!options.trailing : trailing;
487
+ }
488
+ return debounce(func, wait, {
489
+ "leading": leading,
490
+ "maxWait": wait,
491
+ "trailing": trailing
492
+ });
493
+ }
478
494
  function defineSetup(setup) {
479
495
  return Vue.defineComponent({
480
496
  name: setup.name,
@@ -931,6 +947,12 @@ const language2vectorMapForeign = (lang) => {
931
947
  }
932
948
  };
933
949
  const place2point = (place) => [Number(place.lng), Number(place.lat)];
950
+ const combineHandler = (fn1, fn2) => {
951
+ return (...args) => {
952
+ fn1 == null ? void 0 : fn1(...args);
953
+ return fn2(...args);
954
+ };
955
+ };
934
956
  const pipeAsync = (fn) => (...args) => {
935
957
  Promise.resolve().then(() => fn == null ? void 0 : fn(...args));
936
958
  };
@@ -966,14 +988,34 @@ const isGeoPositionEqual = (p1, p2) => {
966
988
  return false;
967
989
  return p1.coords.longitude === p2.coords.longitude && p1.coords.latitude === p2.coords.latitude;
968
990
  };
991
+ const amapPlaceName2DisplayName = (name, options) => {
992
+ const { isChina, province, city, district, township } = options;
993
+ if (!name)
994
+ return name;
995
+ if (!isChina)
996
+ return name.split(",")[0];
997
+ let result = name;
998
+ for (const item of [province, city, district, township]) {
999
+ if (result.trim() === item)
1000
+ return item;
1001
+ result = result.replace(item, "");
1002
+ }
1003
+ return result;
1004
+ };
969
1005
  const toPlaceType = (maybePlace) => {
1006
+ var _a;
970
1007
  const lng = Number(maybePlace.lng);
971
1008
  if (isNaN(lng))
972
1009
  throw new Error("MyError: expect lng to be number");
973
1010
  const lat = Number(maybePlace.lat);
974
1011
  if (isNaN(lat))
975
1012
  throw new Error("MyError: expect lat to be number");
976
- return { lng, lat, name: maybePlace.name };
1013
+ return {
1014
+ lng,
1015
+ lat,
1016
+ name: maybePlace.name,
1017
+ displayName: (_a = maybePlace.displayName) != null ? _a : maybePlace.name
1018
+ };
977
1019
  };
978
1020
  const wxGetLocationSuccessResponse2GeolocationPosition = (res) => {
979
1021
  const { longitude, latitude, accuracy } = res;
@@ -1184,10 +1226,12 @@ const GmapAdvancedMarkerView = defineSetup(function GmapAdvancedMarkerView2(prop
1184
1226
  return () => null;
1185
1227
  });
1186
1228
  const createDom = (tag, props, innerHtml) => {
1187
- const { class: className, ...restProps } = props != null ? props : {};
1229
+ const { class: className, style: style2, ...restProps } = props != null ? props : {};
1188
1230
  const elm = document.createElement(tag);
1189
1231
  if (className)
1190
1232
  elm.className = className;
1233
+ if (style2)
1234
+ elm.style.cssText = style2;
1191
1235
  Object.assign(elm, restProps);
1192
1236
  if (innerHtml)
1193
1237
  elm.innerHTML = innerHtml;
@@ -1893,12 +1937,30 @@ const useMapLoader = (props) => {
1893
1937
  onChange
1894
1938
  });
1895
1939
  };
1940
+ var OS_PLATFORM = /* @__PURE__ */ ((OS_PLATFORM2) => {
1941
+ OS_PLATFORM2["IOS"] = "IOS";
1942
+ OS_PLATFORM2["ANDROID"] = "ANDROID";
1943
+ OS_PLATFORM2["OTHER"] = "OTHER";
1944
+ return OS_PLATFORM2;
1945
+ })(OS_PLATFORM || {});
1896
1946
  var WEBGL_STATUS = /* @__PURE__ */ ((WEBGL_STATUS2) => {
1897
1947
  WEBGL_STATUS2["NOT_SUPPORTED"] = "NOT_SUPPORTED";
1898
1948
  WEBGL_STATUS2["DISABLED"] = "DISABLED";
1899
1949
  WEBGL_STATUS2["ENABLED"] = "ENABLED";
1900
1950
  return WEBGL_STATUS2;
1901
1951
  })(WEBGL_STATUS || {});
1952
+ const detectOSPlatform = () => {
1953
+ if (typeof navigator === "undefined")
1954
+ return "OTHER";
1955
+ const userAgent = navigator.userAgent || navigator.vendor;
1956
+ if (/android/i.test(userAgent)) {
1957
+ return "ANDROID";
1958
+ }
1959
+ if (/iPad|iPhone|iPod/.test(userAgent) && !globalThis.MSStream) {
1960
+ return "IOS";
1961
+ }
1962
+ return "OTHER";
1963
+ };
1902
1964
  function detectWebGL() {
1903
1965
  if (typeof window === "undefined")
1904
1966
  return "NOT_SUPPORTED";
@@ -3068,10 +3130,12 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props)
3068
3130
  const deferedSetFitView = pipeDefer(registerOverlay.setFitView);
3069
3131
  return () => {
3070
3132
  const {
3071
- from: fromPlace,
3072
- to: toPlace,
3133
+ from: inputFromPlace,
3134
+ to: inputToPlace,
3073
3135
  fromDescription
3074
3136
  } = props;
3137
+ const fromPlace = toPlaceType(inputFromPlace);
3138
+ const toPlace = toPlaceType(inputToPlace);
3075
3139
  const from = place2point(fromPlace);
3076
3140
  const to = place2point(toPlace);
3077
3141
  return Vue.h(HeycarMap, {
@@ -3088,7 +3152,7 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props)
3088
3152
  "type": "start",
3089
3153
  "registerOverlay": registerOverlay,
3090
3154
  "position": from,
3091
- "title": fromPlace.name,
3155
+ "title": fromPlace.displayName,
3092
3156
  "description": fromDescription
3093
3157
  }
3094
3158
  }), Vue.h(DrivingRoute, {
@@ -3108,7 +3172,7 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props)
3108
3172
  "type": "end",
3109
3173
  "registerOverlay": fittableRegistryOverlay,
3110
3174
  "position": to,
3111
- "title": toPlace.name,
3175
+ "title": toPlace.displayName,
3112
3176
  "description": renderDescription({
3113
3177
  distance,
3114
3178
  duration
@@ -3123,6 +3187,65 @@ const BusinessQuotingMap = defineLagecySetup(function BusinessQuotingMap2(props)
3123
3187
  })]);
3124
3188
  };
3125
3189
  }).props(["fallback", "from", "loading", "mapRef", "registerOverlay", "renderDescription", "to", "fromDescription", "log"]);
3190
+ const DEVICE_ORIENTATION_INTERVAL = 1e3;
3191
+ const CSS_DEVICE_ORIENTATION_VAR_PREFIX = "--CSS_DEVICE_ORIENTATION_VAR_ROTATION_DEGREE_";
3192
+ const useDeviceOrientation = (props) => {
3193
+ const { onChange, elementRef } = props;
3194
+ const orientation = Vue.reactive({ cssRotationVariableName: void 0 });
3195
+ const cssVarName = `${CSS_DEVICE_ORIENTATION_VAR_PREFIX}${Date.now()}`;
3196
+ Vue.watch(
3197
+ () => elementRef.value,
3198
+ (element, _, onCleanup) => {
3199
+ const handleDeviceOrientation = throttle((event) => {
3200
+ var _a, _b, _c;
3201
+ const alpha = (_a = event.alpha) != null ? _a : void 0;
3202
+ const beta = (_b = event.beta) != null ? _b : void 0;
3203
+ const gamma = (_c = event.gamma) != null ? _c : void 0;
3204
+ const cssRotationVariableValue = `${360 - (alpha != null ? alpha : 0)}deg`;
3205
+ const cssRotationVariableName = alpha === void 0 ? void 0 : cssVarName;
3206
+ Object.assign(orientation, { alpha, beta, gamma });
3207
+ if (orientation.cssRotationVariableName !== cssRotationVariableName) {
3208
+ orientation.cssRotationVariableName = cssRotationVariableName;
3209
+ }
3210
+ onChange == null ? void 0 : onChange({ alpha, beta, gamma, cssRotationVariableName });
3211
+ if (cssRotationVariableName) {
3212
+ element == null ? void 0 : element.style.setProperty(cssRotationVariableName, cssRotationVariableValue);
3213
+ }
3214
+ }, DEVICE_ORIENTATION_INTERVAL);
3215
+ compatibaleAddEventListenerDeviceOrientation(handleDeviceOrientation);
3216
+ onCleanup(() => {
3217
+ compatibleRemoveEventListenerDeviceOrientation(handleDeviceOrientation);
3218
+ element == null ? void 0 : element.style.removeProperty(cssVarName);
3219
+ });
3220
+ }
3221
+ );
3222
+ return { orientation };
3223
+ };
3224
+ let isIOSDeviceOrientationPermissionGranted = false;
3225
+ function compatibaleAddEventListenerDeviceOrientation(handler) {
3226
+ if (detectOSPlatform() === OS_PLATFORM.ANDROID) {
3227
+ return addEventListener("deviceorientationabsolute", handler);
3228
+ }
3229
+ if (isIOSDeviceOrientationPermissionGranted) {
3230
+ return addEventListener("deviceorientation", handler);
3231
+ }
3232
+ const handleTouchEnd = () => {
3233
+ removeEventListener("touchend", handleTouchEnd);
3234
+ DeviceOrientationEvent == null ? void 0 : DeviceOrientationEvent.requestPermission().then((permissionState) => {
3235
+ if (permissionState === "granted") {
3236
+ isIOSDeviceOrientationPermissionGranted = true;
3237
+ addEventListener("deviceorientation", handler);
3238
+ }
3239
+ }).catch((err) => console.error(err.message));
3240
+ };
3241
+ addEventListener("touchend", handleTouchEnd);
3242
+ }
3243
+ function compatibleRemoveEventListenerDeviceOrientation(handler) {
3244
+ if (detectOSPlatform() === OS_PLATFORM.ANDROID) {
3245
+ return removeEventListener("deviceorientationabsolute", handler);
3246
+ }
3247
+ return removeEventListener("deviceorientation", handler);
3248
+ }
3126
3249
  const watchVisibilityState = () => {
3127
3250
  const visibilityStateRef = Vue.ref(document.visibilityState);
3128
3251
  const handleVisibilityChange = () => {
@@ -3385,25 +3508,29 @@ const useGeoLocation = (props) => {
3385
3508
  };
3386
3509
  const useHeycarAmap = () => {
3387
3510
  const amapRef = Vue.shallowRef();
3511
+ const amapElementRef = Vue.shallowRef();
3388
3512
  const setMap = (map) => {
3389
3513
  amapRef.value = map;
3514
+ amapElementRef.value = map.getContainer();
3390
3515
  };
3391
3516
  const panTo = (value) => {
3392
3517
  var _a;
3393
3518
  return (_a = amapRef == null ? void 0 : amapRef.value) == null ? void 0 : _a.panTo(value);
3394
3519
  };
3395
- return { mapRef: amapRef, panTo, setMap };
3520
+ return { mapRef: amapRef, mapElementRef: amapElementRef, panTo, setMap };
3396
3521
  };
3397
3522
  const useHeycarGamp = () => {
3398
3523
  const gmapRef = Vue.shallowRef();
3524
+ const gmapElementRef = Vue.shallowRef();
3399
3525
  const setMap = (map) => {
3400
3526
  gmapRef.value = map;
3527
+ gmapElementRef.value = map.getDiv();
3401
3528
  };
3402
3529
  const panTo = (value) => {
3403
3530
  var _a;
3404
3531
  return (_a = gmapRef == null ? void 0 : gmapRef.value) == null ? void 0 : _a.panTo(vec2lnglat(value));
3405
3532
  };
3406
- return { mapRef: gmapRef, panTo, setMap };
3533
+ return { mapRef: gmapRef, mapElementRef: gmapElementRef, panTo, setMap };
3407
3534
  };
3408
3535
  const useHeycarMap = () => {
3409
3536
  const { supplier } = useMapSupplier();
@@ -3429,7 +3556,6 @@ const useAmapDrag = (props) => {
3429
3556
  zoomStartCenter = (_a = mapRef.value) == null ? void 0 : _a.getCenter().toJSON();
3430
3557
  };
3431
3558
  const handleChange = (value) => {
3432
- console.log("useAmapDrag value, zoomStartCenter = ", value, zoomStartCenter);
3433
3559
  if (isZoom) {
3434
3560
  isZoom = false;
3435
3561
  if (isPointEqual(value, zoomStartCenter))
@@ -3510,6 +3636,1495 @@ const useMapDrag = (props) => {
3510
3636
  const { supplier } = useMapSupplier();
3511
3637
  return supplier === "gmap" ? useGmapDrag(props) : useAmapDrag(props);
3512
3638
  };
3639
+ const chinaBounds = [
3640
+ [
3641
+ 108.03446,
3642
+ 21.545871
3643
+ ],
3644
+ [
3645
+ 107.889498,
3646
+ 21.616829
3647
+ ],
3648
+ [
3649
+ 107.710692,
3650
+ 21.616402
3651
+ ],
3652
+ [
3653
+ 107.494665,
3654
+ 21.595056
3655
+ ],
3656
+ [
3657
+ 106.786034,
3658
+ 22.007796
3659
+ ],
3660
+ [
3661
+ 106.680021,
3662
+ 22.187266
3663
+ ],
3664
+ [
3665
+ 106.669469,
3666
+ 22.309079
3667
+ ],
3668
+ [
3669
+ 106.599328,
3670
+ 22.336445
3671
+ ],
3672
+ [
3673
+ 106.587391,
3674
+ 22.392428
3675
+ ],
3676
+ [
3677
+ 106.560298,
3678
+ 22.455572
3679
+ ],
3680
+ [
3681
+ 106.593701,
3682
+ 22.535936
3683
+ ],
3684
+ [
3685
+ 106.638878,
3686
+ 22.58798
3687
+ ],
3688
+ [
3689
+ 106.728994,
3690
+ 22.590963
3691
+ ],
3692
+ [
3693
+ 106.728814,
3694
+ 22.638742
3695
+ ],
3696
+ [
3697
+ 106.768026,
3698
+ 22.697825
3699
+ ],
3700
+ [
3701
+ 106.791692,
3702
+ 22.755067
3703
+ ],
3704
+ [
3705
+ 106.84036,
3706
+ 22.800812
3707
+ ],
3708
+ [
3709
+ 106.735961,
3710
+ 22.846833
3711
+ ],
3712
+ [
3713
+ 105.959328,
3714
+ 22.948955
3715
+ ],
3716
+ [
3717
+ 105.353314,
3718
+ 23.356081
3719
+ ],
3720
+ [
3721
+ 104.732794,
3722
+ 22.852108
3723
+ ],
3724
+ [
3725
+ 104.600128,
3726
+ 22.817385
3727
+ ],
3728
+ [
3729
+ 104.340241,
3730
+ 22.71984
3731
+ ],
3732
+ [
3733
+ 104.126583,
3734
+ 22.811413
3735
+ ],
3736
+ [
3737
+ 103.970906,
3738
+ 22.508551
3739
+ ],
3740
+ [
3741
+ 103.620566,
3742
+ 22.783873
3743
+ ],
3744
+ [
3745
+ 103.477354,
3746
+ 22.638803
3747
+ ],
3748
+ [
3749
+ 103.284426,
3750
+ 22.680987
3751
+ ],
3752
+ [
3753
+ 103.10565,
3754
+ 22.513882
3755
+ ],
3756
+ [
3757
+ 102.879153,
3758
+ 22.582463
3759
+ ],
3760
+ [
3761
+ 102.555288,
3762
+ 22.729169
3763
+ ],
3764
+ [
3765
+ 102.343946,
3766
+ 22.559298
3767
+ ],
3768
+ [
3769
+ 101.85524,
3770
+ 22.396103
3771
+ ],
3772
+ [
3773
+ 101.827202,
3774
+ 21.613912
3775
+ ],
3776
+ [
3777
+ 101.204804,
3778
+ 21.319458
3779
+ ],
3780
+ [
3781
+ 101.122342,
3782
+ 21.773805
3783
+ ],
3784
+ [
3785
+ 101.018928,
3786
+ 21.716981
3787
+ ],
3788
+ [
3789
+ 100.905368,
3790
+ 21.685013
3791
+ ],
3792
+ [
3793
+ 100.862341,
3794
+ 21.659141
3795
+ ],
3796
+ [
3797
+ 100.831063,
3798
+ 21.630827
3799
+ ],
3800
+ [
3801
+ 100.344532,
3802
+ 21.523776
3803
+ ],
3804
+ [
3805
+ 100.307578,
3806
+ 21.488182
3807
+ ],
3808
+ [
3809
+ 100.272498,
3810
+ 21.471719
3811
+ ],
3812
+ [
3813
+ 100.235514,
3814
+ 21.466919
3815
+ ],
3816
+ [
3817
+ 100.122838,
3818
+ 21.538441
3819
+ ],
3820
+ [
3821
+ 100.144342,
3822
+ 21.687965
3823
+ ],
3824
+ [
3825
+ 99.970902,
3826
+ 21.759593
3827
+ ],
3828
+ [
3829
+ 99.976349,
3830
+ 21.911722
3831
+ ],
3832
+ [
3833
+ 99.75302,
3834
+ 22.069356
3835
+ ],
3836
+ [
3837
+ 99.577471,
3838
+ 22.09497
3839
+ ],
3840
+ [
3841
+ 99.218434,
3842
+ 22.111416
3843
+ ],
3844
+ [
3845
+ 99.165397,
3846
+ 22.14945
3847
+ ],
3848
+ [
3849
+ 99.236667,
3850
+ 22.297601
3851
+ ],
3852
+ [
3853
+ 99.359108,
3854
+ 22.524123
3855
+ ],
3856
+ [
3857
+ 99.329472,
3858
+ 22.715709
3859
+ ],
3860
+ [
3861
+ 99.338877,
3862
+ 22.751654
3863
+ ],
3864
+ [
3865
+ 99.378146,
3866
+ 22.762179
3867
+ ],
3868
+ [
3869
+ 99.400754,
3870
+ 22.825682
3871
+ ],
3872
+ [
3873
+ 99.447563,
3874
+ 22.844585
3875
+ ],
3876
+ [
3877
+ 99.44777,
3878
+ 22.881018
3879
+ ],
3880
+ [
3881
+ 99.544938,
3882
+ 22.958751
3883
+ ],
3884
+ [
3885
+ 99.206721,
3886
+ 23.104579
3887
+ ],
3888
+ [
3889
+ 99.000191,
3890
+ 23.161668
3891
+ ],
3892
+ [
3893
+ 98.930812,
3894
+ 23.17934
3895
+ ],
3896
+ [
3897
+ 98.89451,
3898
+ 23.205769
3899
+ ],
3900
+ [
3901
+ 98.915037,
3902
+ 23.254704
3903
+ ],
3904
+ [
3905
+ 98.828171,
3906
+ 23.690326
3907
+ ],
3908
+ [
3909
+ 98.698028,
3910
+ 23.784237
3911
+ ],
3912
+ [
3913
+ 98.880603,
3914
+ 24.149213
3915
+ ],
3916
+ [
3917
+ 98.544094,
3918
+ 24.128618
3919
+ ],
3920
+ [
3921
+ 98.340976,
3922
+ 24.10009
3923
+ ],
3924
+ [
3925
+ 98.108482,
3926
+ 24.091463
3927
+ ],
3928
+ [
3929
+ 98.013226,
3930
+ 24.053379
3931
+ ],
3932
+ [
3933
+ 97.728248,
3934
+ 23.895521
3935
+ ],
3936
+ [
3937
+ 97.529325,
3938
+ 23.943102
3939
+ ],
3940
+ [
3941
+ 97.655234,
3942
+ 24.060011
3943
+ ],
3944
+ [
3945
+ 97.739942,
3946
+ 24.184029
3947
+ ],
3948
+ [
3949
+ 97.702694,
3950
+ 24.343731
3951
+ ],
3952
+ [
3953
+ 97.555387,
3954
+ 24.509707
3955
+ ],
3956
+ [
3957
+ 97.566348,
3958
+ 24.70096
3959
+ ],
3960
+ [
3961
+ 97.683272,
3962
+ 24.8271
3963
+ ],
3964
+ [
3965
+ 97.729442,
3966
+ 24.909341
3967
+ ],
3968
+ [
3969
+ 97.729984,
3970
+ 25.086406
3971
+ ],
3972
+ [
3973
+ 97.88904,
3974
+ 25.235727
3975
+ ],
3976
+ [
3977
+ 98.138872,
3978
+ 25.495217
3979
+ ],
3980
+ [
3981
+ 98.683766,
3982
+ 25.931162
3983
+ ],
3984
+ [
3985
+ 98.627679,
3986
+ 26.144535
3987
+ ],
3988
+ [
3989
+ 98.674957,
3990
+ 26.238435
3991
+ ],
3992
+ [
3993
+ 98.756509,
3994
+ 26.496577
3995
+ ],
3996
+ [
3997
+ 98.758612,
3998
+ 26.764705
3999
+ ],
4000
+ [
4001
+ 98.766671,
4002
+ 27.041643
4003
+ ],
4004
+ [
4005
+ 98.732483,
4006
+ 27.284239
4007
+ ],
4008
+ [
4009
+ 98.699537,
4010
+ 27.546633
4011
+ ],
4012
+ [
4013
+ 98.431871,
4014
+ 27.662925
4015
+ ],
4016
+ [
4017
+ 98.286812,
4018
+ 27.634612
4019
+ ],
4020
+ [
4021
+ 98.174766,
4022
+ 27.862864
4023
+ ],
4024
+ [
4025
+ 98.131544,
4026
+ 28.149559
4027
+ ],
4028
+ [
4029
+ 97.494182,
4030
+ 28.359752
4031
+ ],
4032
+ [
4033
+ 97.420181,
4034
+ 28.295909
4035
+ ],
4036
+ [
4037
+ 97.357902,
4038
+ 28.182283
4039
+ ],
4040
+ [
4041
+ 97.372545,
4042
+ 28.048383
4043
+ ],
4044
+ [
4045
+ 97.182406,
4046
+ 27.827862
4047
+ ],
4048
+ [
4049
+ 97.000801,
4050
+ 27.825301
4051
+ ],
4052
+ [
4053
+ 96.846837,
4054
+ 27.877626
4055
+ ],
4056
+ [
4057
+ 96.537778,
4058
+ 28.075202
4059
+ ],
4060
+ [
4061
+ 96.358196,
4062
+ 28.122047
4063
+ ],
4064
+ [
4065
+ 96.158626,
4066
+ 28.209232
4067
+ ],
4068
+ [
4069
+ 94.975683,
4070
+ 27.804592
4071
+ ],
4072
+ [
4073
+ 92.125949,
4074
+ 27.273214
4075
+ ],
4076
+ [
4077
+ 91.151716,
4078
+ 27.907706
4079
+ ],
4080
+ [
4081
+ 90.122462,
4082
+ 28.168784
4083
+ ],
4084
+ [
4085
+ 89.116165,
4086
+ 27.539676
4087
+ ],
4088
+ [
4089
+ 88.79551,
4090
+ 28.038329
4091
+ ],
4092
+ [
4093
+ 87.664174,
4094
+ 27.833584
4095
+ ],
4096
+ [
4097
+ 87.034909,
4098
+ 27.946381
4099
+ ],
4100
+ [
4101
+ 86.102037,
4102
+ 27.989154
4103
+ ],
4104
+ [
4105
+ 85.959927,
4106
+ 27.960275
4107
+ ],
4108
+ [
4109
+ 85.542653,
4110
+ 28.314901
4111
+ ],
4112
+ [
4113
+ 85.352214,
4114
+ 28.283591
4115
+ ],
4116
+ [
4117
+ 84.760124,
4118
+ 28.608553
4119
+ ],
4120
+ [
4121
+ 83.696663,
4122
+ 29.223277
4123
+ ],
4124
+ [
4125
+ 82.694473,
4126
+ 29.762103
4127
+ ],
4128
+ [
4129
+ 81.681759,
4130
+ 30.423961
4131
+ ],
4132
+ [
4133
+ 81.002579,
4134
+ 30.264622
4135
+ ],
4136
+ [
4137
+ 79.451148,
4138
+ 31.026692
4139
+ ],
4140
+ [
4141
+ 78.768535,
4142
+ 31.940859
4143
+ ],
4144
+ [
4145
+ 78.637775,
4146
+ 32.011523
4147
+ ],
4148
+ [
4149
+ 78.591482,
4150
+ 32.063503
4151
+ ],
4152
+ [
4153
+ 78.447248,
4154
+ 32.152441
4155
+ ],
4156
+ [
4157
+ 79.055473,
4158
+ 32.381378
4159
+ ],
4160
+ [
4161
+ 79.232139,
4162
+ 32.840006
4163
+ ],
4164
+ [
4165
+ 79.224739,
4166
+ 32.961698
4167
+ ],
4168
+ [
4169
+ 78.73849,
4170
+ 33.949955
4171
+ ],
4172
+ [
4173
+ 78.674047,
4174
+ 34.530945
4175
+ ],
4176
+ [
4177
+ 78.017015,
4178
+ 35.228305
4179
+ ],
4180
+ [
4181
+ 76.941478,
4182
+ 35.601395
4183
+ ],
4184
+ [
4185
+ 76.034841,
4186
+ 36.40917
4187
+ ],
4188
+ [
4189
+ 75.906013,
4190
+ 36.633077
4191
+ ],
4192
+ [
4193
+ 75.44202,
4194
+ 36.751892
4195
+ ],
4196
+ [
4197
+ 74.771692,
4198
+ 37.264013
4199
+ ],
4200
+ [
4201
+ 74.79294,
4202
+ 38.536098
4203
+ ],
4204
+ [
4205
+ 73.628595,
4206
+ 39.23079
4207
+ ],
4208
+ [
4209
+ 74.464917,
4210
+ 40.163006
4211
+ ],
4212
+ [
4213
+ 75.697795,
4214
+ 40.288419
4215
+ ],
4216
+ [
4217
+ 76.734113,
4218
+ 40.847349
4219
+ ],
4220
+ [
4221
+ 77.805877,
4222
+ 41.115185
4223
+ ],
4224
+ [
4225
+ 78.100761,
4226
+ 41.225242
4227
+ ],
4228
+ [
4229
+ 78.317208,
4230
+ 41.386984
4231
+ ],
4232
+ [
4233
+ 78.828532,
4234
+ 41.565219
4235
+ ],
4236
+ [
4237
+ 79.796619,
4238
+ 41.917362
4239
+ ],
4240
+ [
4241
+ 80.230197,
4242
+ 42.396788
4243
+ ],
4244
+ [
4245
+ 80.178769,
4246
+ 42.661476
4247
+ ],
4248
+ [
4249
+ 80.293244,
4250
+ 42.836441
4251
+ ],
4252
+ [
4253
+ 80.337978,
4254
+ 42.831579
4255
+ ],
4256
+ [
4257
+ 80.405903,
4258
+ 42.834648
4259
+ ],
4260
+ [
4261
+ 80.498695,
4262
+ 42.871935
4263
+ ],
4264
+ [
4265
+ 80.485526,
4266
+ 42.949773
4267
+ ],
4268
+ [
4269
+ 80.523771,
4270
+ 43.830106
4271
+ ],
4272
+ [
4273
+ 80.519548,
4274
+ 43.862665
4275
+ ],
4276
+ [
4277
+ 80.509814,
4278
+ 43.876346
4279
+ ],
4280
+ [
4281
+ 80.502334,
4282
+ 43.912321
4283
+ ],
4284
+ [
4285
+ 80.490832,
4286
+ 43.920575
4287
+ ],
4288
+ [
4289
+ 80.481667,
4290
+ 43.931551
4291
+ ],
4292
+ [
4293
+ 80.477151,
4294
+ 43.947949
4295
+ ],
4296
+ [
4297
+ 80.475736,
4298
+ 43.964042
4299
+ ],
4300
+ [
4301
+ 80.458271,
4302
+ 43.976397
4303
+ ],
4304
+ [
4305
+ 80.453132,
4306
+ 43.991877
4307
+ ],
4308
+ [
4309
+ 80.454728,
4310
+ 44.04903
4311
+ ],
4312
+ [
4313
+ 80.342239,
4314
+ 44.686627
4315
+ ],
4316
+ [
4317
+ 80.927203,
4318
+ 45.149323
4319
+ ],
4320
+ [
4321
+ 82.601014,
4322
+ 45.34621
4323
+ ],
4324
+ [
4325
+ 84.305399,
4326
+ 46.995313
4327
+ ],
4328
+ [
4329
+ 85.560607,
4330
+ 47.118155
4331
+ ],
4332
+ [
4333
+ 85.537708,
4334
+ 48.047127
4335
+ ],
4336
+ [
4337
+ 85.596757,
4338
+ 48.197207
4339
+ ],
4340
+ [
4341
+ 85.703562,
4342
+ 48.343172
4343
+ ],
4344
+ [
4345
+ 86.175389,
4346
+ 48.436248
4347
+ ],
4348
+ [
4349
+ 86.580777,
4350
+ 48.539797
4351
+ ],
4352
+ [
4353
+ 86.753356,
4354
+ 48.704785
4355
+ ],
4356
+ [
4357
+ 86.820571,
4358
+ 48.835791
4359
+ ],
4360
+ [
4361
+ 86.733414,
4362
+ 48.974695
4363
+ ],
4364
+ [
4365
+ 86.895933,
4366
+ 49.133785
4367
+ ],
4368
+ [
4369
+ 87.822671,
4370
+ 48.947236
4371
+ ],
4372
+ [
4373
+ 88.576766,
4374
+ 48.350514
4375
+ ],
4376
+ [
4377
+ 89.743723,
4378
+ 47.888328
4379
+ ],
4380
+ [
4381
+ 91.061776,
4382
+ 46.533367
4383
+ ],
4384
+ [
4385
+ 93.173971,
4386
+ 45.015263
4387
+ ],
4388
+ [
4389
+ 96.758654,
4390
+ 42.75641
4391
+ ],
4392
+ [
4393
+ 101.938753,
4394
+ 42.36899
4395
+ ],
4396
+ [
4397
+ 111.056885,
4398
+ 43.346543
4399
+ ],
4400
+ [
4401
+ 113.995954,
4402
+ 44.922372
4403
+ ],
4404
+ [
4405
+ 118.508368,
4406
+ 46.700918
4407
+ ],
4408
+ [
4409
+ 119.707908,
4410
+ 47.200464
4411
+ ],
4412
+ [
4413
+ 119.662314,
4414
+ 47.226698
4415
+ ],
4416
+ [
4417
+ 119.626751,
4418
+ 47.247533
4419
+ ],
4420
+ [
4421
+ 119.562861,
4422
+ 47.261987
4423
+ ],
4424
+ [
4425
+ 119.562568,
4426
+ 47.282336
4427
+ ],
4428
+ [
4429
+ 119.544295,
4430
+ 47.304695
4431
+ ],
4432
+ [
4433
+ 119.515891,
4434
+ 47.322902
4435
+ ],
4436
+ [
4437
+ 119.463333,
4438
+ 47.349624
4439
+ ],
4440
+ [
4441
+ 119.396152,
4442
+ 47.394452
4443
+ ],
4444
+ [
4445
+ 119.334168,
4446
+ 47.42353
4447
+ ],
4448
+ [
4449
+ 118.276281,
4450
+ 48.009287
4451
+ ],
4452
+ [
4453
+ 118.11109,
4454
+ 48.041824
4455
+ ],
4456
+ [
4457
+ 118.016416,
4458
+ 48.014965
4459
+ ],
4460
+ [
4461
+ 117.895415,
4462
+ 48.022554
4463
+ ],
4464
+ [
4465
+ 117.81506,
4466
+ 49.527378
4467
+ ],
4468
+ [
4469
+ 117.959284,
4470
+ 49.607066
4471
+ ],
4472
+ [
4473
+ 118.119232,
4474
+ 49.650908
4475
+ ],
4476
+ [
4477
+ 118.226441,
4478
+ 49.725456
4479
+ ],
4480
+ [
4481
+ 118.388378,
4482
+ 49.785914
4483
+ ],
4484
+ [
4485
+ 118.484226,
4486
+ 49.829849
4487
+ ],
4488
+ [
4489
+ 118.558769,
4490
+ 49.904695
4491
+ ],
4492
+ [
4493
+ 118.663826,
4494
+ 49.950365
4495
+ ],
4496
+ [
4497
+ 118.794449,
4498
+ 49.958426
4499
+ ],
4500
+ [
4501
+ 118.898088,
4502
+ 49.975079
4503
+ ],
4504
+ [
4505
+ 118.996016,
4506
+ 49.974912
4507
+ ],
4508
+ [
4509
+ 119.127524,
4510
+ 50.009768
4511
+ ],
4512
+ [
4513
+ 119.191791,
4514
+ 50.074864
4515
+ ],
4516
+ [
4517
+ 119.298834,
4518
+ 50.134203
4519
+ ],
4520
+ [
4521
+ 119.32342,
4522
+ 50.234727
4523
+ ],
4524
+ [
4525
+ 119.349315,
4526
+ 50.357748
4527
+ ],
4528
+ [
4529
+ 119.141688,
4530
+ 50.388553
4531
+ ],
4532
+ [
4533
+ 119.282088,
4534
+ 50.550625
4535
+ ],
4536
+ [
4537
+ 119.473796,
4538
+ 50.723148
4539
+ ],
4540
+ [
4541
+ 119.541671,
4542
+ 50.914479
4543
+ ],
4544
+ [
4545
+ 119.742397,
4546
+ 51.086222
4547
+ ],
4548
+ [
4549
+ 119.761579,
4550
+ 51.211474
4551
+ ],
4552
+ [
4553
+ 119.924927,
4554
+ 51.371112
4555
+ ],
4556
+ [
4557
+ 120.047332,
4558
+ 51.546316
4559
+ ],
4560
+ [
4561
+ 120.343526,
4562
+ 51.78839
4563
+ ],
4564
+ [
4565
+ 120.688186,
4566
+ 52.042069
4567
+ ],
4568
+ [
4569
+ 120.634178,
4570
+ 52.31611
4571
+ ],
4572
+ [
4573
+ 120.655763,
4574
+ 52.56758
4575
+ ],
4576
+ [
4577
+ 120.058786,
4578
+ 52.729041
4579
+ ],
4580
+ [
4581
+ 120.476405,
4582
+ 53.019791
4583
+ ],
4584
+ [
4585
+ 120.845509,
4586
+ 53.274051
4587
+ ],
4588
+ [
4589
+ 121.377348,
4590
+ 53.324047
4591
+ ],
4592
+ [
4593
+ 123.454169,
4594
+ 53.536539
4595
+ ],
4596
+ [
4597
+ 124.742151,
4598
+ 53.145277
4599
+ ],
4600
+ [
4601
+ 125.801275,
4602
+ 52.894911
4603
+ ],
4604
+ [
4605
+ 126.318372,
4606
+ 52.332237
4607
+ ],
4608
+ [
4609
+ 126.871437,
4610
+ 51.344172
4611
+ ],
4612
+ [
4613
+ 127.680238,
4614
+ 49.693854
4615
+ ],
4616
+ [
4617
+ 129.750825,
4618
+ 49.214848
4619
+ ],
4620
+ [
4621
+ 131.835618,
4622
+ 47.67606
4623
+ ],
4624
+ [
4625
+ 134.131409,
4626
+ 48.335466
4627
+ ],
4628
+ [
4629
+ 134.661344,
4630
+ 47.899298
4631
+ ],
4632
+ [
4633
+ 134.141398,
4634
+ 47.091504
4635
+ ],
4636
+ [
4637
+ 133.854501,
4638
+ 46.207167
4639
+ ],
4640
+ [
4641
+ 133.479263,
4642
+ 45.694204
4643
+ ],
4644
+ [
4645
+ 133.335969,
4646
+ 45.558506
4647
+ ],
4648
+ [
4649
+ 133.201179,
4650
+ 45.513549
4651
+ ],
4652
+ [
4653
+ 133.14563,
4654
+ 45.407197
4655
+ ],
4656
+ [
4657
+ 133.108862,
4658
+ 45.299488
4659
+ ],
4660
+ [
4661
+ 133.118577,
4662
+ 45.223635
4663
+ ],
4664
+ [
4665
+ 133.139374,
4666
+ 45.140375
4667
+ ],
4668
+ [
4669
+ 133.047802,
4670
+ 45.074051
4671
+ ],
4672
+ [
4673
+ 132.98035,
4674
+ 45.027061
4675
+ ],
4676
+ [
4677
+ 132.885386,
4678
+ 45.050022
4679
+ ],
4680
+ [
4681
+ 131.821761,
4682
+ 45.286547
4683
+ ],
4684
+ [
4685
+ 131.666157,
4686
+ 45.186423
4687
+ ],
4688
+ [
4689
+ 131.634896,
4690
+ 45.086127
4691
+ ],
4692
+ [
4693
+ 131.516843,
4694
+ 45.01066
4695
+ ],
4696
+ [
4697
+ 131.433657,
4698
+ 44.969994
4699
+ ],
4700
+ [
4701
+ 131.30964,
4702
+ 44.945363
4703
+ ],
4704
+ [
4705
+ 131.196394,
4706
+ 44.936051
4707
+ ],
4708
+ [
4709
+ 131.088924,
4710
+ 44.918352
4711
+ ],
4712
+ [
4713
+ 131.009774,
4714
+ 44.867761
4715
+ ],
4716
+ [
4717
+ 131.001474,
4718
+ 44.822688
4719
+ ],
4720
+ [
4721
+ 131.068543,
4722
+ 44.776215
4723
+ ],
4724
+ [
4725
+ 131.113969,
4726
+ 44.701966
4727
+ ],
4728
+ [
4729
+ 131.226653,
4730
+ 44.32782
4731
+ ],
4732
+ [
4733
+ 131.299841,
4734
+ 44.082309
4735
+ ],
4736
+ [
4737
+ 131.244767,
4738
+ 43.965231
4739
+ ],
4740
+ [
4741
+ 131.236322,
4742
+ 43.859105
4743
+ ],
4744
+ [
4745
+ 131.218416,
4746
+ 43.735163
4747
+ ],
4748
+ [
4749
+ 131.244792,
4750
+ 43.600775
4751
+ ],
4752
+ [
4753
+ 131.22764,
4754
+ 43.516604
4755
+ ],
4756
+ [
4757
+ 131.299078,
4758
+ 43.446043
4759
+ ],
4760
+ [
4761
+ 131.277299,
4762
+ 43.364086
4763
+ ],
4764
+ [
4765
+ 131.244194,
4766
+ 43.26145
4767
+ ],
4768
+ [
4769
+ 131.209384,
4770
+ 43.167874
4771
+ ],
4772
+ [
4773
+ 131.171747,
4774
+ 43.06971
4775
+ ],
4776
+ [
4777
+ 131.107312,
4778
+ 43.018119
4779
+ ],
4780
+ [
4781
+ 131.147602,
4782
+ 42.968828
4783
+ ],
4784
+ [
4785
+ 131.082704,
4786
+ 42.923031
4787
+ ],
4788
+ [
4789
+ 131.042517,
4790
+ 42.874081
4791
+ ],
4792
+ [
4793
+ 130.939636,
4794
+ 42.875503
4795
+ ],
4796
+ [
4797
+ 130.828255,
4798
+ 42.882591
4799
+ ],
4800
+ [
4801
+ 130.729328,
4802
+ 42.832937
4803
+ ],
4804
+ [
4805
+ 130.589394,
4806
+ 42.816248
4807
+ ],
4808
+ [
4809
+ 130.487425,
4810
+ 42.775189
4811
+ ],
4812
+ [
4813
+ 130.414629,
4814
+ 42.718256
4815
+ ],
4816
+ [
4817
+ 130.516292,
4818
+ 42.698041
4819
+ ],
4820
+ [
4821
+ 130.603538,
4822
+ 42.644474
4823
+ ],
4824
+ [
4825
+ 130.616763,
4826
+ 42.57076
4827
+ ],
4828
+ [
4829
+ 130.576431,
4830
+ 42.499097
4831
+ ],
4832
+ [
4833
+ 130.627935,
4834
+ 42.42872
4835
+ ],
4836
+ [
4837
+ 129.955711,
4838
+ 42.998491
4839
+ ],
4840
+ [
4841
+ 129.759647,
4842
+ 42.622362
4843
+ ],
4844
+ [
4845
+ 129.374176,
4846
+ 42.424374
4847
+ ],
4848
+ [
4849
+ 129.222104,
4850
+ 42.217951
4851
+ ],
4852
+ [
4853
+ 128.654411,
4854
+ 42.030835
4855
+ ],
4856
+ [
4857
+ 128.124469,
4858
+ 42.02136
4859
+ ],
4860
+ [
4861
+ 128.132575,
4862
+ 41.783637
4863
+ ],
4864
+ [
4865
+ 128.164254,
4866
+ 41.721631
4867
+ ],
4868
+ [
4869
+ 128.257805,
4870
+ 41.67428
4871
+ ],
4872
+ [
4873
+ 128.286252,
4874
+ 41.627057
4875
+ ],
4876
+ [
4877
+ 128.317485,
4878
+ 41.592099
4879
+ ],
4880
+ [
4881
+ 128.268725,
4882
+ 41.515996
4883
+ ],
4884
+ [
4885
+ 128.210082,
4886
+ 41.414117
4887
+ ],
4888
+ [
4889
+ 128.083168,
4890
+ 41.392912
4891
+ ],
4892
+ [
4893
+ 128.015652,
4894
+ 41.42919
4895
+ ],
4896
+ [
4897
+ 127.911191,
4898
+ 41.430006
4899
+ ],
4900
+ [
4901
+ 127.800482,
4902
+ 41.423708
4903
+ ],
4904
+ [
4905
+ 127.656269,
4906
+ 41.417726
4907
+ ],
4908
+ [
4909
+ 127.478761,
4910
+ 41.474763
4911
+ ],
4912
+ [
4913
+ 127.32972,
4914
+ 41.472449
4915
+ ],
4916
+ [
4917
+ 127.214172,
4918
+ 41.529969
4919
+ ],
4920
+ [
4921
+ 127.180659,
4922
+ 41.599146
4923
+ ],
4924
+ [
4925
+ 127.079883,
4926
+ 41.694041
4927
+ ],
4928
+ [
4929
+ 126.937418,
4930
+ 41.811868
4931
+ ],
4932
+ [
4933
+ 126.779087,
4934
+ 41.700814
4935
+ ],
4936
+ [
4937
+ 126.625351,
4938
+ 41.677409
4939
+ ],
4940
+ [
4941
+ 126.540357,
4942
+ 41.508061
4943
+ ],
4944
+ [
4945
+ 126.519458,
4946
+ 41.348596
4947
+ ],
4948
+ [
4949
+ 126.289851,
4950
+ 41.183266
4951
+ ],
4952
+ [
4953
+ 126.0431,
4954
+ 40.943182
4955
+ ],
4956
+ [
4957
+ 125.874989,
4958
+ 40.908349
4959
+ ],
4960
+ [
4961
+ 125.578403,
4962
+ 40.791802
4963
+ ],
4964
+ [
4965
+ 124.995845,
4966
+ 40.477146
4967
+ ],
4968
+ [
4969
+ 124.697208,
4970
+ 40.312753
4971
+ ],
4972
+ [
4973
+ 124.612879,
4974
+ 40.284932
4975
+ ],
4976
+ [
4977
+ 124.579533,
4978
+ 40.260931
4979
+ ],
4980
+ [
4981
+ 124.530494,
4982
+ 40.231865
4983
+ ],
4984
+ [
4985
+ 124.50676,
4986
+ 40.204386
4987
+ ],
4988
+ [
4989
+ 124.445293,
4990
+ 40.163118
4991
+ ],
4992
+ [
4993
+ 124.360534,
4994
+ 40.039812
4995
+ ],
4996
+ [
4997
+ 124.298568,
4998
+ 39.96955
4999
+ ],
5000
+ [
5001
+ 124.223942,
5002
+ 39.905642
5003
+ ],
5004
+ [
5005
+ 123.984623,
5006
+ 33.407531
5007
+ ],
5008
+ [
5009
+ 123.729428,
5010
+ 30.330603
5011
+ ],
5012
+ [
5013
+ 122.898128,
5014
+ 24.531923
5015
+ ],
5016
+ [
5017
+ 122.58719,
5018
+ 23.395406
5019
+ ],
5020
+ [
5021
+ 121.965315,
5022
+ 21.614499
5023
+ ],
5024
+ [
5025
+ 121.156877,
5026
+ 20.744706
5027
+ ],
5028
+ [
5029
+ 120.037502,
5030
+ 18.931393
5031
+ ],
5032
+ [
5033
+ 119.415626,
5034
+ 17.869266
5035
+ ],
5036
+ [
5037
+ 119.104688,
5038
+ 15.905688
5039
+ ],
5040
+ [
5041
+ 119.104688,
5042
+ 14.706078
5043
+ ],
5044
+ [
5045
+ 119.074712,
5046
+ 11.892775
5047
+ ],
5048
+ [
5049
+ 118.445276,
5050
+ 10.848763
5051
+ ],
5052
+ [
5053
+ 116.15903,
5054
+ 8.105345
5055
+ ],
5056
+ [
5057
+ 115.455905,
5058
+ 6.972663
5059
+ ],
5060
+ [
5061
+ 113.504273,
5062
+ 5.646439
5063
+ ],
5064
+ [
5065
+ 112.848833,
5066
+ 3.837665
5067
+ ],
5068
+ [
5069
+ 111.588373,
5070
+ 3.535781
5071
+ ],
5072
+ [
5073
+ 108.311177,
5074
+ 5.997547
5075
+ ],
5076
+ [
5077
+ 108.159922,
5078
+ 7.149526
5079
+ ],
5080
+ [
5081
+ 110.62192,
5082
+ 12.2567
5083
+ ],
5084
+ [
5085
+ 110.109868,
5086
+ 14.800002
5087
+ ],
5088
+ [
5089
+ 109.318852,
5090
+ 16.07078
5091
+ ],
5092
+ [
5093
+ 107.705911,
5094
+ 18.528627
5095
+ ],
5096
+ [
5097
+ 108.109362,
5098
+ 21.108139
5099
+ ],
5100
+ [
5101
+ 108.069339,
5102
+ 21.500669
5103
+ ]
5104
+ ];
5105
+ const useAmapInChina = () => {
5106
+ const payload = useMapSupplier();
5107
+ const inChina = (point) => {
5108
+ if (payload.status !== Status.SUCCESS)
5109
+ return false;
5110
+ return AMap.GeometryUtil.isPointInRing(point, chinaBounds);
5111
+ };
5112
+ return { inChina };
5113
+ };
5114
+ const useGmapInChina = () => {
5115
+ const payload = useMapSupplier();
5116
+ const inChina = (point) => {
5117
+ if (payload.status !== Status.SUCCESS)
5118
+ return false;
5119
+ const chinaPolygon = new google.maps.Polygon({ paths: chinaBounds });
5120
+ return google.maps.geometry.poly.containsLocation(vec2lnglat(point), chinaPolygon);
5121
+ };
5122
+ return { inChina };
5123
+ };
5124
+ const useMapInChina = () => {
5125
+ const { supplier } = useMapSupplier();
5126
+ return supplier === "gmap" ? useGmapInChina() : useAmapInChina();
5127
+ };
3513
5128
  const useUpdate = () => {
3514
5129
  const idx = Vue.ref(0);
3515
5130
  const update = () => {
@@ -3522,10 +5137,12 @@ const useAmapPlace = (props) => {
3522
5137
  const defaultPoint = [...props.pointRef.value];
3523
5138
  const pointRef = Vue.ref(defaultPoint);
3524
5139
  const { readyPromise } = useMapSupplier();
5140
+ const { inChina } = useAmapInChina();
3525
5141
  const place = Vue.reactive({
3526
5142
  lng: pointRef.value[0],
3527
5143
  lat: pointRef.value[1],
3528
- name: ""
5144
+ name: "",
5145
+ displayName: ""
3529
5146
  });
3530
5147
  const { idx: placeKey, update } = useUpdate();
3531
5148
  const updatePlace = (value) => {
@@ -3536,6 +5153,7 @@ const useAmapPlace = (props) => {
3536
5153
  place.lng = value.lng;
3537
5154
  place.lat = value.lat;
3538
5155
  place.name = value.name;
5156
+ place.displayName = value.displayName;
3539
5157
  };
3540
5158
  Vue.watch(
3541
5159
  () => [placeKey.value],
@@ -3543,23 +5161,30 @@ const useAmapPlace = (props) => {
3543
5161
  await readyPromise;
3544
5162
  const geocoder = new AMap.Geocoder({ lang: LANGUAGE });
3545
5163
  const [lng, lat] = pointRef.value;
5164
+ const isChina = inChina([lng, lat]);
3546
5165
  geocoder.getAddress(new AMap.LngLat(lng, lat), (status, result) => {
3547
5166
  switch (status) {
3548
5167
  case "complete": {
3549
- const { formattedAddress } = result.regeocode;
5168
+ const { formattedAddress, addressComponent } = result.regeocode;
3550
5169
  const name = formattedAddress ? formattedAddress : emptyPlaceName;
5170
+ const displayName = amapPlaceName2DisplayName(name, { isChina, ...addressComponent });
3551
5171
  place.name = name;
5172
+ place.displayName = displayName;
3552
5173
  place.lng = lng;
3553
5174
  place.lat = lat;
3554
- onChange == null ? void 0 : onChange({ lng, lat, name });
5175
+ onChange == null ? void 0 : onChange({ lng, lat, name, displayName });
3555
5176
  return;
3556
5177
  }
3557
- case "no_data":
3558
- place.name = emptyPlaceName;
5178
+ case "no_data": {
5179
+ const name = emptyPlaceName;
5180
+ const displayName = emptyPlaceName;
5181
+ place.name = name;
5182
+ place.displayName = displayName;
3559
5183
  place.lng = lng;
3560
5184
  place.lat = lat;
3561
- onChange == null ? void 0 : onChange({ lng, lat, name: "" });
5185
+ onChange == null ? void 0 : onChange({ lng, lat, name, displayName });
3562
5186
  return;
5187
+ }
3563
5188
  case "error":
3564
5189
  throw result;
3565
5190
  }
@@ -3577,7 +5202,8 @@ const useGmapPlace = (props) => {
3577
5202
  const place = Vue.reactive({
3578
5203
  lng: pointRef.value[0],
3579
5204
  lat: pointRef.value[1],
3580
- name: ""
5205
+ name: "",
5206
+ displayName: ""
3581
5207
  });
3582
5208
  const updatePlace = (value) => {
3583
5209
  pointRef.value = value;
@@ -3587,6 +5213,7 @@ const useGmapPlace = (props) => {
3587
5213
  place.lng = value.lng;
3588
5214
  place.lat = value.lat;
3589
5215
  place.name = value.name;
5216
+ place.displayName = value.displayName;
3590
5217
  };
3591
5218
  Vue.watch(
3592
5219
  () => placeKey.value,
@@ -3596,10 +5223,12 @@ const useGmapPlace = (props) => {
3596
5223
  const [lng, lat] = pointRef.value;
3597
5224
  const { results } = await geocoder.geocode({ language: LANGUAGE, location: { lng, lat } });
3598
5225
  const name = results[0].formatted_address ? results[0].formatted_address : emptyPlaceName;
5226
+ const displayName = name;
3599
5227
  place.lng = lng;
3600
5228
  place.lat = lat;
3601
5229
  place.name = name;
3602
- onChange == null ? void 0 : onChange({ lng, lat, name });
5230
+ place.displayName = displayName;
5231
+ onChange == null ? void 0 : onChange({ lng, lat, name, displayName });
3603
5232
  }
3604
5233
  );
3605
5234
  return { place, updatePlace, setPlace };
@@ -3651,7 +5280,8 @@ const useAmapRecomendPlace = (props) => {
3651
5280
  );
3652
5281
  });
3653
5282
  const updatePlaceCandidates = async (place2) => {
3654
- const placeCandidates = await getRecomendPlace({ ...place2 }, context2);
5283
+ const inputPlaceCandidates = await getRecomendPlace({ ...place2 }, context2);
5284
+ const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
3655
5285
  availableRef.value = placeCandidates !== void 0;
3656
5286
  placeCandidatesRef.value = placeCandidates != null ? placeCandidates : [];
3657
5287
  };
@@ -3659,7 +5289,8 @@ const useAmapRecomendPlace = (props) => {
3659
5289
  () => recomendPlaceKey.value,
3660
5290
  async () => {
3661
5291
  await readyPromise;
3662
- const placeCandidates = await getRecomendPlace({ ...place }, context2);
5292
+ const inputPlaceCandidates = await getRecomendPlace({ ...place }, context2);
5293
+ const placeCandidates = inputPlaceCandidates == null ? void 0 : inputPlaceCandidates.map(toPlaceType);
3663
5294
  if (placeCandidates === void 0) {
3664
5295
  availableRef.value = false;
3665
5296
  placeCandidatesRef.value = [];
@@ -3793,20 +5424,25 @@ const useMapZoom = (props) => {
3793
5424
  const { supplier } = useMapSupplier();
3794
5425
  return supplier === "gmap" ? useGmapZoom(props) : useAmapZoom(props);
3795
5426
  };
5427
+ const imgPassengerCircleArrow = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxmaWx0ZXIgeD0iLTI4LjYlIiB5PSItMjguNiUiIHdpZHRoPSIxNTcuMSUiIGhlaWdodD0iMTU3LjElIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJwcmVmaXhfX2EiPjxmZU9mZnNldCBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIi8+PGZlQ29tcG9zaXRlIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0ib3V0IiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMjc3NDUzMDE2IDAiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIi8+PC9maWx0ZXI+PGNpcmNsZSBpZD0icHJlZml4X19iIiBjeD0iMzAiIGN5PSIzMCIgcj0iMTAuNSIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxjaXJjbGUgc3Ryb2tlLW9wYWNpdHk9Ii4xIiBzdHJva2U9IiMwMDNERkYiIGZpbGwtb3BhY2l0eT0iLjE1IiBmaWxsPSIjNDg3M0ZFIiBjeD0iMzAiIGN5PSIzMCIgcj0iMjkuNSIvPjxwYXRoIGZpbGw9IiM0ODcxRjEiIGQ9Ik0zMCAxMC41NTdsNi4zNDIgMTIuNjg0SDIzLjY1OHoiLz48dXNlIGZpbGw9IiMwMDAiIGZpbHRlcj0idXJsKCNwcmVmaXhfX2EpIiB4bGluazpocmVmPSIjcHJlZml4X19iIi8+PGNpcmNsZSBzdHJva2U9IiNGRkYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJzcXVhcmUiIGZpbGw9IiM0ODcxRjEiIGN4PSIzMCIgY3k9IjMwIiByPSI5Ii8+PC9nPjwvc3ZnPg==";
3796
5428
  const imgPassengerCircle = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjEiIGhlaWdodD0iNjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxmaWx0ZXIgeD0iLTcuMSUiIHk9Ii03LjElIiB3aWR0aD0iMTE0LjMlIiBoZWlnaHQ9IjExNC4zJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0icHJlZml4X19hIj48ZmVPZmZzZXQgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSIvPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249Ii41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb21wb3NpdGUgaW49InNoYWRvd0JsdXJPdXRlcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJvdXQiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNzc0NTMwMTYgMCIgaW49InNoYWRvd0JsdXJPdXRlcjEiLz48L2ZpbHRlcj48Y2lyY2xlIGlkPSJwcmVmaXhfX2IiIGN4PSIzMCIgY3k9IjMwIiByPSIxMC41Ii8+PC9kZWZzPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC40MDUgLjI2NCkiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGNpcmNsZSBzdHJva2Utb3BhY2l0eT0iLjEiIHN0cm9rZT0iIzAwM0RGRiIgZmlsbC1vcGFjaXR5PSIuMTUiIGZpbGw9IiM0ODczRkUiIGN4PSIzMCIgY3k9IjMwIiByPSIyOS41Ii8+PHVzZSBmaWxsPSIjMDAwIiBmaWx0ZXI9InVybCgjcHJlZml4X19hKSIgeGxpbms6aHJlZj0iI3ByZWZpeF9fYiIvPjxjaXJjbGUgc3Ryb2tlPSIjRkZGIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVqb2luPSJzcXVhcmUiIGZpbGw9IiM0ODcxRjEiIGN4PSIzMCIgY3k9IjMwIiByPSI5LjMiLz48L2c+PC9zdmc+";
5429
+ const imgPassengerSmallArrow = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMzQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxmaWx0ZXIgeD0iLTI4LjYlIiB5PSItMjguNiUiIHdpZHRoPSIxNTcuMSUiIGhlaWdodD0iMTU3LjElIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJwcmVmaXhfX2EiPjxmZU9mZnNldCBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIi8+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIi8+PGZlQ29tcG9zaXRlIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0ib3V0IiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiLz48ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMjQgMCIgaW49InNoYWRvd0JsdXJPdXRlcjEiLz48L2ZpbHRlcj48Y2lyY2xlIGlkPSJwcmVmaXhfX2IiIGN4PSIxMC41IiBjeT0iMTkuNSIgcj0iMTAuNSIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiM0NDcxRkYiIGQ9Ik0xNC40ODEgMGw2LjYwMyAxMy4xODFINy44Nzl6Ii8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNCkiPjx1c2UgZmlsbD0iIzAwMCIgZmlsdGVyPSJ1cmwoI3ByZWZpeF9fYSkiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2IiLz48Y2lyY2xlIHN0cm9rZT0iI0ZGRiIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lam9pbj0ic3F1YXJlIiBmaWxsPSIjNDg3MUYxIiBjeD0iMTAuNSIgY3k9IjE5LjUiIHI9IjkuMyIvPjwvZz48L2c+PC9zdmc+";
3797
5430
  const imgPassengerSmall = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxmaWx0ZXIgeD0iLTMwJSIgeT0iLTMwJSIgd2lkdGg9IjE2MCUiIGhlaWdodD0iMTYwJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0icHJlZml4X19hIj48ZmVPZmZzZXQgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSIvPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjIiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSIvPjxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93Qmx1ck91dGVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9Im91dCIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIi8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwLjI0IDAiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIi8+PC9maWx0ZXI+PGNpcmNsZSBpZD0icHJlZml4X19iIiBjeD0iMTU3IiBjeT0iMzUyIiByPSIxMCIvPjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQzIC0zMzgpIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iIzAwMCIgZmlsdGVyPSJ1cmwoI3ByZWZpeF9fYSkiIHhsaW5rOmhyZWY9IiNwcmVmaXhfX2IiLz48Y2lyY2xlIHN0cm9rZT0iI0ZGRiIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lam9pbj0ic3F1YXJlIiBmaWxsPSIjNDg3MUYxIiBjeD0iMTU3IiBjeT0iMzUyIiByPSI4LjgiLz48L2c+PC9zdmc+";
3798
5431
  const PassengerCircle_css_ts_vanilla = "";
3799
- var passengerCircle = createRuntimeFn({ defaultClassName: "_1l6offo0", variantClassNames: { size: { small: "_1l6offo1", large: "_1l6offo2" } }, defaultVariants: {}, compoundVariants: [] });
5432
+ var passengerCircle = createRuntimeFn({ defaultClassName: "_1l6offo0", variantClassNames: { type: { small: "_1l6offo1", smallArrow: "_1l6offo2", large: "_1l6offo3", largeArrow: "_1l6offo4" } }, defaultVariants: {}, compoundVariants: [] });
3800
5433
  const APassengerCircle = defineSetup(function APassengerCircle2(props) {
3801
5434
  const contentRef = Vue.computed(() => {
3802
5435
  const {
3803
- size = "large"
5436
+ size = "large",
5437
+ angle
3804
5438
  } = props;
3805
- const src = size === "large" ? imgPassengerCircle : imgPassengerSmall;
5439
+ const src = size === "large" ? angle === void 0 ? imgPassengerCircle : imgPassengerCircleArrow : angle === void 0 ? imgPassengerSmall : imgPassengerSmallArrow;
5440
+ const style2 = angle === void 0 ? "" : `transform: rotate(var(${angle}))`;
5441
+ const type = size === "large" ? angle === void 0 ? "large" : "largeArrow" : angle === void 0 ? "small" : "smallArrow";
3806
5442
  return `
3807
5443
  <img src="${src}" class="${passengerCircle({
3808
- size
3809
- })}">
5444
+ type
5445
+ })}" style="${style2}">
3810
5446
  `;
3811
5447
  });
3812
5448
  return () => {
@@ -3824,14 +5460,18 @@ const APassengerCircle = defineSetup(function APassengerCircle2(props) {
3824
5460
  const GPassengerCircle = defineSetup(function GPassengerCircle2(props) {
3825
5461
  const contentRef = Vue.computed(() => {
3826
5462
  const {
3827
- size = "large"
5463
+ size = "large",
5464
+ angle
3828
5465
  } = props;
3829
- const src = size === "large" ? imgPassengerCircle : imgPassengerSmall;
5466
+ const src = size === "large" ? angle === void 0 ? imgPassengerCircle : imgPassengerCircleArrow : angle === void 0 ? imgPassengerSmall : imgPassengerSmallArrow;
5467
+ const style2 = angle === void 0 ? "" : `transform: rotate(var(${angle}))`;
5468
+ const type = size === "large" ? angle === void 0 ? "large" : "largeArrow" : angle === void 0 ? "small" : "smallArrow";
3830
5469
  return createDom("img", {
3831
5470
  class: passengerCircle({
3832
- size
5471
+ type
3833
5472
  }),
3834
- src
5473
+ src,
5474
+ style: style2
3835
5475
  });
3836
5476
  });
3837
5477
  return () => Vue.h(GmapAdvancedMarkerView, {
@@ -3855,6 +5495,7 @@ const ConditionalFittablePassengerCircle = defineSetup(function ConditionalFitta
3855
5495
  return () => {
3856
5496
  const {
3857
5497
  position,
5498
+ angle,
3858
5499
  condition,
3859
5500
  registerOverlay
3860
5501
  } = props;
@@ -3870,6 +5511,7 @@ const ConditionalFittablePassengerCircle = defineSetup(function ConditionalFitta
3870
5511
  return Vue.h("div", [Vue.h(PassengerCircle, {
3871
5512
  "attrs": {
3872
5513
  "position": position,
5514
+ "angle": angle,
3873
5515
  "size": "small",
3874
5516
  "registerOverlay": registerOverlay
3875
5517
  }
@@ -4101,7 +5743,7 @@ const PickupPoints = defineSetup(function PickupPoints2(props, {
4101
5743
  return () => {
4102
5744
  return Vue.h("div", [props.places.map((place, idx) => {
4103
5745
  const direction = directions.value[idx];
4104
- const label2 = renderLabel ? renderLabel(place) : place.name;
5746
+ const label2 = renderLabel ? renderLabel(place) : place.displayName;
4105
5747
  return Vue.h(PlaceCircle, {
4106
5748
  "attrs": {
4107
5749
  "position": place2point(place),
@@ -4144,6 +5786,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
4144
5786
  const pipedGetRecomendPlace = pipeOnlyLastEffect(getRecomendPlace);
4145
5787
  const {
4146
5788
  mapRef,
5789
+ mapElementRef,
4147
5790
  setMap,
4148
5791
  panTo
4149
5792
  } = useHeycarMap();
@@ -4164,7 +5807,8 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
4164
5807
  const centerPlace = Vue.reactive({
4165
5808
  lng: (_a = geoDefaultPosition == null ? void 0 : geoDefaultPosition[0]) != null ? _a : 0,
4166
5809
  lat: (_b = geoDefaultPosition == null ? void 0 : geoDefaultPosition[1]) != null ? _b : 0,
4167
- name: ""
5810
+ name: "",
5811
+ displayName: ""
4168
5812
  });
4169
5813
  const centerPoint = Vue.computed(() => [centerPlace.lng, centerPlace.lat]);
4170
5814
  const centerSource = {
@@ -4180,6 +5824,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
4180
5824
  centerPlace.lng = place.lng;
4181
5825
  centerPlace.lat = place.lat;
4182
5826
  centerPlace.name = place.name;
5827
+ centerPlace.displayName = place.displayName;
4183
5828
  emit("changePlace", {
4184
5829
  ...place
4185
5830
  });
@@ -4191,10 +5836,16 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
4191
5836
  centerPlace.lng = place.lng;
4192
5837
  centerPlace.lat = place.lat;
4193
5838
  centerPlace.name = place.name;
5839
+ centerPlace.displayName = place.displayName;
4194
5840
  };
4195
5841
  const defaultCenterPlacePromise = new Promise((resolve) => {
4196
5842
  getDefaultCenterPlace().then(resolve).catch(() => resolve(void 0));
4197
5843
  });
5844
+ const {
5845
+ orientation
5846
+ } = useDeviceOrientation({
5847
+ elementRef: mapElementRef
5848
+ });
4198
5849
  const {
4199
5850
  geoPosition,
4200
5851
  geoError,
@@ -4299,7 +5950,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
4299
5950
  recomendDescription,
4300
5951
  unavailableTitle
4301
5952
  } = props;
4302
- const title = geoLoading.value ? geoLoadingTitle : !availableRef.value ? unavailableTitle : centerPlace.name;
5953
+ const title = geoLoading.value ? geoLoadingTitle : !availableRef.value ? unavailableTitle : centerPlace.displayName;
4303
5954
  const description = !availableRef.value ? void 0 : isElectedRef.value ? recomendDescription : void 0;
4304
5955
  return Vue.h(HeycarMap, {
4305
5956
  "attrs": {
@@ -4312,12 +5963,13 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
4312
5963
  }
4313
5964
  }, [!geoLoading.value && !geoError.value && Vue.h(PassengerCircle, {
4314
5965
  "attrs": {
4315
- "position": geoPosition.value
5966
+ "position": geoPosition.value,
5967
+ "angle": orientation.cssRotationVariableName
4316
5968
  }
4317
5969
  }), zoomRef.value >= RECOMMEND_PLACE_ZOOM_MIN && Vue.h(PickupPoints, {
4318
5970
  "attrs": {
4319
5971
  "places": placeCandidates.value,
4320
- "renderLabel": (place) => isPlaceEqual(place, centerPlace) ? void 0 : place.name
5972
+ "renderLabel": (place) => isPlaceEqual(place, centerPlace) ? void 0 : place.displayName
4321
5973
  },
4322
5974
  "on": {
4323
5975
  "click": setCenterByPlace
@@ -4731,7 +6383,7 @@ const SectionDispatching = defineSetup(function SectionDispatching2(props) {
4731
6383
  }), Vue.h(PlaceCircle, {
4732
6384
  "attrs": {
4733
6385
  "position": from,
4734
- "label": fromPlace.name,
6386
+ "label": fromPlace.displayName,
4735
6387
  "hideIcon": true
4736
6388
  }
4737
6389
  }), Vue.h(FitViewOnce, {
@@ -4750,6 +6402,7 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
4750
6402
  from: fromPlace,
4751
6403
  to: toPlace,
4752
6404
  passengerPosition,
6405
+ passengerAngle,
4753
6406
  registerOverlay
4754
6407
  } = props;
4755
6408
  const from = place2point(fromPlace);
@@ -4770,6 +6423,7 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
4770
6423
  }), Vue.h(ConditionalFittablePassengerCircle, {
4771
6424
  "attrs": {
4772
6425
  "position": passengerPosition,
6426
+ "angle": passengerAngle,
4773
6427
  "condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
4774
6428
  "registerOverlay": registerOverlay
4775
6429
  }
@@ -4788,13 +6442,13 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
4788
6442
  }), Vue.h(PlaceCircle, {
4789
6443
  "attrs": {
4790
6444
  "position": from,
4791
- "label": fromPlace.name,
6445
+ "label": fromPlace.displayName,
4792
6446
  "hideIcon": true
4793
6447
  }
4794
6448
  }), Vue.h(PlaceCircle, {
4795
6449
  "attrs": {
4796
6450
  "position": to,
4797
- "label": toPlace.name,
6451
+ "label": toPlace.displayName,
4798
6452
  "hideIcon": true
4799
6453
  }
4800
6454
  }), Vue.h(FitViewOnce, {
@@ -4814,6 +6468,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
4814
6468
  carPosition,
4815
6469
  carAngle,
4816
6470
  passengerPosition,
6471
+ passengerAngle,
4817
6472
  renderTitle,
4818
6473
  registerOverlay
4819
6474
  } = props;
@@ -4823,6 +6478,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
4823
6478
  return Vue.h("div", [Vue.h(ConditionalFittablePassengerCircle, {
4824
6479
  "attrs": {
4825
6480
  "position": passengerPosition,
6481
+ "angle": passengerAngle,
4826
6482
  "condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
4827
6483
  "registerOverlay": registerOverlay
4828
6484
  }
@@ -4835,7 +6491,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
4835
6491
  }), Vue.h(PlaceCircle, {
4836
6492
  "attrs": {
4837
6493
  "position": from,
4838
- "label": fromPlace.name,
6494
+ "label": fromPlace.displayName,
4839
6495
  "hideIcon": true
4840
6496
  }
4841
6497
  }), !carPosition || !carDistance ? null : carDistance > CAR_DISTANCE_MIN ? Vue.h(DrivingRoute, {
@@ -4915,6 +6571,7 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
4915
6571
  from: fromPlace,
4916
6572
  to: toPlace,
4917
6573
  passengerPosition,
6574
+ passengerAngle,
4918
6575
  registerOverlay
4919
6576
  } = props;
4920
6577
  const from = place2point(fromPlace);
@@ -4947,6 +6604,7 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
4947
6604
  }), Vue.h(ConditionalFittablePassengerCircle, {
4948
6605
  "attrs": {
4949
6606
  "position": passengerPosition,
6607
+ "angle": passengerAngle,
4950
6608
  "condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
4951
6609
  "registerOverlay": registerOverlay
4952
6610
  }
@@ -4965,13 +6623,13 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
4965
6623
  }), Vue.h(PlaceCircle, {
4966
6624
  "attrs": {
4967
6625
  "position": from,
4968
- "label": fromPlace.name,
6626
+ "label": fromPlace.displayName,
4969
6627
  "hideIcon": true
4970
6628
  }
4971
6629
  }), Vue.h(PlaceCircle, {
4972
6630
  "attrs": {
4973
6631
  "position": to,
4974
- "label": toPlace.name,
6632
+ "label": toPlace.displayName,
4975
6633
  "hideIcon": true
4976
6634
  }
4977
6635
  }), Vue.h(FitViewOnce, {
@@ -4991,6 +6649,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
4991
6649
  carPosition,
4992
6650
  carAngle,
4993
6651
  passengerPosition,
6652
+ passengerAngle,
4994
6653
  title,
4995
6654
  registerOverlay
4996
6655
  } = props;
@@ -5011,6 +6670,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
5011
6670
  }), Vue.h(ConditionalFittablePassengerCircle, {
5012
6671
  "attrs": {
5013
6672
  "position": passengerPosition,
6673
+ "angle": passengerAngle,
5014
6674
  "condition": !!passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX,
5015
6675
  "registerOverlay": registerOverlay
5016
6676
  }
@@ -5035,7 +6695,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
5035
6695
  }), Vue.h(PlaceCircle, {
5036
6696
  "attrs": {
5037
6697
  "position": from,
5038
- "label": fromPlace.name,
6698
+ "label": fromPlace.displayName,
5039
6699
  "hideIcon": true
5040
6700
  }
5041
6701
  }), Vue.h(FitViewOnce, {
@@ -5117,7 +6777,7 @@ const SectionInService = defineSetup(function SectionInService2(props) {
5117
6777
  }), Vue.h(PlaceCircle, {
5118
6778
  "attrs": {
5119
6779
  "position": to,
5120
- "label": toPlace.name,
6780
+ "label": toPlace.displayName,
5121
6781
  "hideIcon": true
5122
6782
  }
5123
6783
  }), Vue.h(FitViewOnce, {
@@ -5151,13 +6811,13 @@ const SectionCanceled = defineSetup(function SectionCanceled2(props) {
5151
6811
  }), Vue.h(PlaceCircle, {
5152
6812
  "attrs": {
5153
6813
  "position": from,
5154
- "label": fromPlace.name,
6814
+ "label": fromPlace.displayName,
5155
6815
  "hideIcon": true
5156
6816
  }
5157
6817
  }), Vue.h(PlaceCircle, {
5158
6818
  "attrs": {
5159
6819
  "position": to,
5160
- "label": toPlace.name,
6820
+ "label": toPlace.displayName,
5161
6821
  "hideIcon": true
5162
6822
  }
5163
6823
  }), Vue.h(FitViewOnce, {
@@ -5204,13 +6864,13 @@ const SectionEndService = defineSetup(function SectionEndService2(props) {
5204
6864
  }), Vue.h(PlaceCircle, {
5205
6865
  "attrs": {
5206
6866
  "position": from,
5207
- "label": fromPlace.name,
6867
+ "label": fromPlace.displayName,
5208
6868
  "hideIcon": true
5209
6869
  }
5210
6870
  }), Vue.h(PlaceCircle, {
5211
6871
  "attrs": {
5212
6872
  "position": to,
5213
- "label": toPlace.name,
6873
+ "label": toPlace.displayName,
5214
6874
  "hideIcon": true
5215
6875
  }
5216
6876
  }), Vue.h(FitViewOnce, {
@@ -5266,16 +6926,25 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
5266
6926
  const {
5267
6927
  interval,
5268
6928
  registerOverlay,
5269
- mapRef,
6929
+ mapRef: outerSetMap,
5270
6930
  getDriverPosition,
5271
6931
  renderStartSerivceTitle,
5272
6932
  renderInServiceTitle
5273
6933
  } = props;
5274
6934
  const deferedSetFitView = pipeDefer(registerOverlay.setFitView);
6935
+ const {
6936
+ setMap,
6937
+ mapElementRef
6938
+ } = useHeycarMap();
5275
6939
  const {
5276
6940
  geoPosition,
5277
6941
  geoError
5278
6942
  } = useGeoLocation();
6943
+ const {
6944
+ orientation
6945
+ } = useDeviceOrientation({
6946
+ elementRef: mapElementRef
6947
+ });
5279
6948
  const carPositionRef = Vue.ref();
5280
6949
  const carAngleRef = Vue.ref();
5281
6950
  const {
@@ -5316,11 +6985,12 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
5316
6985
  const carAngle = carAngleRef.value;
5317
6986
  const touchEnable = !["canceled", "canceling", "completed", "endService", "waitpay", "waitRechargePay", "refund", "rechargePayed", "payed"].includes(driverStatus);
5318
6987
  const passengerPosition = geoError.value ? void 0 : geoPosition.value;
6988
+ const passengerAngle = orientation.cssRotationVariableName;
5319
6989
  return Vue.h(HeycarMap, {
5320
6990
  "attrs": {
5321
6991
  "center": place2point(from),
5322
6992
  "zoom": 13,
5323
- "mapRef": mapRef,
6993
+ "mapRef": combineHandler(outerSetMap, setMap),
5324
6994
  "touchEnable": touchEnable
5325
6995
  },
5326
6996
  "on": {
@@ -5343,6 +7013,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
5343
7013
  "from": from,
5344
7014
  "to": to,
5345
7015
  "passengerPosition": passengerPosition,
7016
+ "passengerAngle": passengerAngle,
5346
7017
  "registerOverlay": registerOverlay
5347
7018
  }
5348
7019
  }) : driverStatus === "dispatched" || driverStatus === "driverStartService" || driverStatus === "book-driverStartService" ? Vue.h(SectionDriverStartService, {
@@ -5351,6 +7022,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
5351
7022
  "carPosition": carPosition,
5352
7023
  "carAngle": carAngle,
5353
7024
  "passengerPosition": passengerPosition,
7025
+ "passengerAngle": passengerAngle,
5354
7026
  "renderTitle": renderStartSerivceTitle,
5355
7027
  "registerOverlay": registerOverlay
5356
7028
  }
@@ -5359,6 +7031,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
5359
7031
  "from": from,
5360
7032
  "to": to,
5361
7033
  "passengerPosition": passengerPosition,
7034
+ "passengerAngle": passengerAngle,
5362
7035
  "registerOverlay": registerOverlay
5363
7036
  }
5364
7037
  }) : driverStatus === "inService" ? Vue.h(SectionInService, {
@@ -5375,6 +7048,7 @@ const BusinessTaxiServiceMap = defineLagecySetup(function BusinessTaxiServiceMap
5375
7048
  "carPosition": carPosition,
5376
7049
  "carAngle": carAngle,
5377
7050
  "passengerPosition": passengerPosition,
7051
+ "passengerAngle": passengerAngle,
5378
7052
  "title": driverArrivedTitle,
5379
7053
  "registerOverlay": registerOverlay
5380
7054
  }
@@ -5414,10 +7088,12 @@ const useBusinessRecomendPlaceMap = () => {
5414
7088
  const centerPlace = Vue.reactive({
5415
7089
  lng: 0,
5416
7090
  lat: 0,
5417
- name: ""
7091
+ name: "",
7092
+ displayName: ""
5418
7093
  });
5419
7094
  const placeCandidates = Vue.ref([]);
5420
7095
  const { apiMapDistance } = useMapGeometry();
7096
+ const { inChina } = useMapInChina();
5421
7097
  const panToGeoPositionByRecomend = (value) => mapContext.panToGeoPositionByRecomend(value);
5422
7098
  const setCenterPlaceByUserSpecified = (value) => mapContext.setCenterPlaceByUserSpecified(value);
5423
7099
  const mapContext = {
@@ -5440,7 +7116,8 @@ const useBusinessRecomendPlaceMap = () => {
5440
7116
  placeCandidates,
5441
7117
  panToGeoPositionByRecomend,
5442
7118
  setCenterPlaceByUserSpecified,
5443
- apiMapDistance
7119
+ apiMapDistance,
7120
+ apiMapInChina: inChina
5444
7121
  };
5445
7122
  };
5446
7123
  const useBusinessTaxiServiceMap = () => {