0

我试图将我从游戏中获得的坐标转换为使用Google地图V3的自定义图像地图。将坐标转换为Google地图V3 LatLng

我从游戏中得到的COORDS均为15360.介于0和在自定义映射东北角LatLng是(95,180)和西南角LatLng是(-82.5,-180)。

所以,我的功能从游戏COORDS转换到谷歌地图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

您正在使用错误的纬度值。您的值是LatLng(95,180)。纬度的最大值是90,所以这很可能截止到(90,180)。

例如,使用

new google.maps.LatLng(95, 180); 

我对象:

Q {nb: 90, ob: 180, toString: function, ... 
相关问题