Class: BaseGraphicsLayerView

BaseGraphicsLayerView

new BaseGraphicsLayerView(options)

view/BaseGraphicsLayerView.js, line 5

图形图层视图基类。

负责监听 graphics 集合变化,并将增删改变化同步到底层渲染器。 适用于以 GraphicsLayer 为数据源的图层视图实现。

Name Type Default Description
options Object {} 可选

构造参数。

Example

创建图形图层视图基类实例

// ES5引入方式
const { BaseGraphicsLayerView } = zondy.view

// ES6引入方式
import { BaseGraphicsLayerView } from '@mapgis/webclient-common'

Extends

Members

innerViewObject null

当前图层视图所属的引擎内部视图对象。

该属性等价于 view.getInnerView() 的快捷访问方式,常用于子类在实现底层引擎交互时直接读取内部视图。

Methods

_featureCollectionChangeAction(event){void}

view/BaseGraphicsLayerView.js, line 84

处理图形集合变化。

支持以下场景:

  1. graphics 整体替换时清空并重绘。
  2. 单个图形几何、符号、可见性变化时执行增量更新。
Name Type Description
event Event

图形集合变化事件对象。

Returns:
Type Description
void

inherited _fireLayerViewUpdateEvent(message, updateContent){*}

view/LayerView.js, line 219

发送视图更新事件

Name Type Description
message String
updateContent UpdateContent | Array.<UpdateContent>
Returns:
Type Description
*

_initHandlers(){void}

view/BaseGraphicsLayerView.js, line 45

绑定图层属性监听。

Returns:
Type Description
void

_layerChangeAction(event){void}

view/BaseGraphicsLayerView.js, line 69

处理图层属性变化入口。

当前将变化事件统一分派给 _featureCollectionChangeAction 处理。

Name Type Description
event Event

图层变化事件对象。

Returns:
Type Description
void

_removeHandlers(){void}

view/BaseGraphicsLayerView.js, line 56

解绑图层属性监听。

Returns:
Type Description
void

inherited _updateScaleVisible(){*}

view/LayerView.js, line 100

更新比例尺可见性

Returns:
Type Description
*

inherited checkLayerCanAddedStatus(){Boolean}

view/LayerView.js, line 183

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

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

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

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

view/BaseGraphicsLayerView.js, line 33

添加图层视图

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/BaseGraphicsLayerView.js, line 129

移除图层视图

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> 更新完成后返回当前图层视图对象。