<script src="https://maps.googleapis.com/maps/api/js?key=KEY&libraries=places" type="text/javascript"></script>

<script>
function initialize() {

    var input = document.getElementById('searchTextField');
    var autocomplete = new google.maps.places.Autocomplete(input);

    autocomplete.addListener('place_changed', function(){
        console.log(autocomplete.getPlace());
    });
}

    google.maps.event.addDomListener(window, 'load', initialize);
</script>

<input id="searchTextField" type="text" size="50">

Z konsoli w mojej przeglądarce widzę, że getplace.geometry.Location.lat jest pusty. Brakowam czegoś?

3
vandelay 16 luty 2017, 19:35

2 odpowiedzi

Najlepsza odpowiedź

getPlace.geometry.location.lat jest funkcją, musisz zadzwonić, aby uzyskać jego wartość (getPlace.geometry.location.lat()).

getPlace.geometry.location.toUrlValue(6) da Ci współrzędne oddzielone przecinkami.

fragment kodu:

function initialize() {
  var input = document.getElementById('searchTextField');
  var autocomplete = new google.maps.places.Autocomplete(input);

  autocomplete.addListener('place_changed', function() {
    console.log("lat=" + autocomplete.getPlace().geometry.location.lat());
    console.log(autocomplete.getPlace().geometry.location.toUrlValue(6));
  });
}

google.maps.event.addDomListener(window, 'load', initialize);
<script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script>
<input id="searchTextField" type="text" size="50">
3
geocodezip 16 luty 2017, 16:47

Musisz zadzwonić do osobnego interfejsu API Google, aby uzyskać szczegóły. Dokumentacja jest obecna w Ten oficjalny link.

URL żądania jest następujący.

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJN1t_tDeuEmsRUsoyG83frY4&fields=geometry,name,rating,formatted_phone_number&key=YOUR_API_KEY
-1
Asad Ali Choudhry 11 grudzień 2019, 10:43