2012-07-31 82 views

回答

20

正确的方法做,这是无法通过区域偏置而是使用component filtering

http://maps.google.com/maps/api/geocode/json 
    ?components=country:AU|postal_code:2340 
    &sensor=false 

一些示威:

请注意,如果您使用组件参数,则不需要指定地址参数。

+0

为什么它不适用于昆士兰邮政编码? http://maps.google.com/maps/api/geocode/json?components=country:AU|postal_code:4072&sensor=false – 2016-05-23 03:06:34

2

文档说Region Biasing基于CcTLDs,这将使澳大利亚AU(还没有尝试过我自己)。

虽然它也指出这一点:

注意,偏向仅优先特定域的结果;如果在该域以外存在更多相关结果,则可能包含这些结果。

+1

我发现'?address = 2340,au&sen​​sor = false'只返回澳大利亚的结果是否有效? – Anagio 2012-07-31 20:44:10

+1

是的@Anagio这是正确的,放置一个“,美国”将导致只显示在美国的结果,但这只意味着它不会在任何其他国家看,它并不意味着它会给你一个正确的结果,因为例如,如果我把93274,澳大利亚给了我一些在澳大利亚的随机小镇,但不是在澳大利亚的那个邮政编码的城镇...无论是什么原因,如果你的目标是一个特定的国家,最好继续使用你的建议。我知道它已经有一段时间了,但我偶然发现了它。 – 2013-03-07 04:37:19

+0

要添加到Aaron的答案 - 上面的查询在澳大利亚的街道号码为2340和POSTCODE为2340的郊区之间不明确。护目镜似乎首先搜索街道号码,这意味着返回城镇的概率WoopWoop与邮编的数字值成正比。昆士兰州(邮编4000以上)比新南威尔士州(邮编2000+)不太可能 组件过滤是正确的。使用:&组件=国家:AU |邮政编码:2340在url – 2017-08-02 23:00:52

相关问题