Geocoder在某些时候返回错误的结果(即:postal_code)

时间:2015-12-09 08:57:27

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

这是我在这里发表的第一篇文章,请原谅任何误解。 我使用的是Google地方API(https://maps.googleapis.com/maps/api/js?libraries=places&language=en),而且大部分时间效果都很好。

但是,对于某些地址,它会返回错误的postal_code或邻居。

例如,此搜索查询: " St Giles London - St Giles Hotel,Bedford Avenue,London,United Kingdom "

有些时候,它会返回" WC2E 9HA"的postal_code。 (这是错误的),而其他时候它返回" WC1B" (这很好)。此行为会定期切换。我认为这取决于处理我请求的服务器。

您能帮我找一个解决方案吗?

这是我的示例代码:

var postal = "";
var address = "St Giles London - A St Giles Hotel, Bedford Avenue, London, United Kingdom";
geocoder.geocode({ 'address': address  }, function (result, status) {
    if (status == google.maps.GeocoderStatus.OK) {
        if (result == null) {
            alert('null');
        } else {
            var address_components = result[0].address_components;
            for (var i = 0; i < address_components.length; i++) {
                if (address_components[i].types[0] == "postal_code") {
                    postal = address_components[i].long_name;
                    console.log(postal);
                }
            }

            alert(postal);
            return false;
        }
    } else {
        alert('status=' + status);
    }
});

谢谢!

0 个答案:

没有答案