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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xy-map",
3
- "version": "1.1.57",
3
+ "version": "1.1.58",
4
4
  "description": "雄越地图",
5
5
  "main": "xy-map.umd.min.js",
6
6
  "scripts": {
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
- dLat = 0;
70754
- let mLng = lng,
70755
- mLat = lat;
70756
-
70757
- // 增加迭代次数到10次提高精度
70758
- for (let i = 0; i < 10; i++) {
70759
- // 使用wgs84ToGcj02获取当前估计值对应的gcj02坐标
70760
- let [gcjLng, gcjLat] = wgs84ToGcj02([mLng, mLat]);
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 dLat = transformLat(lng - 105.0, lat - 35.0);
70796
- let dLng = transformLng(lng - 105.0, lat - 35.0);
70797
- let radLat = lat / 180.0 * PI;
70798
- let magic = Math.sin(radLat);
70799
- magic = 1 - ee * magic * magic;
70800
- let sqrtMagic = Math.sqrt(magic);
70801
- dLat = dLat * 180.0 / (a * (1 - ee) / (magic * sqrtMagic) * PI);
70802
- dLng = dLng * 180.0 / (a / sqrtMagic * Math.cos(radLat) * PI);
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
- // GCJ-02 to WGS-84
70805
- let wgsLat = lat - dLat;
70806
- let wgsLng = lng - dLng;
70807
- return [wgsLng, wgsLat];
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
- dLat = 0;
70772
- let mLng = lng,
70773
- mLat = lat;
70774
-
70775
- // 增加迭代次数到10次提高精度
70776
- for (let i = 0; i < 10; i++) {
70777
- // 使用wgs84ToGcj02获取当前估计值对应的gcj02坐标
70778
- let [gcjLng, gcjLat] = wgs84ToGcj02([mLng, mLat]);
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 dLat = transformLat(lng - 105.0, lat - 35.0);
70814
- let dLng = transformLng(lng - 105.0, lat - 35.0);
70815
- let radLat = lat / 180.0 * PI;
70816
- let magic = Math.sin(radLat);
70817
- magic = 1 - ee * magic * magic;
70818
- let sqrtMagic = Math.sqrt(magic);
70819
- dLat = dLat * 180.0 / (a * (1 - ee) / (magic * sqrtMagic) * PI);
70820
- dLng = dLng * 180.0 / (a / sqrtMagic * Math.cos(radLat) * PI);
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
- // GCJ-02 to WGS-84
70823
- let wgsLat = lat - dLat;
70824
- let wgsLng = lng - dLng;
70825
- return [wgsLng, wgsLat];
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)经纬度坐标