【问题标题】:Google map API: How to choose between search and addressGoogle 地图 API:如何在搜索和地址之间进行选择
【发布时间】:2012-07-29 05:19:02
【问题描述】:

我正在实施地理编码和放置 Google API。第一个从地址返回一些点(纬度/经度)。第二个从搜索条目中返回一些兴趣点。

作为 iphone Map 原生应用程序,我想确定用户是否在搜索栏中输入了地址,或者只是一些关键字。

例如,如果我输入:

9 bicycle Street, New York => address, use Geocoding API
9 bicycle Street => Geocoding API
bicycle street   => Geocoding API
bicycle        => Place API
bicycle shop   => Place API

我尝试始终调用地理编码 API,如果没有结果,则调用 Place API。但总会有结果的。

我是否应该检测一些关键字,例如streethighway、...?

【问题讨论】:

    标签: google-maps-api-3 geocoding google-places-api google-geocoding-api


    【解决方案1】:

    您在帖子最后一行提出的问题让我感到畏缩,因为无法保证用户会在地址中输入这些后缀(它们完全是可选的,格式差异很大)。我以前见过很多,检测关键字不是要走的路。 (另外,叫“自行车街”的店呢?)

    我鼓励您查看my answer over here,我在其中讨论了识别或解析地址的难度。有一些例子表明一些看起来很疯狂的地址仍然是有效的地址,而不是地名。

    此外,here's a brief article 描述了使用正则表达式(或常见模式)来识别和提取地址的困难——类似于您想要做的事情。

    Google 的地理编码 API 始终为您提供结果的原因是因为它确实提供了近似值 -- 如果该地址不存在,Google 会做它最擅长的事情:它会搜索要显示的内容无论如何,你正在寻找的东西。如果您键入一个不存在的地址,它仍然会显示结果,因为它会插入和组成数据,因此您仍然可以继续进行操作。这有时很有用,但在这里它会咬你。

    我建议寻找仅对有效地址进行地理编码的服务,如果没有结果,则使用 places API。例如,LiveAddress API by SmartyStreets(我工作的地方)只有在地址可以解析并且实际存在的情况下才会返回结果。查看demos 中的一些内容,了解我的意思。

    这应该可以完成您想要完成的工作。

    【讨论】:

    • 谢谢。我完全同意你的第一个§。现在你的回答听起来很有宣传性。我希望有一些起点来自己开发一些东西。
    • 好吧,你怎么解释它——但它是一个有用的答案,旨在解决你的问题。我不是说你不应该调查。除了 SmartyStreets,还有其他此类服务提供商:Melissa Data、QAS、Cdyne 等。看看哪一个最适合您的预算和工作流程。
    • @Martin “自己开发东西”是指编写自己的地址地理编码器,还是一些示例代码开始?
    • 不,我的意思是开发一些可以将地址/关键字与用户条目区分开来的东西
    • 我希望我能帮助你,但我没有想到任何实用的、自己动手的解决方案......祝你好运。您需要很长时间才能独自完成这项工作。问题已经解决了,解决起来也不容易。
    【解决方案2】:

    我终于找到了答案。

    iPhone Map 原生应用程序无法确定用户是否输入了地址或仅输入了一些关键字。它使用Text Search Requests 调用相当于place API。

    文本搜索请求比地方搜索请求更灵活、更强大,但在您的有限配额中消耗的请求数是其 10 倍:

    Google Place Search 和 Google Places Text Search 服务共享相同的使用限制;但是,文本搜索服务需要 10 倍的乘数。也就是说,您发出的每个文本搜索请求都将计为 10 个请求,而不是您的配额。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      相关资源
      最近更新 更多