【问题标题】:Google places api text search issueGoogle Places api 文本搜索问题
【发布时间】:2018-08-08 06:22:25
【问题描述】:

如果我在查询中使用 50,000 米半径,我会得到结果,但非常靠近的地方会被省略。 如果我在谷歌地图中输入相同的关键字,结果完全不同。

但是如果我将半径保持在 1000 米,结果完全一样,为什么会这样? 谁能帮我理解这一点?

https://maps.googleapis.com/maps/api/place/textsearch/json?location=19.9525768,73.7351819&radius=1000&query=atm&sensor=true&key=your_key

如果有人能解释为什么会发生这种情况以及我如何能够非常靠近半径为 50,000 米的地方,我将不胜感激。 在此先感谢

【问题讨论】:

    标签: android google-places-api text-search


    【解决方案1】:

    您想通过增加radius 来达到什么目的?如果您指定radius,则结果将按突出度而不是距离进行排名,因此如果您设置radius = 50000,您可以返回比您所在位置附近(radius 会改变结果。

    如果您想要一个靠近您所在位置的地方,那么要么将半径保持在较低水平(就像您在指定 radius=1000 时所做的那样),要么完全省略半径并使用 rankby=distance

    查看文档:https://developers.google.com/places/web-service/search

    【讨论】:

    • 我想显示半径 50 公里内的所有地点。现在,如果使用 rankby=distance 请求将给我下一页令牌,使用它我可以得到更多 20 个结果,但谷歌只提供 2 个下一页令牌,结果总共给出 60 条记录,这仅涵盖大约 4-5 公里半径。跨度>
    • 为了解决这个问题,当用户点击列表中的最后一项时,我可以使用分页并增加半径,然后避免重复条目。但需要太多的 api 调用......我想要的是解决这个问题的最佳解决方案 -
    猜你喜欢
    • 1970-01-01
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 2014-10-01
    • 2016-05-24
    相关资源
    最近更新 更多