web-dev-qa-db-ja.com

PlaceResultオブジェクトは緯度/経度をオブジェクトとして返しますが、それらを個別に取得する方法がわかりません

ここでは、Googleプレイスのオートコンプリート機能をテストしています:

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

プレイスの緯度と経度を取得したいのですが、いくつか問題があります。次のコードを使用すると:

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

私はこれを返します:

enter image description here

このようなinfoWindowで使用する場合:

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

place.geometry.locationは次のように表示されます。

(53.539834、-113.49402099999998)

Latとlngを別々に取得するだけです。 place.geometry.location.latは機能しません。他に何をすべきかわからない。

33
dallen

このように使用できます。

var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();  
89
JDev

次を使用できます。

var LatLng = place.geometry.location.toJSON();
2
Sabbir

それは私のためにうまく機能しています。

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
Muthu