经纬志
首页 / deck.gl / API 文档

SolidPolygonLayer

先看结论

面图层的底层实现,只负责几何与填充,没有 GeoJSON 解析开销。

最后验证 2026-11-03 · deck.gl 9.0 · 更新 2026-10-27 · 引用本文
new deck.SolidPolygonLayer(props)

参数

参数默认说明
getPolygon—环数组,首环为外环,其余为洞
getFillColor黑填充色
filledtrue是否填充
extrudedfalse挤出成体块
getElevation0挤出高度
wireframefalse显示三角化线框
material内置光照参数

示例

new deck.SolidPolygonLayer({
  id: 'blocks',
  data: blocks,
  getPolygon: function (d) { return d.rings; },
  getFillColor: [90, 160, 240, 190],
  extruded: true,
  getElevation: function (d) { return d.h; },
  elevationScale: 0.5,
  wireframe: false
});

与 PolygonLayer 的区别

PolygonLayer 支持 _normalize、侧面描边、GeoJSON 属性判断, 是面向业务的面图层。SolidPolygonLayer 只做几何填充, 适合已经处理好环数组、追求更低开销的场景。

洞的处理

第一个环是外环,后续环是洞。绕向不影响渲染结果, deck.gl 会按包含关系判断。环自相交时三角化会失败,那个面直接消失。

挤出后侧面颜色偏暗是光照结果,不是配色错误。 提高 material.ambient,或把环境光调到 0.6 以上。

引用本文

经纬志(2026)。《SolidPolygonLayer》。https://www.jingweizhi.com/deckgl/api/solid-polygon-layer.html(访问日期 2026-11-03)。