Google 地理编码 API - 仅在一个国家/地区搜索

Posted

技术标签:

【中文标题】Google 地理编码 API - 仅在一个国家/地区搜索【英文标题】:Google geocoding API - search in just one country 【发布时间】:2013-02-04 01:50:14 【问题描述】:

我正在使用 google geocode-API 寻找地理编码:

http://maps.googleapis.com/maps/api/geocode/json?address=london%c2+UK&sensor=false

问题是,输入不是很准确(特别是街道),有时谷歌会混淆并忽略英国,因为街道在其他地方有完美的匹配(如街道和城市)。例如美国。

现在我无法解决这个问题(输入数据),但我想知道是否有一个参数,它迫使谷歌在英国搜索并且不返回任何结果而不是完全错误的结果。

【问题讨论】:

【参考方案1】:

您可以在 url 中添加组件过滤器来约束结果。在这种情况下,您可以使用:

http://maps.googleapis.com/maps/api/geocode/json?address=london%c2+UK**&components=country:UK**&sensor=false

有关如何使用组件过滤的更多信息,请参阅:

https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering

【讨论】:

感谢您的回答 - 它正在工作,但就我而言:如果国家/地区错误(输入),这将返回指定国家/地区。 你是对的,正如api所说:“包含组件过滤器的查询将只返回与过滤器匹配的地理编码结果。如果没有找到匹配项,则地理编码器将返回匹配的结果过滤器本身。...只有在您提供相互排除的过滤器时,组件过滤才会返回 ZERO_RESULTS 响应。” 您是从 javascript 进行此调用吗?如果是这样,您可以考虑使用 google maps api for javascript 中的 geocoder 对象。您将无法仅过滤结果以“偏向”它们,但您将获得 ZERO_RESULTS 状态。 link 当我们使用它时,我们无法显示类似 alert("Geocode 未成功,原因如下:" + status);

以上是关于Google 地理编码 API - 仅在一个国家/地区搜索的主要内容,如果未能解决你的问题,请参考以下文章

我可以按城镇限制谷歌地理编码器结果吗?

如何使用谷歌地理定位 API?

Google地理编码API无法识别某些邮政编码

Google 地理编码 API 安全性

Google 地理编码 API 无法识别某些邮政编码

Google Javascript API 地理编码限制