40

ジオコーディングに Google マップのオートコンプリート機能を使用しています。緯度/経度ではなく、多くのデータを返すようです。この情報を取得する方法はありますか? さらに処理するためにバックエンド アプリケーションに渡したいと思います。

4

3 に答える 3

62

ジオメトリ オブジェクトのプロトタイプに存在する lat() および lng() と呼ばれるメソッドがあります。したがって、値を取得するには、次を使用します。

var place = autocomplete.getPlace();

var lat = place.geometry.location.lat(),
    lng = place.geometry.location.lng();

// Then do whatever you want with them

console.log(lat);
console.log(lng);

console.warn('Warning: I didn\'t test this code!');
于 2014-11-06T03:46:11.283 に答える
36

OK、私はプレイスやオートコンプリートに詳しくありません。しかし、あなたが探しているのは

autocomplete.getPlace().geometry.location

この例を取り上げ、上記の行を追加して、地名を入力できるこの JSFiddleを作成し、それが選択されると、LatLng を含む情報ウィンドウが作成されることを示します。

特に、ユーザーの選択をリッスンし、情報ウィンドウを更新します。

google.maps.event.addListener(autocomplete, 'place_changed', function() {
      infowindow.close();
      var place = autocomplete.getPlace();
       ...
      infowindow.setContent('<div><strong>' + place.name + 
        '</strong><br>' + address + "<br>" + place.geometry.location);
于 2012-06-09T02:19:28.580 に答える