lit渲染插件
用pbr材质渲染三维面数据的渲染插件。
配置说明
js
{
renderPlugin: {
// [必填] 固定为lit
type: "lit",
// [必填] 数据生成设置
dataConfig: {
// [必填],数据类型
// 数据类型,可以是
// 3d-extrusion: 提升二维面为三维面
// line-extrusion: 提升二维线为三维线
type: "3d-extrusion",
// [可选] 默认为 null
// 顶部高度的属性值,如果没有设置,则用默认高度
altitudeProperty: "height",
// [可选] 默认为 null
// 底部高度的属性值,如果底部高度不为0,则三维体会悬空。如果没有设置,则底部高度默认为0。
minHeightProperty: "min_height",
// [可选] 默认为1,单位米
// 高度缩放比例,例如altitudeProperty中如果存储的是楼层数,可以把altitudeScale设为层高,例如4米
altitudeScale: 1,
// [可选] 默认为0,单位米
// 默认的高度。
// 注:2026 源码 build3DExtrusion 中 defaultAltitude 缺省时为 0;
// ExtrudePolygonLayer(矢量图层)的默认 dataConfig 中为 20。
defaultAltitude: 0,
// [可选] 默认为0,单位米
// 顶部的厚度,如果不为0,顶部会变成有厚度的形式。
topThickness: 0,
// [可选] 默认为true
// 是否构造顶部数据。
top: true,
// [可选] 默认为true
// 是否构造侧面数据。
side: true
},
// [可选] 场景渲染设置
sceneConfig: {
// [可选] 默认为 "one"
// WebGL的blendEquation的src参数,可选的值有:
// 0, 1, "src color", "one minus src color", "src alpha", "one minus dst color", "dst alpha",
// "one minus dst alpha", "constant color", "one minus constant color", "constant alpha",
// "one minus constant alpha", "src alpha saturate"
blendSrc: "one",
// [可选] 默认为 "one minus src alpha"
// WebGL的blendEquation的dst参数,可选的值有:
// 0, 1, "src color", "one minus src color", "src alpha", "one minus dst color", "dst alpha",
// "one minus dst alpha", "constant color", "one minus constant color", "constant alpha",
// "one minus constant alpha", "src alpha saturate"
blendDst: "one minus src alpha",
// [可选] 默认为[0, 1]
// WebGL深度值范围
depthRange: [0, 1],
// 【可选],默认为null
// feature-filter类型,符合条件的数据将不被渲染
excludes: null
// [可选] 默认为<=
// WebGL深度测试函数,可选的值有 always, never, <, <=, !=, >, >=
depthFunc: '<=',
// [可选] String类型,默认为null
// 三维面的进场动画,animation制定了动画的easing
// 具体支持的easing种类可以参考: https://github.com/fuzhenn/animation-easings
animation: null,
// [可选] 默认为 800,单位ms
// 动画持续时间
animationDuration: 800
}
},
filter: true,
symbol: {
visible: true,
bloom: false,
ssr: false,
polygonOpacity: 1,
material: {
baseColorFactor: [1, 1, 1, 1],
roughnessFactor: 0.4,
metallicFactor: 0
}
}
}filter 数据过滤条件的具体说明请点击这里。
支持的数据类型
- 如果是矢量瓦片数据,支持type为LineString,Polygon,MultiLineString或者MultiPolygon类型的Feature
- 如果是GeoJSON数据,支持type为LineString,Polygon,MultiLineString或者MultiPolygon类型的Feature
- 如果是矢量图层,则支持maptalks.LineString, maptalks.MultiLineString, maptalks.Polygon, maptalks.MultiPolygon.
动态样式
目前只有visible,polygonFill,polygonOpacity支持function-type 表达式,支持根据不同zoom级别或数据的属性值设置不同的样式属性。
例如以下示例,能让面的透明度在不同地图级别上由小变大:
json
{
"polygonOpacity": {
"stops": [[1, 0.1], [20, 1]]
}
}支持的Symbol样式属性
visible
默认值:true
Boolean,是否显示。
polygonFill
默认值:[1, 1, 1, 1]
String | Number[],基础颜色,可以为css颜色值或者归一化四位数组。
polygonOpacity
默认值:1
Number 透明度,取值范围 0 - 1。
bloom
默认值:false
Boolean,是否支持bloom泛光后处理。
ssr
默认值:false
Boolean,是否支持ssr屏幕空间反射后处理。
material
默认值:null
Object,pbr材质设置,具体属性可以参考材质说明文档。
注:新版本还有 tube/heatmap/billboard/terrain-flat-mask 渲染插件,暂无独立文档(2026 核对)
本文档已与 @maptalks/gl-layers 2026 源码核对(api-notes-vt-gl.md)