我正在尝试使用以下API调用使用FourSquare API在纽约获得一些位置:
https://api.foursquare.com/v2/venues/search?ll=40.7,-74&limit=50
我不明白的是,如果通话限制为50个搜索结果(最大值),我该如何获得更多位置?使用Facebook API时,返回的结果是随机的,因此我可以发出多个调用以获得更多结果,但FourSquare似乎返回相同的结果集。有没有一个很好的方法来获得更多的位置?
修改
确定。所以有评论说我可以违反合同协议,我不知道为什么会这样。我很乐意接受这个推理。我怀疑是这样的:让我们假设,我正在寻找的位置不在50个结果中?在那种情况下,不应该在某处有分页机制吗?
答案 0 :(得分:2)
API文档here可以提供帮助。
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
将为您提供两组不同的场地(可能会重叠,具体取决于积分的接近程度)。
搜索方法的默认意图是'checkin',它将返回最接近该点的50个最受欢迎的位置。如果您想要查看区域内的所有场地,则可以使用“浏览”意图。这需要一个'radius'参数,在这种情况下,它返回给定半径周围给定点的圆内的场地,或者它需要两个坐标代表矩形的'sw'和'ne'角。所以,你可以这样做:
https://api.foursquare.com/v2/venues/search?ll=40.705,-74.005&limit=50&intent=browse&radius=50
这将为您提供围绕该点50米圈内的50个场地。较小的半径将减少返回的场地数量。因此,通过改变搜索的半径和点(或'sw'和'ne'参数描述的矩形的大小和位置),您可以获得更多的场地返回。
希望有所帮助。
答案 1 :(得分:1)
当前API将结果限制为50.您应该尝试更改坐标以更精确,以避免找不到您的场地。
分页会很好,但是搜索会有很多场所。