【发布时间】:2017-04-17 19:33:42
【问题描述】:
我已经被困了一段时间了......
我想要做的是在穿过 w180 时包装一个 latLng 以存储坐标,所以我这样做:
latLng = latLng.wrap()
而且效果很好。但后来我想显示那个原始值。
基本上归结为对这些操作进行逆向工程:
var max = 180;
var min = -180;
var d = max - min;
var lng = latLng.lng === max ? latLng.lng : ((latLng.lng - min) % d + d) % d + min;
var lat = latLng.lat === max ? latLng.lat : ((latLng.lat - min) % d + d) % d + min;
return new L.latLng(lat, lng);
由于这个等式中的模运算,我真的很挣扎。
任何帮助将不胜感激!
【问题讨论】:
-
我注意到您对纬度和经度使用了相同的公式。对于纬度,范围是 90N 到 90S 而不是 180。
-
@Salixalba 很好,我会解决这个问题。谢谢!
标签: javascript math leaflet reverse-engineering modulus