34

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

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

場所の緯度と経度を取得したいのですが、問題が発生しています。次のコードを使用する場合:

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

私はこれを返します:

ここに画像の説明を入力してください

このような情報ウィンドウで使用すると、次のようになります。

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

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

(53.539834、-113.49402099999998)

私がやりたいのは、latとlngを別々に取得することです。place.geometry.location.lat動作しません。他に何をすべきかわからない。

4

4 に答える 4

97

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

var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();  
于 2012-05-18T06:03:02.563 に答える
2

次を使用できます。

var LatLng = place.geometry.location.toJSON();
于 2016-06-29T17:38:51.617 に答える
1

それは私にとってはうまくいっています。

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);
于 2012-10-08T05:51:31.470 に答える
0

PLACESオブジェクトからLATLONGを取得できます。

このような :

const autocomplete = new google.maps.places.Autocomplete(this.inputNativeElement.nativeElement as HTMLInputElement);

autocomplete.addListener('place_changed', () => {
    const place = autocomplete.getPlace();

    let cus_location = {
        lat: place.geometry.location.lat(),
        long: place.geometry.location.lng()
    }

}
于 2019-11-16T16:17:20.567 に答える