2017-02-16 3 views
0
<script src="https://maps.googleapis.com/maps/api/js?key=KEY&libraries=places" type="text/javascript"></script> 

<script> 
function initialize() { 

    var input = document.getElementById('searchTextField'); 
    var autocomplete = new google.maps.places.Autocomplete(input); 

    autocomplete.addListener('place_changed', function(){ 
     console.log(autocomplete.getPlace()); 
    }); 
} 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

<input id="searchTextField" type="text" size="50"> 

С консоли в моем браузере я вижу, что getPlace.geometry.location.lat пуст. Я что-то упускаю?google autocomplete не возвращает lat long

+0

'getPlace.geometry.location.lat' является функцией, вам нужно вызвать его, чтобы получить его значение. – geocodezip

+0

@geocodezip Да, я знаю. Но я вижу на консоли в своем браузере, что это значение пустое? – vandelay

+0

Что бы вы ожидали увидеть для значения функции? – geocodezip

ответ

2

getPlace.geometry.location.lat - это функция, которую необходимо назвать, чтобы получить ее значение (getPlace.geometry.location.lat()).

getPlace.geometry.location.toUrlValue(6) предоставит вам координаты, разделенные запятой.

фрагмент кода:

function initialize() { 
 
    var input = document.getElementById('searchTextField'); 
 
    var autocomplete = new google.maps.places.Autocomplete(input); 
 

 
    autocomplete.addListener('place_changed', function() { 
 
    console.log("lat=" + autocomplete.getPlace().geometry.location.lat()); 
 
    console.log(autocomplete.getPlace().geometry.location.toUrlValue(6)); 
 
    }); 
 
} 
 

 
google.maps.event.addDomListener(window, 'load', initialize);
<script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script> 
 
<input id="searchTextField" type="text" size="50">

+0

Хорошо, спасибо. Я думал, что он пуст, так как я не мог найти значение геометрии -> location -> lat в моей консоли браузера, где я могу развернуть словарь. – vandelay