【问题标题】:Google maps v3 geocoder: callback for latitude and longitude谷歌地图 v3 地理编码器:纬度和经度的回调
【发布时间】:2011-09-05 15:51:36
【问题描述】:

我可以使用地理编码创建以科罗拉多州 Niwot 为中心的 Google 地图。如果我点击表单中的“编码”按钮(我从 Google 网站获得),它会在地图上的正确位置放置一个标记。

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

另外,现在我只在一个地方使用它来进行故障排除,但我需要它来处理多个地址。

代码如下。

var 地理编码器; 变量映射; 函数初始化() {

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

}

函数代码地址() {

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

}); }

【问题讨论】:

    标签: callback geocode


    【解决方案1】:

    返回的位置是 LatLng 类的一个实例。您可以调用 lat() 获取纬度,调用 lng() 获取经度。例如

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

    以下是相关文档:

    http://code.google.com/apis/maps/documentation/javascript/reference.html#LatLng

    【讨论】:

    • 谢谢。我已经阅读了文档,但我不知道 javascript,所以我不知道如何修改我的代码。我知道纬度和经度存储在“位置”中,并且您已经展示了如何定义这些变量。我将如何在页面上显示它们?感谢您的帮助。
    【解决方案2】:

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

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

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

    (纬度,经度)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 2016-07-26
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      相关资源
      最近更新 更多