如何在谷歌地图v3中进行地理编码

时间:2010-12-15 11:48:07

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

我一直在浏览google maps api的第3版,我已经整理了一个小脚本来对地址进行地理编码。问题是我想看看如果我可以提取lat lng而不必'split()'结果。

function getLatLng() {
  var geocoder = new google.maps.Geocoder();
  var query = "12 henry street, dublin 1, dublin, ireland";
  var address = query;   
  geocoder.geocode( { 'address': address}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      var latLng = results[0].geometry.location;
      alert('Geocode succesful ' + latLng);
    } else {
      alert("Geocode was not successful for the following reason: " + status);
    }
  });  
}

我想从var latLng获取lat和lng。 可以在不调用latLng.split(',');?

的情况下完成

非常感谢你的帮助

2 个答案:

答案 0 :(得分:9)

切勿使用API​​公开的内部变量。他们可以并且确实在发布之间进行了更改。始终使用记录的方法。

results[0].geometry.locationLatLng对象,因此请使用相关方法:

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

答案 1 :(得分:1)

您可以使用:

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