Я пытаюсь сопоставить координаты x и y, которые я получаю из игры, с пользовательской картой изображения с помощью Google Maps V3.
Координаты, которые я получаю из игры, находятся между 0 и 15360. На пользовательской карте северо-восточный угол LatLng
равен (95, 180), а юго-западный угол LatLng
равен (-82,5, -180).
Итак, моя функция преобразования игровых координат в Google Map LatLng
такова:
function getLatLngFromCoords(x, y) {
x = parseFloat(x.replace(",", "."));
y = parseFloat(y.replace(",", "."));
var lng = x / (15360 / 360) - 180;
var lat = y / (15360 / 177.5) - 95;
return new google.maps.LatLng(lat, lng);
}
но это не соответствует позициям.
Я заставил Северо-Восток и Юго-Запад LatLng
сделать маркеры и настроить их, чтобы видеть, когда они были в углу моей карты изображения.
Везде, когда я получаю границы карты с map.getBounds()
Я вижу это:
map.getBounds().getNorthEast(); // nb: 89.76247963221984, ob: 180
map.getBounds().getSouthWest(); // nb: -87.43214656352167, ob: -180