2017-02-16 51 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是空的。我錯過了什麼嗎?谷歌自動完成不返回拉特長

+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

好吧,非常感謝。我認爲它是空的,因爲我無法在瀏覽器控制檯中找到geometry - > location - > lat的值,我可以展開字典。 – vandelay