2016-07-22 128 views
1

我想添加谷歌地圖的自動完成功能。 但我得到一個錯誤「地點未定義」。谷歌地圖自動完成的地方undefined

<html> 
    <body> 

    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script> 
    <script type="text/javascript"> 
google.maps.event.addDomListener(window, 'load', function() { 
    var places = new google.maps.places.Autocomplete(document.getElementById('txtPlaces')); 
    google.maps.event.addListener(places, 'place_changed', function() { 
     var place = places.getPlace(); 
     var address = place.formatted_address; 
     var latitude = place.geometry.location.lat(); 
     var longitude = place.geometry.location.lng(); 
     var mesg = "Address: " + address; 
     mesg += "\nLatitude: " + latitude; 
     mesg += "\nLongitude: " + longitude; 
     alert(mesg); 
    }); 
}); 
    </script> 
    <span>Location:</span> 
    <input type="text" id="txtPlaces" style="width: 250px" placeholder="Enter a location" /> 
    </body> 
    </html> 

回答

1

請嘗試更換:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script> 

與此:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&key=YOUR_API_KEY&sensor=false&libraries=places"></script> 

正如Get a Key/Authentication提到,

所有的谷歌地圖的JavaScript API應用程序需要進行身份驗證。

同樣,Versioning指出,

您可以指示通過指定谷歌地圖的JavaScript API引導程序請求的v參數在應用程序載入的API版本。

如果添加API密鑰對您不起作用,則此SO帖子 - google.maps.places is undefined可能會爲您提供所需的解決方案。

+0

我試着替換腳本標籤,因爲你給。但我沒有得到任何自動填充的建議。有時它只適用於特定的信件。喜歡它只給字母'B'提供建議,沒有別的。 – user3266972

相關問題