谷歌地图自动完成地点未定义

时间:2016-07-22 10:03:28

标签: javascript google-maps

我正在尝试添加Google地图的自动完成功能。 但我得到一个错误“地方未定义”。

    <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 个答案:

答案 0 :(得分: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中所述,

  

所有Google Maps JavaScript API应用程序都需要身份验证。

同样,Versioning表示

  

您可以通过指定Google Maps JavaScript API引导请求的v参数来指明要在应用中加载的API版本。

如果添加API密钥不适合您,那么此SO帖子 - google.maps.places is undefined可能会为您提供所需的解决方案。