Foursquare API:如何探索行政区划(例如“自治市镇”)内的场地

Foursquare API: how to explore venues within an administrative division such as ‘borough’

我是 Foursquare 的初学者API。

到目前为止,我学到的大多数 Foursquare 技术都是在单个经纬度地理坐标对中从单个位置点(例如咖啡馆或旅馆)进行查询,例如搜索或探索。

我的问题是,是否可以进行查询以探索某个区域内的场地,而不是在单个位置点附近。我所说的“一个地区”,我特指行政区划的单位,例如一个自治市镇,一个街区。

换句话说,如果可能的话,我打算查询将从我感兴趣的行政区划(例如自治市镇)的区域规范开始,例如它的名称或边界的地理坐标——作为 'key' 到 link 使用 Foursquare 数据,而不是从单个位置点开始。

我下载了 GeoJson 文件,该文件已经定义了我感兴趣的城市(link:http://cdn.buenosaires.gob.ar/datosabiertos/datasets/barrios/barrios.geojson)的行政区划边界的地理坐标。仅供参考,在此 link 中,邻域被描述为“barrio”,边界以 'Polygon'.

的形式定义

我只是想知道我是否可以使用区域规范——行政区划的名称或行政区划边界的一组地理坐标——作为查询餐馆、医院等场所的关键字,以及行政区划(例如自治市镇)单位内的政策。

我想潜在的问题是 Foursquare 方面是否在其系统的某个地方存储了此类信息:如果没有,我考虑的方法将行不通。 或者可能有完全不同的解决方法来实现我的目标。

如果有人能就此事向我提出建议,我将不胜感激。

谢谢

鉴于文档中列出的参数,我认为最好的方法是使用 llnear 参数,并包含一个 radius 以便您可以限制搜索对于给定的区域或区域。

要获得多边形的中点,我想您需要做一些数学运算,但应该不会那么困难。

除此之外,我认为 Foursquare API 中似乎没有任何其他参数可以按区域或坐标数组(多边形)进行搜索。

无论如何,我建议您查看两个 search and explore 端点的 Foursquare API 文档并自行检查。

因为您已经有了感兴趣区域的多边形:

  1. 您可以在其中放置许多小半径圆圈以覆盖大部分区域。

  2. 不推荐这样做,因为它可能会受到速率限制或将您列入黑名单,但是:foursquare 网站有一个 'draw' 工具,可让您绘制多边形并在其中搜索场地。 (在您的浏览器中打开检查下的网络选项卡并查看请求)我注意到它也不能采用非常复杂的多边形,没有飞地,并且它进一步积极简化多边形以删除 holes/dents/land 桥。

这是我的演示请求。多边形搜索并不严格,可能会显示边界外的一些场地。

url:

https://foursquare.com/explore?mode=url&polygon=35.957999786220704%2C-80.41236877441406%3B35.897393965545646%2C-80.38215637207031%3B35.87847989454576%2C-80.55107116699219%3B35.954664894270834%2C-80.54901123046875%3B35.994118756097%2C-80.386962890625%3B35.957999786220704%2C-80.41236877441406

场地对应的get:

https://api.foursquare.com/v2/search/recommendations?locale=en&explicit-lang=false&v=20210302&m=foursquare&limit=30&intent=bestnearby&polygon=40.8252411857252%2C-74.00630950927733%3B40.817446884558805%2C-73.99772644042969%3B40.81147063339219%2C-73.99875640869139%3B40.80757278825516%2C-74.00768280029297%3B40.80887209540822%2C-74.01729583740234%3B40.81406906961218%2C-74.02175903320312%3B40.8197852710803%2C-74.02210235595702%3B40.826280356677124%2C-74.01695251464844%3B40.8252411857252%2C-74.00630950927733&wsid={}&oauth_token={}