是否可以通过ISO 3166-1 alpha-3国家/地区代码来过滤边界图块?如果是,那又如何?我已经搜索了文档,但没有找到任何东西。这是我目前通过2个字符的国家/地区代码iso_3166_1过滤图块的方式。我已尝试将其从'iso_3166_1'更改为'iso_3166_1_alpha_3',这是参考不同的参考文献,但它不起作用。
mapBox.on('load', () => {
mapBox.addSource('admin-1', {
type: 'vector',
url: 'mapbox://mapbox.boundaries-adm1-v3'
});
var countriesToDisplay: Array<string> = ['US', 'NZ']
countriesToDisplay.forEach((countryCode: string) => {
mapBox.addLayer({
id: 'admin-1-fill-' + countryCode,
type: 'fill',
source: 'admin-1',
'source-layer': 'boundaries_admin_1',
filter: ['any', ['all', ['==', ['get', 'iso_3166_1'], countryCode]]],
paint: { 'fill-color': '#044e9c' }
}, 'waterway-label');
});
});
答案 0 :(得分:1)
Mapbox Boundaries v3磁贴集在实际磁贴中仅具有一些功能,对于多边形而言,它们是:
在此处查看完整的参考文档:https://docs.mapbox.com/vector-tiles/reference/mapbox-boundaries-v3/#polygon-tileset-reference
其余数据存储在购买磁贴组时发送给您的补充查询表中。您可以在此处查看所有可用属性:https://docs.mapbox.com/help/tutorials/get-started-mapbox-boundaries/#feature-lookup-tables
您将需要执行数据联接,以使您可以在JavaScript中访问这些查找表中的数据。这里有一个指导您完成操作的教程:https://docs.mapbox.com/help/tutorials/data-joins-with-mapbox-boundaries/