通过在 MapboxGL 上插值平滑地旋转图标

Smoothly rotate icons via interpolate on MapboxGL

我正在尝试使用 MapboxGL 的数据驱动样式和插值表达式在地图标记的值发生变化时为它们的旋转设置动画。这是图层配置的相关部分:

{
  layout: {
    'icon-rotate': ['interpolate', ['linear'], ['number', ['get', 'winddir'], 0], -180,-180, -90,-90, 0,0, 90, 90, 180, 180]
  }
}

winddir 属性 将是 -180 和 180 之间的值。

地图上的标记已正确旋转。但是,当它们改变时,它们 "snap" 到下一个位置。我在想我没有正确使用 "stops"。 Here are interpolate 文档。

正如the documentation所说:

Layout property. Optional number. Units in degrees. Defaults to 0. Requires icon-image. Supports interpolate expressions.

它不包括神奇的术语"transitionable"。因此,动画过渡不适用于 icon-rotate.