使用google geocode api仅获取特定国家/地区的结果

时间:2013-09-26 11:21:25

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

4 个答案:

答案 0 :(得分:24)

这样做的正确方法是提供componentRestrictions

例如:

var request = {
    address: address,
    componentRestrictions: {
        country: 'UK'
    }
}
geocoder.geocode(request, function(results, status){
    //...
});

答案 1 :(得分:21)

要将结果限制到特定国家/地区,请使用组件过滤。

网址应为http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false&components=country:SG

但这不是问题,地理编码器结果是错误的,因为结果将国家/地区设置为SG,但位置错误(位于印度)。

我担心使用给定的地址(似乎邮政编码不存在),你唯一能做的就是向谷歌报告错误的结果。

答案 2 :(得分:8)

答案 3 :(得分:1)

您应该可以使用此方法 http://maps.googleapis.com/maps/api/geocode/json?components=country:US|postal_code:5037

删除地址并向组件传递邮政编码,并确保地址是否有值让传递用户选择的另一个值和邮政编码以验证您的api,否则没有邮政编码传递给他人地址