0

我使用谷歌地图自动填充。 我想获得LatLng结果。 自动完成功能无效。 代码是:谷歌地图自动填写

<script src="https://maps.googleapis.com/maps/api/js?key=[API]&libraries=places"></script> 
<script> 
var geocoder; 
function initialize() { 
    geocoder = new google.maps.Geocoder(); 
} 
function codeAddress() { 
    var input = document.getElementById("address"); 
    var autocomplete = new google.maps.places.Autocomplete(input); 
    var address = document.getElementById("address").value; 
    geocoder.geocode({ 'address': address }, function(r, s) { 
    alert (r[0].geometry.location); 
    }); 
} 
</script> 
<body onload="initialize()"> 
    <input type="search" id="address"> 
    <input type="button" value="Submit" onclick="codeAddress()"> 

</body> 

问题是什么?

回答

1

尝试这样(没有你codeAddress()功能):

function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var input = document.getElementById("address"); 
    var autocomplete = new google.maps.places.Autocomplete(input); 
    autocomplete.addListener('place_changed', function() { 
     var place = autocomplete.getPlace(); 
     if (place.geometry) { 
      alert(place.geometry.location); 
     } 
    }); 
}; 

希望这有助于!

+0

你不需要以“var address ...”开头的行 – stepanian

+0

是的,你是对的@stepanian!我删除了这一行:'var address = document.getElementById(“address”)。value;' – MKiss

+0

Thanks!它正在工作! – Jack