首页 > 解决方案 > 仅使用 fetch API 从 mapbox 获取建筑物多边形点

问题描述

我尝试从要素中获取建筑物几何坐标多边形,但如果没有 javascript 方法 queryRenderedFeatures 或 SourceFeatures,我似乎无法找到一种方法。这个问题从 mapbox api 获取建筑信息使用 javascript 方法,但我想要一些可以使用链接的东西,我可以从中获取 json。

我设法接近了这样的事情: https ://api.mapbox.com/v4/mapbox.mapbox-streets-v8/tilequery/27.598505,47.162098.json?radius=30&layers=road,poi_label,building,geometry&access_token =ACCESS_TOKEN_HERE。但这有一个重大缺陷:它只返回几何作为一个点:

{"type":"FeatureCollection","features":[{"type":"Feature","id":235028771,"geometry":{"type":"Point","coordinates":[27.598497434198464,47.16209573500234],"type":"building"...}}

您可以观察到即使它是建筑物,它也会返回一个点。有没有办法做到这一点?queryRenderedFeatures 方法确实返回一个多边形。不知何故,信息到达了我查询的 Map 对象,但我如何通过 api 获取该信息?

标签: mapboxmapbox-gl-jsmapbox-glmapbox-androidmapbox-ios

解决方案


你试图做的事情是不可能的。Mapbox 不提供完整的多边形数据集。充其量,有一些方法可以从矢量瓦片集中检索多边形(例如query-remote-tiles,它的功能类似于 TileQuery)。但是这些只会检索给定矢量切片中的多边形部分,这可能不是您想要的。(queryRenderedFeatures 有同样的问题)。


推荐阅读