Я застрял на этом некоторое время теперь ...листовка реверс операция wrapLatLng
То, что я хочу сделать, это обернуть LatLng, когда он пересекает W180 для хранения координат таким образом я:
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);
Я действительно борюсь из-за операции по модулю в этом уравнении.
Любая помощь была бы принята с благодарностью!
Это может помочь: [StackOverflow: Как рассчитать обратный модуль] (http://stackoverflow.com/a/12218749/2441511) – user2441511
Замечу, вы используете ту же формулу для широты и долго. Для широт диапазон от 90N до 90S, а не 180. –
@Salixalba Хороший улов, я обращусь к этому. Спасибо! –