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

mar*_*que 4 google-geocoder google-geocoding-api

我正在寻找谷歌地理编码API的地理编码:

http://maps.googleapis.com/maps/api/geocode/json?address=london%c2+UK&sensor=false
Run Code Online (Sandbox Code Playgroud)

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

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

jmm*_*jmm 9

您可以在网址中添加组件过滤器以限制结果.在这种情况下,您可以使用:

http://maps.googleapis.com/maps/api/geocode/json?address=london%c2+UK**&components=country:UK**&sensor=false
Run Code Online (Sandbox Code Playgroud)

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

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

  • 你是对的,因为api说:"包含组件过滤器的查询只返回与过滤器匹配的地理编码结果.如果没有找到匹配,地理编码器将返回与过滤器本身匹配的结果....组件只有当您提供相互排斥的过滤器时,过滤才会返回ZERO_RESULTS响应." (2认同)