根据Foursquare API documentation,我试图匹配一个受欢迎的场地,但只有当我改变意图“匹配”时它似乎才有效。
https://api.foursquare.com/v2/venues/search?intent=match&limit=1&client_id=...&client_secret=...&v=20140203&near=new%20york%2C%20ny&query=bowery%20ballroom
(没有结果)
但如果我改变浏览意图,它确实有用:
https://api.foursquare.com/v2/venues/search?intent=browse&limit=1&client_id=...&client_secret=...&v=20140203&near=new%20york%2C%20ny&query=bowery%20ballroom
(正确的结果)
我注意到如果我将浏览器更改为使用ll,它确实可以工作:
https://api.foursquare.com/v2/venues/search?intent=match&limit=1&client_id=...&client_secret=...&v=20140203&ll=40.7202418%2C-73.9933523&query=bowery%20ballroom
(正确的结果)
我正在寻找获得特定场地名称,城市和州的场地的正确方法。我敢打赌,如果纽约市规模不大,情况会有所不同,但事实并非如此。话虽这么说,只有一个Bowery宴会厅所以发现它不应该那么难!
我在这里提到的唯一选择是不使用intent = match - 如果我也有,我会这样做但我不明白为什么如果我知道确切的城市,州,地名的话需要这个
谢谢!
答案 0 :(得分:1)
传入intent=match
会使搜索非常敏感到您提供的纬度/经度。将near=new%20york%2C%20ny
地理编码简单地用于距离预期结果太远的纬度/经度可能。
intent=match
通常适合拥有自己的场地数据库且希望与我们协调的开发人员(例如,“我知道Bowery宴会厅位于(x,y)。我想知道场地ID是什么这个在Foursquare上是吗?“)