【问题标题】:What is the proper way to use the radius parameter in the Google Places API?在 Google Places API 中使用 radius 参数的正确方法是什么?
【发布时间】:2012-05-23 19:45:10
【问题描述】:

我正在使用Google Places API 检索当前位置周围的所有 POI(感兴趣的地方),它工作正常,但我注意到无论半径的值是多少,我总是得到相同数量的结果(〜20)。结果,如果我给出的半径太大,我不一定会得到最近的POIs。如果我将半径的量减小到足够小,我将再次检索那些最近的地方(通过实验,我注意到 100 米是一个合适的值)但这意味着我不会得到任何超过 100 米的 POI,即不是我想要的。

我的问题是:有什么方法可以让我获得一定半径内的所有 POI(没有限制)。

谢谢!

【问题讨论】:

    标签: google-places-api


    【解决方案1】:

    试试google.maps.places.RankBy.DISTANCE;,默认是google.maps.places.RankBy.PROMINENCE;

    一个简单的例子显示在Here

    (仅限 Chrome)

    【讨论】:

      【解决方案2】:

      正如此处的 Google Places 问题跟踪器所述:http://code.google.com/p/gmaps-api-issues/issues/detail?id=3425

      我们受到数据提供商许可的限制,不允许应用一次显示不超过 20 个地点的结果。因此,我们目前无法提高此限制。

      听起来您确实在尝试返回最接近指定位置的结果,现在可以通过在请求中使用“rankby=distance”参数而不是“radius”来实现。

      例如

      https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&rankby=distance&types=food&name=harbour&sensor=false&key=YOUR_API_KEY

      【讨论】:

      • 谢谢。但是,上述解决方案似乎仅适用于某些地理坐标。试试这个:例如48.83665205,2.3238488750000004
      • 这是因为 rankby=distance 请求只返回 50000km 内最近的地点,如果你将 lat lng 替换为上述请求,你将得到 ZERO_RESULTS,因为其中没有 type=food 的地点50000km 包含name=harbour.
      • 当然,我已经尝试过我自己的请求,其中不包含那些过滤器(类型/名称)。我的错误是我没有包含任何类型或名称,我得到了一个 @987654328 @ 错误信息。因此,显然,您不能提出会返回任何类型的最近 POI 的请求。当然,我可以提出几个请求来汇总所有不同的结果,但这太耗时了。
      • 这是正确的,根据文档:“一个或多个关键字、名称或类型是必需的。”使用参数rankby=distance 执行Place Search Request
      【解决方案3】:

      Google Places API 始终按设计返回 20 个结果,选择最符合您在请求中定义的条件的 20 个结果。开发人员指南/文档没有在我见过的任何地方明确引用该数字。我在观看 Autocomplete Demo & Places API Demo & Discussion Video 时了解到了限制,由 Google 的开发人员倡导者 Paul Saxman 和 Google 的 Places API 技术主管 Marcelo Camelo 提供。

      整个视频都值得观看,但更具体地针对您的问题,如果您将播放计时器设置在大约 11:50,Marcelo Camelo 将自动完成工具与通用 Places API 进行对比,这就是视频的一部分他提到了20个结果限制。他多次提到 20 作为标准结果计数。

      YouTube 上还有许多其他优秀的 Places API 和 Google 地图视频链接到该区域。

      【讨论】:

        猜你喜欢
        • 2012-01-26
        • 1970-01-01
        • 2018-06-18
        • 2015-06-15
        • 1970-01-01
        • 1970-01-01
        • 2013-03-02
        • 2019-02-09
        相关资源
        最近更新 更多