0

Я использую google maps autocomplete. Я хочу получить результат LatLng. Автозаполнение не работает. Код:Autocomplete google maps

<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

Да, вы правы @степании! Я удалил строку: 'var address = document.getElementById (" address "). Value;' – MKiss

+0

Спасибо! работает! – Jack

 Смежные вопросы

  • Нет связанных вопросов^_^