我正在尝试添加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>
答案 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>
所有Google Maps JavaScript API应用程序都需要身份验证。
同样,Versioning表示
您可以通过指定Google Maps JavaScript API引导请求的
v
参数来指明要在应用中加载的API版本。
如果添加API密钥不适合您,那么此SO帖子 - google.maps.places is undefined可能会为您提供所需的解决方案。