如何获取更多地点?

1 投票
2 回答
2259 浏览
提问于 2025-04-17 01:27

我正在尝试使用FourSquare的API获取一些纽约的地点,使用的API调用如下:

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

我不明白的是,如果这个调用限制了最多返回50个搜索结果,那我怎么才能获取更多的地点呢?在使用Facebook的API时,返回的结果是随机的,所以我可以多次调用来获取更多结果,但FourSquare似乎总是返回相同的结果集。有没有什么好的方法可以获取更多地点呢?

补充:

好的。有个评论提到我可能违反了某种合同协议,但我不太明白为什么会这样。我很乐意接受这个理由。我的疑问是:假设我搜索的地点不在返回的50个结果中,那应该在某个地方有分页机制吧?

2 个回答

1

现在这个接口的结果最多只能显示50个。你可以试着调整你的坐标,让它更准确,这样就能更容易找到你想去的地方。

如果能分页显示就更好了,不过50个地方其实已经很多了。

2

这里的API文档 可以帮到你。

在Foursquare上搜索地点时,你提供的“点”(也就是查询中的“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

这样你就能得到两组不同的场所(可能会有重叠,具体取决于这两个点有多近)。

搜索方法的默认设置是“签到”,这会返回离你提供的点最近的50个热门地点。如果你想查看某个区域内的所有场所,可以使用“浏览”这个选项。这个选项可以接受一个“半径”参数,这样就会返回在你提供的点周围,半径范围内的场所;或者你也可以提供两个坐标,代表一个矩形的“西南”和“东北”两个角。比如,你可以这样做:

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

这样就会给你返回在那个点周围50米范围内的50个场所。半径越小,返回的场所数量就会越少。因此,通过调整半径和你搜索的点(或者通过“西南”和“东北”参数描述的矩形的大小和位置),你可以获得更多的场所。

希望这些信息对你有帮助。

撰写回答