Parcourir la source

fix: GCJ02ToWGS84 accuracy

tags/3.0.0
Disappear520 il y a 2 ans
Parent
révision
ca0ced379d
Aucun compte lié à l'adresse e-mail de l'auteur
1 fichiers modifiés avec 12 ajouts et 4 suppressions
  1. 12
    4
      modules/transform/CoordTransform.js

+ 12
- 4
modules/transform/CoordTransform.js Voir le fichier

@@ -73,10 +73,18 @@ class CoordTransform {
if (this.out_of_china(lng, lat)) {
return [lng, lat]
} else {
let d = this.delta(lng, lat)
let mgLng = lng + d[0]
let mgLat = lat + d[1]
return [lng * 2 - mgLng, lat * 2 - mgLat]
let out = [lng, lat]

let gcj02_point = this.WGS84ToGCJ02(lng, lat)
let dlng = gcj02_point[0] - lng
let dlat = gcj02_point[1] - lat
do {
gcj02_point = this.WGS84ToGCJ02((out[0] -= dlng), (out[1] -= dlat))
dlng = gcj02_point[0] - lng
dlat = gcj02_point[1] - lat
} while (Math.abs(dlng) > 1e-7 || Math.abs(dlat) > 1e-7)

return out
}
}


Chargement…
Annuler
Enregistrer