我试图适应x&我使用谷歌地图V3从游戏到自定义图像地图。
我从游戏中获得的坐标都在0到15360之间。在自定义地图中,NorthEast角落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);
}
但它并不适合这些职位。
我让NorthEast和SouthWest LatLng
制作标记并调整它们以查看它们何时位于我的图像映射的角落。
无论何时,当我使用map.getBounds()
我明白这一点:
map.getBounds().getNorthEast(); // nb: 89.76247963221984, ob: 180
map.getBounds().getSouthWest(); // nb: -87.43214656352167, ob: -180
答案 0 :(得分:0)
您在NorthEast角落使用了错误的纬度值。您的值为LatLng
(95,180)。纬度的最大值是90,所以这很可能被截止为(90,180)。
例如,使用
new google.maps.LatLng(95, 180);
我得到了对象:
Q {nb: 90, ob: 180, toString: function, ...