MapBox GL-主题化地基于客户端中的数据渲染GeoJson

问题描述 投票:0回答:1

我有一个显示美国各州的geoJson图层,只有一个ID,没有其他属性。

我在内存中还有一个本地数据数组,其中包含有关这些州的许多属性:诸如人口,耕地面积,销售税率等。这些属性之一是位于geoJson层中的ID。因此,我应该能够将本地数组与geoJson图层中的要素连接在一起。

我希望能够根据那些属性中的任何一个对主题进行主题化样式设置,从而允许用户选择属性。我在MapBox中看到的关于GeoJson图层主题样式的所有示例都要求(1)属性存在于geoJson本身中,以及(2)您事先定义属性和样式规则(我不确定是否存在稍后更改此方法的方式)。

[在其他地图库中,我认为包括Leaflet在内,您都可以定义绘画功能,然后传入特征。 MapBox GL中有类似的东西吗?

谢谢。

mapbox-gl-js
1个回答
0
投票

您可以通过将geojson数据和您的“属性”数据合并到单个geojson要素集中来简化生活。

一旦完成,就可以使用map.setPaintProperty(layerId, ...)根据用户交互来更新图层样式:https://docs.mapbox.com/mapbox-gl-js/api/#map#setpaintproperty

© www.soinside.com 2019 - 2024. All rights reserved.