使用ll和半径搜索最近的场地不能正常工作

时间:2014-08-21 21:48:12

标签: foursquare

我知道有很多关于这个问题的问题,但是我已经达到了一个我无法做其他任何事情的地步,只是想问别人是否有解决这个问题的方法......

使用Foursquare api资源管理器测试我的查询,我似乎无法获得准确甚至适合我需要获取的数据。

这很简单。 我需要从一组坐标中获取最近的场地。如果附近没有发现任何结果,我不介意没有结果。

所以,阅读API文档(https://developer.foursquare.com/docs/venues/venues)我得出结论,我需要一个搜索而不是一个探索,因为我不想要推荐场地的消息(当我测试它时的结果证明了它并不是我所期待的。)

所以,使用搜索API我想找到靠近这些坐标的地方(地方,但地方会...)

  

LL = 37.424782,-122.162989

考虑到我想要附近的地方,我添加

  

半径= 51

我并不想要很多结果

  

极限= 2

从文档中我看到半径是

  

仅对具有intent = browse或请求的请求有效   intent = checkin和categoryId或query

所以,我用

  

意图=浏览

我的查询总结如下: 场地/搜索意图=浏览&安培; LL = 37.424782,-122.162989&安培;半径= 51&安培;极限= 2

查询结果: https://developer.foursquare.com/docs/explore#req=venues/search%3Fintent%3Dbrowse%26ll%3D37.424782,-122.162989%26radius%3D51%26limit%3D2

在这里我们可以看到第一个结果直接在半径之外...距离:135 然而第二个结果很酷......距离:50

得到这些结果我做错了什么?如果我增加限制,我得到的更多结果也在半径之外,我可以迭代它们并找到距离最小的那个...但我不能保证最接近的结果将在顶部X上我限制,即使我有这个保证,对于一个看似简单的问题来说,这将是一个无聊的解决方案...

感谢您的帮助...... 马克


编辑:


我设法让查询按照我的意图执行......但我必须添加所有父类别:

https://developer.foursquare.com/categorytree

categoryId=
4d4b7104d754a06370d81259,  Arts & Entertainment
4d4b7105d754a06372d81259,  College & University
4d4b7105d754a06373d81259,  Event
4d4b7105d754a06374d81259,  Food
4d4b7105d754a06376d81259,  Nightlife Spot
4d4b7105d754a06377d81259,  Outdoors & Recreation
4d4b7105d754a06375d81259,  Professional & Other Places
4e67e38e036454776db1fb3a,  Residence
4d4b7105d754a06378d81259,  Shop & Service
4d4b7105d754a06379d81259   Travel & Transport

将我的查询放入: 场地/搜索?

  

意图=签&安培; 11 = 37.424782,-122.162989&安培;半径= 60安培;的categoryId = 4d4b7104d754a06370d81259,4d4b7105d754a06372d81259,4d4b7105d754a06373d81259,4d4b7105d754a06374d81259,4d4b7105d754a06376d81259,4d4b7105d754a06377d81259,4d4b7105d754a06375d81259,4e67e38e036454776db1fb3a,4d4b7105d754a06378d81259,4d4b7105d754a06379d81259

查询结果: https://developer.foursquare.com/docs/explore#req=venues/search%3Fintent%3Dcheckin%26ll%3D37.424782,-122.162989%26radius%3D60%26categoryId%3D4d4b7104d754a06370d81259,4d4b7105d754a06372d81259,4d4b7105d754a06373d81259,4d4b7105d754a06374d81259,4d4b7105d754a06376d81259,4d4b7105d754a06377d81259,4d4b7105d754a06375d81259,4e67e38e036454776db1fb3a,4d4b7105d754a06378d81259,4d4b7105d754a06379d81259

它仍然有我的半径之外的结果......但它是一个可接受的误差范围......但它很奇怪。

2 个答案:

答案 0 :(得分:0)

我设法让查询按照我的意图执行......但我必须添加所有父类别:

https://developer.foursquare.com/categorytree

的categoryId = 4d4b7104d754a06370d81259,Arts&娱乐 4d4b7105d754a06372d81259,College&大学 4d4b7105d754a06373d81259,活动 4d4b7105d754a06374d81259,食物 4d4b7105d754a06376d81259,夜生活场所 4d4b7105d754a06377d81259,户外&娱乐 4d4b7105d754a06375d81259,专业&其他地方 4e67e38e036454776db1fb3a,住宅 4d4b7105d754a06378d81259,Shop&服务 4d4b7105d754a06379d81259 Travel&运输 我的查询:场地/搜索?

意图=签&安培; 11 = 37.424782,-122.162989&安培;半径= 60安培;的categoryId = 4d4b7104d754a06370d81259,4d4b7105d754a06372d81259,4d4b7105d754a06373d81259,4d4b7105d754a06374d81259,4d4b7105d754a06376d81259,4d4b7105d754a06377d81259,4d4b7105d754a06375d81259,4e67e38e036454776db1fb3a,4d4b7105d754a06378d81259,4d4b7105d754a06379d81259

查询结果:https://developer.foursquare.com/docs/explore#req=venues/search%3Fintent%3Dcheckin%26ll%3D37.424782,-122.162989%26radius%3D60%26categoryId%3D4d4b7104d754a06370d81259,4d4b7105d754a06372d81259,4d4b7105d754a06373d81259,4d4b7105d754a06374d81259,4d4b7105d754a06376d81259,4d4b7105d754a06377d81259,4d4b7105d754a06375d81259,4e67e38e036454776db1fb3a,4d4b7105d754a06378d81259,4d4b7105d754a06379d81259

它仍然有我的半径以外的结果......但这是一个可接受的误差范围......但它很奇怪。

答案 1 :(得分:0)

虽然这个问题很老了,但我还是为其他人回答。我最近正在研究类似的东西,我学到的是,为了使用半径,您还需要使用“查询”参数。我所做的是使用星号“*”,它对我有用。我不得不说,50 的限制是我还没有解决的问题,我目前正在努力。