gmaps v3 получить широту от event.latLng - PullRequest
22 голосов
/ 20 мая 2010

У меня старое приложение gmaps, использующее V2, и я пытаюсь обновить его до v3.

У меня действительно простая проблема, но я пока не могу найти решение.

Как я могу удалить широту и долготу из "event.latLng"?
Он возвращает point(), но мне нужен только один лат и длинный для себя.

Я не могу заставить это работать.

1 Ответ

52 голосов
/ 20 мая 2010

Согласно API для MouseEvents, event.latLng содержит LatLng, а не Point. Если это так, то вы можете использовать методы lat() и lng(), чтобы получить значения отдельно. Если event.latLng на самом деле Point, то вы можете напрямую получить доступ к координатам, используя свойства x и y (не методы).

Какой тип слушателя создает событие?


Редактировать: есть пример в уроке о том, как делать то, что вы хотите. Похоже, вы уже следите за этим. Вы не забыли включить фактическое объявление функции placeMarker()?

function placeMarker(location) {
    var clickedLocation = new google.maps.LatLng(location);
    var marker = new google.maps.Marker({
        position: location, 
        map: map
    });
    map.setCenter(location);
}

Или вы не заинтересованы в размещении маркера и просто хотите получить значения lat и lng? В этом случае все, что вам нужно, это:

google.maps.event.addListener(map, 'click', function(event) {
    var myLatLng = event.latLng;
    var lat = myLatLng.lat();
    var lng = myLatLng.lng();
})
...