前言
最新的OpenLayers 6.1.1 中提供了一個基於WebGL用於渲染大量點要素並且支持類expressions語法描述的動畫渲染。OpenLayers6之前的老版本是不支持動畫渲染的,如果想要實現動畫要素效果,需要利用OpenLayers的render機制來實現動畫幀的渲染。本文藉由分析WebGLPointsLayer動畫的實現,探索了一下OpenLayers的圖層渲染機制。
從ol.layer.WebGLPointsLayer開始
書歸正傳,先看一下 WebGLPointsLayer 的動畫渲染是怎麼做到的。先看看官方實例:
……
import WebGLPointsLayer from 'ol/layer/WebGLPoints';
……
var map = new Map({
layers