首页 文章

谷歌 Map v3地理编码器:纬度和经度的回调

提问于
浏览
0

我可以使用地理编码创建一个以Niwot,CO为中心的Google Map . 如果我点击表格中的“编码”按钮(我从谷歌的网站上获得),它会在 Map 上的正确位置放置一个标记 .

我的问题是:如何使用javascript回调函数检索位置坐标(纬度和经度)?我需要把lat和long放到我的数据库中 .

此外,现在我只将它用于一个地方进行故障排除,但我需要它来处理多个地址 .

代码如下 .

var geocoder; var map; function initialize(){

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

}

function codeAddress(){

var address ='Niwot,CO'; //这最终将是一个数组geocoder.geocode({'address':address},function(results){

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

    });

//根据评论1添加以下代码;如何显示lat和lng?我需要这样做以进行故障排除 .

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

}); }

2 回答

  • 0

    您可以在地理编码调用中执行此操作

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

    这将显示地址的纬度和经度 .

    (lat,lng)

  • 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

相关问题