我们正在使用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请求以确保周围的任何场所出现响应?
谢谢!
答案 0 :(得分:1)
要直接回答您的问题,具体而言,似乎是有目的的,无法建立一个请求,以确保某个位置周围的任何(或每个)场所都出现在响应中。
目前无法根据距离指定地点(纬度/经度)的距离优先搜索场地。
intent=checkin
的工作方式是返回一个场地列表,这些场地按照某人最有可能在某个位置办理登机手续的地点排列优先顺序。在任何foursquare文档中都没有明确的算法,但是foursquare表示距离场所的距离AS WELL AS场地因素的影响因素为结果的顺序。
我还会向您推荐这个类似问题的答案和评论: