【问题标题】:Get the full formatted address from Reverse Geocoding从反向地理编码中获取完整格式的地址
【发布时间】:2014-10-15 16:40:42
【问题描述】:

我想通过 Google Maps API v3 Reverse Geocoding 检索 完整 格式的地址,因为它仅显示许多(可能是所有)国家/地区的邮政编码和/或城市和国家/地区。我还想检索街道名称和您可以通过Reverse Geocoding (Address Lookup) 函数获得的其他内容。但由于我无法从 XML 文件或链接到 JavaScript 中的 XML 文件的地址中获取数据,因此我必须使用 Reverse Geocoding 函数。

反向地理编码(地址查找)显示791 Long Ridge Lane, Gainesboro, Tennessee 38562, USA,反向地理编码显示Gainesboro, Tennessee 38562, USA

是否可以通过反向地理编码获得完整格式的地址,还是必须通过反向地理编码(地址查找)使用 PHP XML 文件?

function coordinates_to_address(lat, lng) {
    var latlng = new google.maps.LatLng(lat, lng);

    geocoder.geocode({'latLng': latlng}, function(results, status) {
        if(status == google.maps.GeocoderStatus.OK) {
            if(results[1]) {
                $('#address_current').text(results[1].formatted_address);
            } else {
                alert('No results found');
            }
        } else {
            var error = {
                'ZERO_RESULTS': 'Kunde inte hitta adress'
            }

            // alert('Geocoder failed due to: ' + status);
            $('#address_new').html('<span class="color-red">' + error[status] + '</span>');
        }
    });
}

【问题讨论】:

  • 你的代码是什么样的?显示问题的Minimal, Complete, Tested and Readable example 会有所帮助。如果您按原样使用该示例,请将results[1] 更改为results[0] 以获得最佳匹配。
  • 我的代码与谷歌的反向地理编码示例几乎完全相同。这就是为什么我没有添加一些代码,但我还是可以添加一些。
  • 谢谢@geocodezip!我刚刚将results[1] 更改为result[0],它现在显示了完整的地址。没想到

标签: javascript google-maps-api-3 reverse-geocoding


【解决方案1】:

要获得最精确的结果,请使用第一个结果 (results[0]),而不是第二个 (results[1]):

function coordinates_to_address(lat, lng) {
    var latlng = new google.maps.LatLng(lat, lng);

    geocoder.geocode({'latLng': latlng}, function(results, status) {
        if(status == google.maps.GeocoderStatus.OK) {
            if(results[0]) {
                $('#address_current').text(results[0].formatted_address);
            } else {
                alert('No results found');
            }
        } else {
            var error = {
                'ZERO_RESULTS': 'Kunde inte hitta adress'
            }

            // alert('Geocoder failed due to: ' + status);
            $('#address_new').html('<span class="color-red">' + error[status] + '</span>');
        }
    });
}

【讨论】:

  • 谢谢!下次我玩地理编码时,我必须考虑一下:)
  • 也感谢我,因为这个我几乎快疯了:)
  • 我需要打字稿
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
相关资源
最近更新 更多