Google Maps v3地理编码器:纬度和经度的回调

问题描述

|| 我可以使用地理编码创建以科罗拉多州尼沃特为中心的Google地图。如果我从表单(我从Google网站获得)中单击“编码”按钮,则会在地图上的正确位置放置一个标记。 我的问题是:如何使用javascript回调函数检索位置坐标(纬度和经度)?我需要将经纬度放入我的数据库中。 另外,现在我只在一个地方使用它进行故障排除,但是我将需要使用它用于大量地址。 代码如下。 var geocoder;   var map;   函数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);
} 函数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添加;如何显示经纬度?我需要执行此操作以进行故障排除。
    var latlng = results[0].geometry.location; 
    var lat = latlng.lat(); 
    var lng = latlng.lng();
});   }     

解决方法

        返回的位置是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     ,        您可以在地址解析调用中执行此操作
  geocoder.geocode( { \'address\': \'CA,US\'},function(results,status) {
   if (status == google.maps.GeocoderStatus.OK) {
     location = results[0].geometry.location;
   alert(location)
    } 
  });
这将显示地址的纬度和经度。   (lat,lng)