5

我正在尝试使用 Google Places API 中的自动完成功能。我已经设置并工作了自动完成本身,但我想添加一个侦听器,以便我可以在其他地方使用来自 PlacesResult 的信息。

为了测试功能,我试图通过打开一个警报框并将 place.name 写入 . 这两件事都不起作用,所以我想监听器显然配置错误,但我不知道我是怎么写错的。

<!-- Load Places Library for Google Maps-->
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false">
</script>

<!-- Autocomplete Script -->
<script type="text/javascript">
function initialize(){
    var input = document.getElementById('name');
    var autocomplete = new google.maps.places.Autocomplete(input);
}
google.maps.event.addDomListener(window, 'load', initialize);

google.maps.event.addListener(autocomplete, 'place_changed', function(){
    var place = autocomplete.getPlace();
    alert("This function is working!");
    document.getElementById("receiver").innerHTML=place.name;
});
</script>
4

1 回答 1

4

将调用移动addListenerinitialize

否则addListener会在之前被调用 initializeautocomplete此时在这个范围内是未知的(它不是全局的)

于 2012-06-30T04:52:59.143 回答