2015-11-25 2 views
-1

Я использую google maps api. и вызвали map.getBounds() внутри события "bounds_changed".Карты Google getBounds() Возвращение недопустимых значений

Я не могу выдержать ценность, которую я получаю.

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

В чем смысл этого значения. Я хочу преобразовать его в Северо-Восточный и Юго-западный пункты.

Благодаря

UPDATE ::

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

Результат: Map Bounds: , {"ne":{},"sw":{}}

ответ

1

Это объект LatLngBounds. Вам не нужно понимать, что вы получаете, если вы выводите его на консоль. Просто позвоните getNorthEast() и getSouthWest(), чтобы получить свои очки.

например.

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

См https://developers.google.com/maps/documentation/javascript/reference#LatLngBounds

Чтобы затем получить значения LAT/LNG каждой из этих точек, так что вы можете использовать его с Parse.GeoPoint, вы должны быть в состоянии сделать что-то вроде этого (я не знакомо с разбором, но получили эту from their docs):

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

b = map.getBounds(); \t \t \t \t вар границы = { \t \t \t \t "пе": b.getNorthEast(), \t \t \t \t "SW": b.getSouthWest() \t \t}; \t \t console.log («Границы карты:», JSON.stringify (bounds)); Результат: Границы карты:, {"ne": {}, "sw": {}} –

+0

что вы думаете? getNorthEast не возвращает строку JSON ... это объект LatLng, который затем можно использовать с картой. – duncan

+0

Я хочу преобразовать его в Parse.Query.withinGeoBox –

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 объекты.

Смежные вопросы