new BaseFeatureLayerView()
要素图层视图基类。
负责维护要素缓存、监听要素与图层变化,并将变化同步给底层渲染器, 适用于以要素集合为核心的数据驱动图层视图实现。
Example
创建要素图层视图基类实例
// ES5引入方式
const { BaseFeatureLayerView } = zondy.view
// ES6引入方式
import { BaseFeatureLayerView } from '@mapgis/webclient-common'
Extends
Members
-
innerViewObject null
-
当前图层视图所属的引擎内部视图对象。
该属性等价于
view.getInnerView()的快捷访问方式,常用于子类在实现底层引擎交互时直接读取内部视图。
Methods
-
inherited _fireLayerViewUpdateEvent(message, updateContent){*}
view/LayerView.js, line 219 -
发送视图更新事件
Name Type Description messageString updateContentUpdateContent | Array.<UpdateContent> Returns:
Type Description * -
_initFeatures(featureSet, renderer){void}
view/BaseFeatureLayerView.js, line 172 -
初始化要素缓存并应用渲染信息。
支持
FeatureSet或Feature[]作为输入;输入非法时仅记录提示日志。Name Type Description featureSetFeatureSet | Array.<Feature> 要素集或要素数组。
rendererBaseRenderer 当前图层渲染器。
Returns:
Type Description void -
_initHandlers(){void}
view/BaseFeatureLayerView.js, line 42 -
绑定要素图层视图相关监听。
包括要素属性变化、要素集合增删变化和视图缩放变化。
Returns:
Type Description void -
inherited _initInstance(options){void}
view/BaseRendererLayerView.js, line 47 -
初始化实例附加状态。
由子类按需覆盖,用于补充渲染器相关成员初始化。
Name Type Default Description optionsObject {} 可选 构造参数。
Returns:
Type Description void -
inherited _layerChangeAction(event){void}
view/BaseRendererLayerView.js, line 81 -
处理图层属性变化。
当图层
renderer变化时,调用_rendererChangeAction执行重绘或样式刷新。Name Type Description eventEvent 图层属性变化事件对象。
Returns:
Type Description void -
_onFeatureChange(event){void}
view/BaseFeatureLayerView.js, line 92 -
处理单个要素属性变化。
支持几何与符号变化的增量更新,减少整层重绘开销。
Name Type Description eventEvent 要素变化事件对象。
Returns:
Type Description void -
_onFeatureSetCacheChange(e){void}
view/BaseFeatureLayerView.js, line 128 -
处理要素集合增删变化。
当缓存中新增或移除要素时,调用渲染器执行对应的绘制或清理。
Name Type Description eObject 要素集合变更对象。
Returns:
Type Description void -
_removeHandlers(){void}
view/BaseFeatureLayerView.js, line 61 -
解绑要素图层视图相关监听。
Returns:
Type Description void -
_rendererChangeAction(event){void}
view/BaseFeatureLayerView.js, line 77 -
渲染器变化后的要素样式同步。
当图层渲染器更新后,按最新渲染规则重算缓存要素样式。
Name Type Description eventEvent 图层属性变化事件对象。
Returns:
Type Description void -
inherited _updateScaleVisible(){*}
view/LayerView.js, line 100 -
更新比例尺可见性
Returns:
Type Description * -
_zoomChange(e){void}
view/BaseFeatureLayerView.js, line 151 -
处理视图缩放变化。
当前主要用于
random渲染器在缩放变化时重算随机渲染结果。Name Type Description eEvent 视图缩放事件对象。
Returns:
Type Description void -
inherited checkLayerCanAddedStatus(){Boolean}
view/LayerView.js, line 183 -
检查当前图层视图是否仍然允许被添加到视图中。
在异步创建图层视图的过程中,如果图层已经从父容器移除, 或所属视图已经被销毁,则应放弃继续执行添加逻辑。
Returns:
Type Description Boolean true表示图层仍存在且视图未销毁;否则返回false。 -
添加图层视图
Name Type Description 图层事件LayerEvent Returns:
Type Description Promise.<LayerView> 图层视图 -
刷新当前图层视图。
默认实现会先执行
onRemove,再执行onAdd, 并通过防抖包装避免高频重复刷新。Returns:
Type Description Promise.<LayerView> 刷新完成后返回当前图层视图对象。 -
onRemove(图层事件){Promise.<LayerView>}
view/BaseFeatureLayerView.js, line 194 -
移除图层视图
Name Type Description 图层事件LayerEvent Returns:
Type Description Promise.<LayerView> 图层视图 -
根据图层更新事件同步刷新当前图层视图状态。
当图层属性、样式或数据发生变化时,视图层会调用该方法执行对应更新逻辑。 具体更新行为由子类决定。
Name Type Description eventLayerViewUpdateEvent 可选 图层视图更新事件对象。
Returns:
Type Description Promise.<LayerView> 更新完成后返回当前图层视图对象。