2012-05-18 3 views
28

ich die Google Places Funktion zur automatischen Vervollständigung hier testet:Placeresult-Objekt zurückgibt Breite/Länge als Objekt, nicht sicher, wie sie individuell bekommen

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

ich die Breite und die Länge der zu wollen Platz, aber ich habe einige Probleme. Wenn ich den folgenden Code verwenden:

var place = autocomplete.getPlace(); 
console.log(place.geometry.location); 

ich dieses zurück:

enter image description here

Als ich es in einem infowindow wie folgt verwenden:

infowindow.setContent(' 
<div><strong>' + place.name + '</strong><br>' + place.geometry.location); 

place.geometry.location dann wie angezeigt dies:

(53,539834, -113,49402099999998)

Alles, was ich tun möchte, ist separat die lat und lng zu erhalten. place.geometry.location.lat funktioniert nicht. Ich bin mir nicht sicher, was ich sonst tun soll.

Antwort

76

Sie können so verwenden.

var latitude = place.geometry.location.lat(); 
var longitude = place.geometry.location.lng(); 
+4

Muss ich dumm fühlen. Danke JDev. – dallen

+1

Das JSON-Objekt "Place Details" sieht folgendermaßen aus: https://developers.google.com/places/webservice/details – ruhong

+0

Bei der Suche nach "The Shard, London" hat es nicht funktioniert: | –

1

Es funktioniert gut für mich.

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); 
1

können Sie verwenden:

var LatLng = place.geometry.location.toJSON(); 
+0

Ich war mir nicht sicher, ob es sich um eine öffentliche API handelt, aber anscheinend: https://developers.google.com/maps/documentation/javascript/reference# LatLng –

Verwandte Themen