Class: BaseFeatureLayerView

BaseFeatureLayerView

new BaseFeatureLayerView()

view/BaseFeatureLayerView.js, line 9

要素图层视图基类。

负责维护要素缓存、监听要素与图层变化,并将变化同步给底层渲染器, 适用于以要素集合为核心的数据驱动图层视图实现。

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
message String
updateContent UpdateContent | Array.<UpdateContent>
Returns:
Type Description
*

_initFeatures(featureSet, renderer){void}

view/BaseFeatureLayerView.js, line 172

初始化要素缓存并应用渲染信息。

支持 FeatureSetFeature[] 作为输入;输入非法时仅记录提示日志。

Name Type Description
featureSet FeatureSet | Array.<Feature>

要素集或要素数组。

renderer BaseRenderer

当前图层渲染器。

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
options Object {} 可选

构造参数。

Returns:
Type Description
void

inherited _layerChangeAction(event){void}

view/BaseRendererLayerView.js, line 81

处理图层属性变化。

当图层 renderer 变化时,调用 _rendererChangeAction 执行重绘或样式刷新。

Name Type Description
event Event

图层属性变化事件对象。

Returns:
Type Description
void

_onFeatureChange(event){void}

view/BaseFeatureLayerView.js, line 92

处理单个要素属性变化。

支持几何与符号变化的增量更新,减少整层重绘开销。

Name Type Description
event Event

要素变化事件对象。

Returns:
Type Description
void

_onFeatureSetCacheChange(e){void}

view/BaseFeatureLayerView.js, line 128

处理要素集合增删变化。

当缓存中新增或移除要素时,调用渲染器执行对应的绘制或清理。

Name Type Description
e Object

要素集合变更对象。

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
event Event

图层属性变化事件对象。

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
e Event

视图缩放事件对象。

Returns:
Type Description
void

inherited checkLayerCanAddedStatus(){Boolean}

view/LayerView.js, line 183

检查当前图层视图是否仍然允许被添加到视图中。

在异步创建图层视图的过程中,如果图层已经从父容器移除, 或所属视图已经被销毁,则应放弃继续执行添加逻辑。

Returns:
Type Description
Boolean true 表示图层仍存在且视图未销毁;否则返回 false

inherited onAdd(图层事件){Promise.<LayerView>}

view/BaseRendererLayerView.js, line 32

添加图层视图

Name Type Description
图层事件 LayerEvent
Returns:
Type Description
Promise.<LayerView> 图层视图

inherited onRefresh(){Promise.<LayerView>}

view/LayerView.js, line 197

刷新当前图层视图。

默认实现会先执行 onRemove,再执行 onAdd, 并通过防抖包装避免高频重复刷新。

Returns:
Type Description
Promise.<LayerView> 刷新完成后返回当前图层视图对象。

onRemove(图层事件){Promise.<LayerView>}

view/BaseFeatureLayerView.js, line 194

移除图层视图

Name Type Description
图层事件 LayerEvent
Returns:
Type Description
Promise.<LayerView> 图层视图

inherited onUpdate(event){Promise.<LayerView>}

view/LayerView.js, line 69

根据图层更新事件同步刷新当前图层视图状态。

当图层属性、样式或数据发生变化时,视图层会调用该方法执行对应更新逻辑。 具体更新行为由子类决定。

Name Type Description
event LayerViewUpdateEvent 可选

图层视图更新事件对象。

Returns:
Type Description
Promise.<LayerView> 更新完成后返回当前图层视图对象。