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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MapBox GL-主题化地基于客户端中的数据渲染GeoJson相关的知识,希望对你有一定的参考价值。

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

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

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

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

谢谢。

答案

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

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

以上是关于MapBox GL-主题化地基于客户端中的数据渲染GeoJson的主要内容,如果未能解决你的问题,请参考以下文章

Mapbox GL 使用外部地图

react-mapbox-gl中的可样式标记/功能?

Mapbox gl tile瓦片渲染点以及图片Icon

五分钟学GIS _ 快速认识 MapBox GL

mapbox-gl:从中心点、缩放级别和尺寸计算地图边界

如何在 mapbox-gl-js 中以某些缩放级别隐藏点标签?