|
|
|
@@ -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 |
|
|
|
} |
|
|
|
} |
|
|
|
|