Google Geocode Components两个国家/地区

yun*_*zen 12 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状态.

jpa*_*kal 1

目前这是不可能的。如果您希望看到这种情况发生,请投票支持问题#4233 。

目前我可以建议三种可能的解决方法,但没有一个是完美的:

  1. 发出多个请求并手动合并结果集。这将提供最好的准确性,但显然是最慢的。
  2. 在 HerrSerker 的问题中使用手动合并边界技巧,然后手动过滤掉带有ofshort_name的元素不在您的国家/地区列表中的结果。address_componentstypescountry
  3. 完全删除组件过滤器并在搜索字符串中包含“奥地利或德国”。同样,您将需要手动过滤结果。