xy-map 1.1.57 → 1.1.58
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/package.json +1 -1
- package/xy-map.common.js +27 -36
- package/xy-map.umd.js +27 -36
- package/xy-map.umd.min.js +1 -1
package/package.json
CHANGED
package/xy-map.common.js
CHANGED
|
@@ -70748,29 +70748,17 @@ const wgs84ToGcj02 = coord => {
|
|
|
70748
70748
|
if (outOfChina(lng, lat)) {
|
|
70749
70749
|
return [lng, lat];
|
|
70750
70750
|
}
|
|
70751
|
-
|
|
70752
|
-
let dLng = 0,
|
|
70753
|
-
|
|
70754
|
-
let
|
|
70755
|
-
|
|
70756
|
-
|
|
70757
|
-
|
|
70758
|
-
|
|
70759
|
-
|
|
70760
|
-
|
|
70761
|
-
|
|
70762
|
-
dLng = gcjLng - lng;
|
|
70763
|
-
dLat = gcjLat - lat;
|
|
70764
|
-
// 更新估计值
|
|
70765
|
-
mLng = mLng - dLng;
|
|
70766
|
-
mLat = mLat - dLat;
|
|
70767
|
-
|
|
70768
|
-
// 如果精度已经足够高,提前退出循环
|
|
70769
|
-
if (Math.abs(dLng) < 0.000000001 && Math.abs(dLat) < 0.000000001) {
|
|
70770
|
-
break;
|
|
70771
|
-
}
|
|
70772
|
-
}
|
|
70773
|
-
return [mLng, mLat];
|
|
70751
|
+
let dLat = transformLat(lng - 105.0, lat - 35.0);
|
|
70752
|
+
let dLng = transformLng(lng - 105.0, lat - 35.0);
|
|
70753
|
+
let radLat = lat / 180.0 * PI;
|
|
70754
|
+
let magic = Math.sin(radLat);
|
|
70755
|
+
magic = 1 - ee * magic * magic;
|
|
70756
|
+
let sqrtMagic = Math.sqrt(magic);
|
|
70757
|
+
dLat = dLat * 180.0 / (a * (1 - ee) / (magic * sqrtMagic) * PI);
|
|
70758
|
+
dLng = dLng * 180.0 / (a / sqrtMagic * Math.cos(radLat) * PI);
|
|
70759
|
+
let gcjLat = lat + dLat;
|
|
70760
|
+
let gcjLng = lng + dLng;
|
|
70761
|
+
return [gcjLng, gcjLat];
|
|
70774
70762
|
};
|
|
70775
70763
|
|
|
70776
70764
|
//高德坐标系Gcj02转换 WGS84
|
|
@@ -70791,20 +70779,23 @@ const gcj02ToWgs84 = coord => {
|
|
|
70791
70779
|
return [lng, lat];
|
|
70792
70780
|
}
|
|
70793
70781
|
|
|
70794
|
-
//
|
|
70795
|
-
let
|
|
70796
|
-
|
|
70797
|
-
|
|
70798
|
-
|
|
70799
|
-
|
|
70800
|
-
|
|
70801
|
-
|
|
70802
|
-
|
|
70782
|
+
// 增加迭代次数到10次提高精度
|
|
70783
|
+
for (let i = 0; i < 10; i++) {
|
|
70784
|
+
// 使用wgs84ToGcj02获取当前估计值对应的gcj02坐标
|
|
70785
|
+
let [gcjLng, gcjLat] = wgs84ToGcj02([mLng, mLat]);
|
|
70786
|
+
// 计算差值
|
|
70787
|
+
dLng = gcjLng - lng;
|
|
70788
|
+
dLat = gcjLat - lat;
|
|
70789
|
+
// 更新估计值
|
|
70790
|
+
mLng = mLng - dLng;
|
|
70791
|
+
mLat = mLat - dLat;
|
|
70803
70792
|
|
|
70804
|
-
|
|
70805
|
-
|
|
70806
|
-
|
|
70807
|
-
|
|
70793
|
+
// 如果精度已经足够高,提前退出循环
|
|
70794
|
+
if (Math.abs(dLng) < 0.000000001 && Math.abs(dLat) < 0.000000001) {
|
|
70795
|
+
break;
|
|
70796
|
+
}
|
|
70797
|
+
}
|
|
70798
|
+
return [mLng, mLat];
|
|
70808
70799
|
};
|
|
70809
70800
|
|
|
70810
70801
|
// 3857墨卡托坐标系转换为4326 (WGS84)经纬度坐标
|
package/xy-map.umd.js
CHANGED
|
@@ -70766,29 +70766,17 @@ const wgs84ToGcj02 = coord => {
|
|
|
70766
70766
|
if (outOfChina(lng, lat)) {
|
|
70767
70767
|
return [lng, lat];
|
|
70768
70768
|
}
|
|
70769
|
-
|
|
70770
|
-
let dLng = 0,
|
|
70771
|
-
|
|
70772
|
-
let
|
|
70773
|
-
|
|
70774
|
-
|
|
70775
|
-
|
|
70776
|
-
|
|
70777
|
-
|
|
70778
|
-
|
|
70779
|
-
|
|
70780
|
-
dLng = gcjLng - lng;
|
|
70781
|
-
dLat = gcjLat - lat;
|
|
70782
|
-
// 更新估计值
|
|
70783
|
-
mLng = mLng - dLng;
|
|
70784
|
-
mLat = mLat - dLat;
|
|
70785
|
-
|
|
70786
|
-
// 如果精度已经足够高,提前退出循环
|
|
70787
|
-
if (Math.abs(dLng) < 0.000000001 && Math.abs(dLat) < 0.000000001) {
|
|
70788
|
-
break;
|
|
70789
|
-
}
|
|
70790
|
-
}
|
|
70791
|
-
return [mLng, mLat];
|
|
70769
|
+
let dLat = transformLat(lng - 105.0, lat - 35.0);
|
|
70770
|
+
let dLng = transformLng(lng - 105.0, lat - 35.0);
|
|
70771
|
+
let radLat = lat / 180.0 * PI;
|
|
70772
|
+
let magic = Math.sin(radLat);
|
|
70773
|
+
magic = 1 - ee * magic * magic;
|
|
70774
|
+
let sqrtMagic = Math.sqrt(magic);
|
|
70775
|
+
dLat = dLat * 180.0 / (a * (1 - ee) / (magic * sqrtMagic) * PI);
|
|
70776
|
+
dLng = dLng * 180.0 / (a / sqrtMagic * Math.cos(radLat) * PI);
|
|
70777
|
+
let gcjLat = lat + dLat;
|
|
70778
|
+
let gcjLng = lng + dLng;
|
|
70779
|
+
return [gcjLng, gcjLat];
|
|
70792
70780
|
};
|
|
70793
70781
|
|
|
70794
70782
|
//高德坐标系Gcj02转换 WGS84
|
|
@@ -70809,20 +70797,23 @@ const gcj02ToWgs84 = coord => {
|
|
|
70809
70797
|
return [lng, lat];
|
|
70810
70798
|
}
|
|
70811
70799
|
|
|
70812
|
-
//
|
|
70813
|
-
let
|
|
70814
|
-
|
|
70815
|
-
|
|
70816
|
-
|
|
70817
|
-
|
|
70818
|
-
|
|
70819
|
-
|
|
70820
|
-
|
|
70800
|
+
// 增加迭代次数到10次提高精度
|
|
70801
|
+
for (let i = 0; i < 10; i++) {
|
|
70802
|
+
// 使用wgs84ToGcj02获取当前估计值对应的gcj02坐标
|
|
70803
|
+
let [gcjLng, gcjLat] = wgs84ToGcj02([mLng, mLat]);
|
|
70804
|
+
// 计算差值
|
|
70805
|
+
dLng = gcjLng - lng;
|
|
70806
|
+
dLat = gcjLat - lat;
|
|
70807
|
+
// 更新估计值
|
|
70808
|
+
mLng = mLng - dLng;
|
|
70809
|
+
mLat = mLat - dLat;
|
|
70821
70810
|
|
|
70822
|
-
|
|
70823
|
-
|
|
70824
|
-
|
|
70825
|
-
|
|
70811
|
+
// 如果精度已经足够高,提前退出循环
|
|
70812
|
+
if (Math.abs(dLng) < 0.000000001 && Math.abs(dLat) < 0.000000001) {
|
|
70813
|
+
break;
|
|
70814
|
+
}
|
|
70815
|
+
}
|
|
70816
|
+
return [mLng, mLat];
|
|
70826
70817
|
};
|
|
70827
70818
|
|
|
70828
70819
|
// 3857墨卡托坐标系转换为4326 (WGS84)经纬度坐标
|