经纬志
首页 / deck.gl / 使用示例

自定义组合图层

把「点 + 文字」封装成一个图层,对外只暴露数据和两个参数,内部自己拼子图层。

deck.gl 9.0 · 更新 2026-10-28
源码与运行效果
运行效果

说明

继承 CompositeLayer 并实现 renderLayers,返回子图层数组。子图层 id 用 this.id 做前缀,保证多次实例化也不冲突。

外部调用 setProps 改 minPop 或 showText,组合层重新执行 renderLayers,deck 负责复用未变化的子图层。

配置作用
renderLayers返回子图层数组,组合层唯一必填的方法
this.id 前缀子图层 id,避免同场景冲突
setProps修改自定义属性,触发重新渲染

不要在 renderLayers 里做昂贵的计算。它会在每次属性变化时执行,重活应该放在 updateState 并缓存结果。