Je teste la fonctionnalité de saisie semi-automatique de Google Adresses ici:
https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete
Je veux obtenir la latitude et la longitude de l'endroit, mais j'ai des problèmes. Lorsque j'utilise le code suivant:
var place = autocomplete.getPlace();
console.log(place.geometry.location);
Je reçois ceci retourné:
Quand je l'utilise dans une infoWindow comme celle-ci:
infowindow.setContent('
<div><strong>' + place.name + '</strong><br>' + place.geometry.location);
place.geometry.location
s'affiche alors comme ceci:
(53.539834, -113.49402099999998)
Tout ce que je veux faire, c'est obtenir le lat et le lng séparément. place.geometry.location.lat
ne fonctionne pas. Je ne sais pas quoi faire d'autre.
Vous pouvez utiliser comme ça.
var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();
Vous pouvez utiliser:
var LatLng = place.geometry.location.toJSON();
Ça marche bien pour moi.
marker.setIcon(image);
marker.setPosition(place.geometry.location);
var address = '';
if (place.address_components) {
address = [
(place.address_components[0] && place.address_components[0].short_name || ''),
(place.address_components[1] && place.address_components[1].short_name || ''),
(place.address_components[2] && place.address_components[2].short_name || '')
].join(' ');
}
alert(place.geometry.location.lat());
alert(place.geometry.location.lng());
infowindow.setContent('<div><strong>' + place.name + '</strong><br>' + address);
infowindow.open(map, marker);