javascript - 我如何获得更多位置?

标签 javascript python http foursquare

我正在尝试通过以下 API 调用使用 FourSquare API 获取纽约的一些位置:

https://api.foursquare.com/v2/venues/search?ll=40.7,-74&limit=50

我不明白的是,如果调用限制了 50 个搜索结果(这是最大值),我怎样才能获得更多位置?使用 Facebook API 时,返回的结果是随机的,因此我可以发出多次调用以获得更多结果,但 FourSquare 似乎返回相同的结果集。有没有获得更多位置的好方法?

编辑:

好的。所以有评论说我可能会违反契约(Contract)协议(protocol),我不确定为什么会这样。我很乐意接受对此的推理。我的疑问是:假设我要搜索的位置不在返回的 50 个结果中?那样的话,是不是应该在某处有一个分页机制?

最佳答案

API 文档 here可以提供帮助。

Foursquare 搜索与您提供的位置“point”(查询中的“ll”参数)密切相关。简单的答案是,要在给定区域内找到更多场所,您只需使用该区域内的不同位置“点”再次查询即可。

两个查询,都在彼此靠近的点上:

https://api.foursquare.com/v2/venues/search?ll=40.700,-74.000&limit=50
https://api.foursquare.com/v2/venues/search?ll=40.705,-74.005&limit=50

将为您提供两组不同的 field (可能会重叠,具体取决于点的距离)。

搜索方法的默认意图是“checkin”,它将返回距离该点最近的 50 个最受欢迎的位置。相反,如果您想查看某个区域内的所有场所,则可以使用“浏览”意图。这需要一个“radius”参数,在这种情况下,它会返回具有给定半径的给定点周围圆圈内的 field ,或者它需要两个坐标代表矩形的“sw”和“ne” Angular 。所以,你可以这样做:

https://api.foursquare.com/v2/venues/search?ll=40.705,-74.005&limit=50&intent=browse&radius=50

这将为您提供该点周围 50 米圆内的 50 个 field 。较小的半径将减少返回的 field 数量。因此,通过改变搜索的半径和点(或“sw”和“ne”参数描述的矩形的大小和位置),您可以获得更多的返回地点。

希望对您有所帮助。

关于javascript - 我如何获得更多位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7303309/

相关文章:

python - 时间数据与格式不匹配...即使它匹配

java - 如何在 AsyncTask 中捕获内存不足异常

javascript - Chrome本地存储的正确使用方法获取

php - 弹出一个带有 php var 的 javascript 对话框

python - TFLearn:仅使用 tflearn 创建训练测试集

Python FTP 最近的文件

c# - Mac OS X 上的 Mono - 并行 HTTP 下载限制为 2

c++ - 无法接收 HTTP 响应正文 C++

javascript - 对于大请求第二次触发 Json 请求

javascript - 使用 Quill 时更改工具栏按钮的颜色?