可以使用 Mapbox Static Tiles API 来获取瓦片集,并基于数据条件执行筛选。使用此 API 不需要 Mapbox GL 库,可以轻松地与任何 Web 应用程序或脚本集成。下面是一个获取 Mapbox 矢量瓦片中特定区域的示例代码。
const TILE_URL = 'https://api.mapbox.com/styles/v1/username/style_id/tiles/{z}/{x}/{y}?access_token=access_token';
const bbox = [-74.2657, 40.4774, -73.9866, 40.9176].join(); // south, west, north, east
async function getTiles() {
const url = TILE_URL.replace('style_id', 'style-id').replace('/tiles', '.json') + `&bbox=${bbox}`;
const response = await fetch(url);
const json = await response.json();
const { tiles } = json;
return tiles.map((url) => url.replace('.mvt', ''));
}
const tiles = await getTiles();
console.log(tiles);
在上述代码中,我们使用 Mapbox Static Tiles API URL,其中包含样式 ID、访问令牌和边界框(bbox)参数。我们使用 Fetch API 获取 API 响应,并从响应中提取每个瓷砖的 URL。最后,我们通过调用 getTiles() 来打印获取的瓷砖 URL。
请注意,此示例代码只适用于 Mapbox 矢量瓦片。如果您想要使用 Mapbox 样式中的栅格瓦片,则需要更改 URL。