xy-map 1.1.58 → 1.1.59

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.58",
3
+ "version": "1.1.59",
4
4
  "description": "雄越地图",
5
5
  "main": "xy-map.umd.min.js",
6
6
  "scripts": {
package/xy-map.common.js CHANGED
@@ -70779,23 +70779,20 @@ const gcj02ToWgs84 = coord => {
70779
70779
  return [lng, lat];
70780
70780
  }
70781
70781
 
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;
70792
-
70793
- // 如果精度已经足够高,提前退出循环
70794
- if (Math.abs(dLng) < 0.000000001 && Math.abs(dLat) < 0.000000001) {
70795
- break;
70796
- }
70797
- }
70798
- return [mLng, mLat];
70782
+ // 计算偏移量
70783
+ let dLat = transformLat(lng - 105.0, lat - 35.0);
70784
+ let dLng = transformLng(lng - 105.0, lat - 35.0);
70785
+ let radLat = lat / 180.0 * PI;
70786
+ let magic = Math.sin(radLat);
70787
+ magic = 1 - ee * magic * magic;
70788
+ let sqrtMagic = Math.sqrt(magic);
70789
+ dLat = dLat * 180.0 / (a * (1 - ee) / (magic * sqrtMagic) * PI);
70790
+ dLng = dLng * 180.0 / (a / sqrtMagic * Math.cos(radLat) * PI);
70791
+
70792
+ // GCJ-02 to WGS-84
70793
+ let wgsLat = lat - dLat;
70794
+ let wgsLng = lng - dLng;
70795
+ return [wgsLng, wgsLat];
70799
70796
  };
70800
70797
 
70801
70798
  // 3857墨卡托坐标系转换为4326 (WGS84)经纬度坐标
package/xy-map.umd.js CHANGED
@@ -70797,23 +70797,20 @@ const gcj02ToWgs84 = coord => {
70797
70797
  return [lng, lat];
70798
70798
  }
70799
70799
 
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;
70810
-
70811
- // 如果精度已经足够高,提前退出循环
70812
- if (Math.abs(dLng) < 0.000000001 && Math.abs(dLat) < 0.000000001) {
70813
- break;
70814
- }
70815
- }
70816
- return [mLng, mLat];
70800
+ // 计算偏移量
70801
+ let dLat = transformLat(lng - 105.0, lat - 35.0);
70802
+ let dLng = transformLng(lng - 105.0, lat - 35.0);
70803
+ let radLat = lat / 180.0 * PI;
70804
+ let magic = Math.sin(radLat);
70805
+ magic = 1 - ee * magic * magic;
70806
+ let sqrtMagic = Math.sqrt(magic);
70807
+ dLat = dLat * 180.0 / (a * (1 - ee) / (magic * sqrtMagic) * PI);
70808
+ dLng = dLng * 180.0 / (a / sqrtMagic * Math.cos(radLat) * PI);
70809
+
70810
+ // GCJ-02 to WGS-84
70811
+ let wgsLat = lat - dLat;
70812
+ let wgsLng = lng - dLng;
70813
+ return [wgsLng, wgsLat];
70817
70814
  };
70818
70815
 
70819
70816
  // 3857墨卡托坐标系转换为4326 (WGS84)经纬度坐标