0

最低限のGoogleジオコーディングスクリプトを見つけようとしています。私が見つけたものは非常に大きくて複雑ですが、これは非常に単純です。それがしない唯一のことは、実際には他の入力ボックスと同じように座標を 2 つの入力ボックスに入れることです。

コードの動作は次のとおりです。 http://jsfiddle.net/Rr5PL/89/

long / lat 入力フィールドに座標を入力するにはどうすればよいですか? それらを使用してマップに表示するため、それらを保存する必要があります。

  var geocoder;
  var map;
  function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var mapOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
  }

  function codeAddress() {
    var address = document.getElementById('address').value;
    geocoder.geocode( { 'address': address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map,
            position: results[0].geometry.location
        });
      } else {
        alert('Geocode was not successful for the following reason: ' + status);
      }
    });
  }
4

3 に答える 3

1

Javascript 変数から簡単に取得できます。入力フィールドは必要ありません。

var lat = results[0].geometry.location.lat();
var lon = results[0].geometry.location.lng();
var url = 'www.url.com/search?lon='+lon+'&lat='+lat;
于 2012-11-03T16:46:59.787 に答える
1

緯度と経度をテキスト フィールドに入力するには、最初に 2 つのテキスト ボックスを作成し、緯度と経度を入力する必要があります。

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

この jsfiddle は例を示しています。 http://jsfiddle.net/harendra/njDvn/6/

于 2012-11-03T16:41:43.497 に答える
1

簡単です、やってみてください

var loc=results[0].geometry.location;
document.getElementById('latLng').value=loc.lat()+', '+loc.lng();

デモ

于 2012-11-03T16:42:26.163 に答える