【问题标题】:Foursquare API: Search venues in whole cityFoursquare API:搜索整个城市的场地
【发布时间】:2012-06-15 18:58:36
【问题描述】:

是否可以在不传递“半径”参数的情况下搜索整个城市的场地(通过场地/搜索)?因为我不知道每个城市的半径:) 文档说“搜索可以在一个点附近或整个城市进行”,但我如何在场所/搜索中提供这个?

谢谢。

【问题讨论】:

    标签: foursquare


    【解决方案1】:

    我认为没有办法告诉它“搜索整个城市”,但我也认为这可能是一个错误的用例。

    搜索时需要记住几点:

    1. Foursquare 将返回最多 50 个结果(limit 参数)
    2. 50 个结果按搜索中心周围最受欢迎的地点排序

    因此,如果您在 Foursquare 数据库中搜索一个拥有超过 50 个场地的城市,“搜索整个城市”通常会得到相同(最多)50 个结果 - 总是。

    这就是过滤器派上用场的地方,在我们的例子中,为了让您获得更好的结果以满足我们的需求,我们使用 categoryId 结合半径来获取我们想要向用户展示的内容。有时我们会因为半径大而从其他城市获取信息,但对于我们的应用程序来说还可以,我们实际上为客户提供了更多选择:)。我也可以猜到很多应用程序也使用查询过滤器,因为他们知道他们正在寻找的地方的名称。

    您只需要对其进行试验并了解如何获取适合您的应用程序的数据。

    理论上,要搜索整个城市,我会使用来自 Google 或 Open Street Maps 或地名的城市 lat/lng,并围绕该点进行 10 公里搜索(intent=browse,radius=10000),以下是猜测,但它将为超过 99% 的拥有智能手机的人居住的城市提供 50 个位置:)

    【讨论】:

      【解决方案2】:

      您可以在一个城市内获取结果,如下所示:

      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
      

      【讨论】:

        【解决方案3】:

        假设您正在谈论带有查询的请求,我只会为半径设置一个合理的值并使用城市的默认市中心。如果您想避免显示来自邻近城市的结果,您可以在 location 节中通过返回的场地的“城市”字符串进行后请求过滤。

        【讨论】:

          猜你喜欢
          • 2013-10-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多