【问题标题】:Google Geocode Components two countries谷歌地理编码组件两个国家
【发布时间】:2013-08-12 09:37:50
【问题描述】:

如何过滤 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 状态。

【问题讨论】:

  • 你知道这是否可能吗?
  • @kaciula 不!不幸的是
  • 在此期间您是否找到了解决方案或解决方法?我也面临同样的问题。
  • @Pim 不幸的是没有。但在此期间,我没有处理这个问题。其他计划太多了。
  • 好吧,太糟糕了。还是谢谢!

标签: api google-maps geocoding


【解决方案1】:

目前这是不可能的。如果您想看到这种情况发生,请投票给issue #4233

暂时我可以提出三种可能的解决方法,但都不是完美的:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 2012-08-15
    • 2013-11-28
    • 2013-06-08
    相关资源
    最近更新 更多