Google Maps getBounds()返回非法值

时间:2015-11-25 12:54:28

标签: google-maps google-maps-api-3 parse-platform

我正在使用谷歌地图api。 并且在事件" bounds_changed"。

中调用了map.getBounds()

我无法理解我得到的价值。

handler: function(){
    var w = Ext.create('Ext.window.Window', {
        height: 150,
        width: 200,
        title: 'child window',
    });

    this.up('fieldset').add(w);
    w.show();
}

此值的含义是什么。我想把它转换成东北和西南点。

由于

UPDATE ::

{
    "O": {
        "O": 34.83243634643437,
        "j": 40.622842157331945
    },
    "j": {
        "j": -124.47192400611777,
        "O":-120.35205095924277
    }
}

结果:b = map.getBounds(); var bounds = { "ne": b.getNorthEast(), "sw": b.getSouthWest() }; console.log("Map Bounds: ", JSON.stringify(bounds));

2 个答案:

答案 0 :(得分:1)

这是一个LatLngBounds对象。如果将其输出到控制台,则无需了解所获得的内容。只需拨打getNorthEast()getSouthWest()即可获得积分。

e.g。

bounds = map.getBounds();
NEPoint = bounds.getNorthEast();
SWPoint = bounds.getSouthWest();

请参阅https://developers.google.com/maps/documentation/javascript/reference#LatLngBounds

然后获取每个点的lat / lng值以便你可以将它与Parse.GeoPoint一起使用,你应该可以做这样的事情(我不熟悉Parse,但得到了这个{{3 }}):

northEastCorner = new Parse.GeoPoint(NEPoint.lat(), NEPoint.lng());
southWestCorner = new Parse.GeoPoint(SWPoint.lat(), SWPoint.lng());

query = new Parse.Query.withinGeoBox(key, southWestCorner, northEastCorner);

答案 1 :(得分:0)

API documentation getBounds()方法返回google.maps.LatLngBounds个对象。您正在查看其toString方法的结果。您需要执行以下操作:

var bounds = map.getBounds();
var NE = bounds.getNorthEast();
var SW = bounds.getSouthWest();

确保您了解NE和SW对象是google.maps.LatLng个对象。