首页 / deck.gl / API 文档
SolidPolygonLayer
先看结论
面图层的底层实现,只负责几何与填充,没有 GeoJSON 解析开销。
new deck.SolidPolygonLayer(props)
参数
| 参数 | 默认 | 说明 |
|---|---|---|
getPolygon | — | 环数组,首环为外环,其余为洞 |
getFillColor | 黑 | 填充色 |
filled | true | 是否填充 |
extruded | false | 挤出成体块 |
getElevation | 0 | 挤出高度 |
wireframe | false | 显示三角化线框 |
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)。