Foursquare 场地搜索 API:如何找到最近的场地?

Posted

技术标签:

【中文标题】Foursquare 场地搜索 API:如何找到最近的场地?【英文标题】:Foursquare venues search API : how to get closest venues around? 【发布时间】:2014-11-25 18:09:35 【问题描述】:

我们正在使用 Foursquare 的场所 API 进行移动应用集成。我们注意到,即使用户的位置距离中心 20-30 米,某些健身房也不包含在 Foursquare 响应中。

这里是例子。丹佛有“盖茨健身中心”。 API 请求:

https://api.foursquare.com/v2/venues/search?ll=39.7524669,-105.0032014&intent=checkin&radius=50&client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&v=20131118&categoryId=4bf58dd8d48988d175941735

如果搜索半径为 50 米,则健身房按预期返回。

一旦搜索半径增加到 3218 米(2 英里),那么“盖茨健身中心”健身房就不存在了:

https://api.foursquare.com/v2/venues/search?ll=39.7524669,-105.0032014&intent=checkin&radius=3218&client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&v=20131118&categoryId=4bf58dd8d48988d175941735

我的理解是intent=checkin 应该按距离优先考虑场地。

所以我的问题是如何构建 API 请求以确保周围的任何场所都出现响应?

谢谢!

【问题讨论】:

只是澄清 2 英里搜索半径是业务要求。 【参考方案1】:

要直接回答您的问题,具体而言,它似乎是有目的的,不可能构建一个请求来确保某个位置周围的任何(或每个)场所都出现在响应中。

目前没有办法根据场地与给定位置的距离(纬度/经度)来优先搜索场地。

intent=checkin 的工作方式是返回一个场地列表,该列表按人们最有可能在给定位置的情况下登记入住的场地进行优先排序。任何foursquare 文档中都没有说明确切的算法,但foursquare 表示,与地点的距离以及场馆的受欢迎程度会影响结果的顺序。

我还建议您参考这个类似问题的答案和 cmets:

Is there an api order_by/sort parameter in the works?

【讨论】:

谢谢。因此,我们消除了对 Foursquare 对小型公司健身房的依赖,并将它们保存在本地数据库中。

以上是关于Foursquare 场地搜索 API:如何找到最近的场地?的主要内容,如果未能解决你的问题,请参考以下文章

场地外搜索 Foursquare API

使用 Python 代码从 Foursquare API 中提取特定场地类别

适用于 iPhone 的 FourSquare API

Foursquare 场地“照片”请求返回 null

Foursquare 获取场地详情

如何对foursquare场所/搜索api返回的结果进行分页?