OpenLayers 中的 Flash 动画无法连续渲染

Flash animation in OpenLayers is not continously rendered

我正在使用 Open Layers 5 显示地图中点的闪烁动画。 动画应在一段随机的、有限的时间后重新开始。为了做到这一点,我添加了一个超时函数,它会在大约 3 秒后调用动画函数。

代码与open layers例子类似: https://openlayers.org/en/latest/examples/feature-animation.html 唯一不同的是,我没有在间隔中添加特征,我为运行动画的每个特征设置了一个计时器。

第一次加这个功能的时候能看到动画,后来好像就没有渲染了。 动画仅在拖动地图时显示,所以我猜测当它在超时线程上 运行 时地图不会自动呈现,即使调用 map.render 也是如此。

添加地图项后,地图会自动 re-render,因此 flash 功能不需要强制进行初始渲染。如果要随机调用 flash,则需要在设置侦听器后强制渲染。

var listenerKey = map.on('postcompose', animate);
map.render();