Подтвердить что ты не робот

Объект PlaceResult возвращает широту/долготу как объект, не уверен, как получить их отдельно

Я тестирую функцию автозаполнения Google Адресов здесь:

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

Я хочу получить широту и долготу места, но у меня проблемы. Когда я использую следующий код:

var place = autocomplete.getPlace();
console.log(place.geometry.location);

Я возвращаю это:

enter image description here

Когда я использую его в infoWindow, как это:

infowindow.setContent('
<div><strong>' + place.name + '</strong><br>' + place.geometry.location);

place.geometry.location затем отображается следующим образом:

(53.539834, -113.49402099999998)

Все, что я хочу сделать, это получить lat и lng отдельно. place.geometry.location.lat не работает. Не уверен, что еще делать.

4b9b3361

Ответ 1

Вы можете использовать это.

var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();  

Ответ 2

Он отлично работает для меня.

marker.setIcon(image);

marker.setPosition(place.geometry.location);

var address = '';
if (place.address_components) {
    address = [
        (place.address_components[0] && place.address_components[0].short_name || ''),
        (place.address_components[1] && place.address_components[1].short_name || ''),
        (place.address_components[2] && place.address_components[2].short_name || '')
    ].join(' ');
}
alert(place.geometry.location.lat());
alert(place.geometry.location.lng());
infowindow.setContent('<div><strong>' + place.name + '</strong><br>' + address);
infowindow.open(map, marker);

Ответ 3

Вы можете использовать:

var LatLng = place.geometry.location.toJSON();