【发布时间】:2012-06-15 18:58:36
【问题描述】:
是否可以在不传递“半径”参数的情况下搜索整个城市的场地(通过场地/搜索)?因为我不知道每个城市的半径:) 文档说“搜索可以在一个点附近或整个城市进行”,但我如何在场所/搜索中提供这个?
谢谢。
【问题讨论】:
标签: foursquare
是否可以在不传递“半径”参数的情况下搜索整个城市的场地(通过场地/搜索)?因为我不知道每个城市的半径:) 文档说“搜索可以在一个点附近或整个城市进行”,但我如何在场所/搜索中提供这个?
谢谢。
【问题讨论】:
标签: foursquare
我认为没有办法告诉它“搜索整个城市”,但我也认为这可能是一个错误的用例。
搜索时需要记住几点:
因此,如果您在 Foursquare 数据库中搜索一个拥有超过 50 个场地的城市,“搜索整个城市”通常会得到相同(最多)50 个结果 - 总是。
这就是过滤器派上用场的地方,在我们的例子中,为了让您获得更好的结果以满足我们的需求,我们使用 categoryId 结合半径来获取我们想要向用户展示的内容。有时我们会因为半径大而从其他城市获取信息,但对于我们的应用程序来说还可以,我们实际上为客户提供了更多选择:)。我也可以猜到很多应用程序也使用查询过滤器,因为他们知道他们正在寻找的地方的名称。
您只需要对其进行试验并了解如何获取适合您的应用程序的数据。
理论上,要搜索整个城市,我会使用来自 Google 或 Open Street Maps 或地名的城市 lat/lng,并围绕该点进行 10 公里搜索(intent=browse,radius=10000),以下是猜测,但它将为超过 99% 的拥有智能手机的人居住的城市提供 50 个位置:)
【讨论】:
您可以在一个城市内获取结果,如下所示:
https://api.foursquare.com/v2/venues/search?near=Singapore,Singapore&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET3&v=YYYYMMDD
有关更多详细信息,请查看文档:
https://developer.foursquare.com/docs/venues/explore
【讨论】:
假设您正在谈论带有查询的请求,我只会为半径设置一个合理的值并使用城市的默认市中心。如果您想避免显示来自邻近城市的结果,您可以在 location 节中通过返回的场地的“城市”字符串进行后请求过滤。
【讨论】: