访问Openlayers网站(https://jinuss.github.io/Openlayers_map_pages/,网站是基于
Vue3
+Openlayers
,里面有大量的实践和案例。觉得还不错,可以给个小星星Star,鼓励一波 https://github.com/Jinuss/OpenlayersMap哦~
概述
本文主要介绍 Openlayer 中渲染器的基类LayerRenderer
类。在 Openlayers 中无论图层用canvas
还是WebGL
渲染,它们都是基于LayerRenderer
类实现的。
源码剖析
LayerRenderer
类是继承于Observable
类,关于Observable
类可以参考源码分析之Openlayers中的Observable类
LayerRenderer
类的实现如下:
class LayerRenderer extends Observable {
constructor(layer) {
super();
this.ready = true;
this.boundHandleImageChange_ = this.handleImageChange_.bind(this);
this.layer_ = layer;
this.staleKeys_ = new Array();
this.maxStaleKeys = maxStaleKeys;
}
getStaleKeys() {
return this.staleLeys_;