Google Geocoder - 为字段添加坐标

时间:2012-11-03 16:30:10

标签: javascript google-maps google-maps-api-3 geocode

我正在尝试找到一些minamilistic谷歌地理编码脚本。我发现的那些非常庞大和复杂,但这个非常简单。它唯一没做的就是将坐标放在两个输入框中,就像其他输入框一样。

这是代码工作: http://jsfiddle.net/Rr5PL/89/

如何将坐标放在长/纬度输入字段中?它必须存储它们,因为它使用它们在地图上显示。

  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);
      }
    });
  }

3 个答案:

答案 0 :(得分:1)

为了在文本字段中放置纬度和经度,您需要先创建2个文本框并放入纬度和经度。

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

这个jsfiddle显示了一个例子。 http://jsfiddle.net/harendra/njDvn/6/

答案 1 :(得分:1)

这很简单,试试这个

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

DEMO

答案 2 :(得分: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;