Google Geocode Components两个国家/地区

时间:2013-08-12 09:37:50

标签: api google-maps geocoding

如何在不发出其他请求的情况下过滤Google Geocode API的结果以及两个(或更多)国家的components参数的使用

示例:

  • http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&components=country:DE,AT&address=wien
    结果为零,因为德国没有Wien,逗号被忽略后AT没有
  • http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&components=country:AT,DE&address=wien
    没问题,因为奥地利有一个维恩
  • http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&components=country:AT|country:DE&address=wien
    得出零结果,因为两个组件过滤器相互驱逐

文档中是否有我过度阅读的内容使其成为可能,或者根本无法完成?

修改

我尝试了设置德国和奥地利的合并边界的解决方法,但这只是权衡结果而不是过滤它们,所以我得到了一个我不想要http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&components=bounds:55.058,17.161|46.372,5.866&address=new%20york的结果。在这种情况下,我想要一个ZERO_RESULTS状态。

1 个答案:

答案 0 :(得分:1)

目前无法实现。如果你想看到这种情况,请投票issue #4233

暂时我可以建议三种可能的解决方法,其中没有一种是完美的:

  1. 制作多个请求并手动合并结果集。这将提供最佳准确度,但显然是最慢的。
  2. 在HerrSerker的问题中使用手动合并的边界技巧,然后手动过滤掉short_name address_components types country {{1}}个{{1}}元素的结果国家名单。
  3. 完全删除组件过滤器,并在搜索字符串中包含“Austria OR Germany”。同样,您需要手动过滤结果。