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

transitions

先看结论

图层属性变化的过渡配置,让数值属性在指定时长内插值。

最后验证 2026-11-03 · deck.gl 9.0 · 更新 2026-10-27 · 引用本文
transitions: { attribute: { duration, easing } }

配置项

键默认说明
duration0毫秒,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)。