首页 / deck.gl / API 文档
transitions
先看结论
图层属性变化的过渡配置,让数值属性在指定时长内插值。
transitions: { attribute: { duration, easing } }
配置项
| 键 | 默认 | 说明 |
|---|---|---|
duration | 0 | 毫秒,0 表示不过渡 |
easing | 线性 | 缓动函数,如 t => t * t |
enter | — | 新数据的进入方式,可指定起始值 |
onStart | — | 过渡开始回调 |
onEnd | — | 过渡结束回调 |
示例
new deck.ScatterplotLayer({
id: 'points',
data: points,
getRadius: radius,
transitions: {
getRadius: {
duration: 800,
easing: function (t) { return t * (2 - t); }
}
}
});
触发条件
过渡在属性值变化时启动,前提是图层按 id 复用了同一个实例。 每次新建图层、id 不同,会直接被当成新图层,过渡不会发生。
颜色过渡
颜色按通道插值,数组长度必须与原来一致。 从 RGB 三通道切到 RGBA 四通道,过渡会被跳过,颜色直接跳变。
与视图动画的区别
transitions 只管图层属性,视角变化要自己插值
viewState。把两者混在一起配置,视角不会动。
过渡期间数据仍在重算。长时长配大数据量会持续占用主线程, 交互会发涩。600 到 1000 毫秒是比较稳妥的区间。
经纬志(2026)。《transitions》。https://www.jingweizhi.com/deckgl/api/transitions.html(访问日期 2026-11-03)。