0

ジオコードを使用して、コロラド州ニウォットを中心とする Google マップを作成できます。フォーム (Google の Web サイトから取得したもの) から [エンコード] ボタンをクリックすると、マップ上の正しい位置にマーカーが配置されます。

私の質問は: javascript コールバック関数を使用して位置座標 (緯度と経度) を取得するにはどうすればよいですか? 緯度と経度をデータベースに入れる必要があります。

また、現在はトラブルシューティングのためにこれを 1 か所だけ使用していますが、その後は多数のアドレスで必要になります。

コードは以下です。

var ジオコーダ; 変数マップ; 関数初期化() {

geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(40.171776, -105.116737);
var myOptions = {
  zoom: 10,
  center: latlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

}

関数コードアドレス() {

var address = 'Niwot, CO';//これは最終的に配列になる geocoder.geocode( { 'address': address}, function(results) {

    var marker = new google.maps.Marker({
        map: map,
        position: results[0].geometry.location

    });

//コメント1に基づいて追加された以下のコード; その緯度と経度を表示するにはどうすればよいですか? トラブルシューティングのためにこれを行う必要があります。

    var latlng = results[0].geometry.location; 
    var lat = latlng.lat(); 
    var lng = latlng.lng();

}); }

4

2 に答える 2

2

返される場所は、LatLng クラスのインスタンスです。lat() を呼び出して緯度を取得し、lng() を呼び出して経度を取得できます。例えば

var latlng = results[0].geometry.location; var lat = latlng.lat(); var lng = latlng.lng();

関連するドキュメントは次のとおりです。

http://code.google.com/apis/maps/documentation/javascript/reference.html#LatLng

于 2011-05-31T17:03:48.597 に答える
0

ジオコード呼び出し内でそれを行うことができます

  geocoder.geocode( { 'address': 'CA, US'}, function(results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
     location = results[0].geometry.location;
   alert(location)
    } 
  });

これにより、住所の緯度と経度が表示されます。

(緯度、経度)

于 2011-06-23T06:17:08.993 に答える