DrawAction 是所有绘图动作的基类。DrawActions 使用视图事件来生成一组坐标来创建新的几何图形。每个都有不同的用途,允许您创建不同类型的几何图形,例如 point、multipoint、polyline 和 polygon。
调用 draw.create("type of geometry") 法时,会返回相关绘制动作的实例。 然后,您可以监听其事件以创建符合应用程序指定标准的新几何。
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 类名。 | 更多信息 | Accessor | |
Boolean | 更多信息 控制创建的几何图形是否具有 z 坐标。 | 更多信息 | DrawAction | |
Number[][] | 更多信息 数字的二维数组,表示组成正在绘制的几何图形的每个顶点的坐标。 | 更多信息 | DrawAction | |
MapView | 更多信息 对 MapView 的引用。 | 更多信息 | DrawAction |
属性详细说明
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
hasZ Boolean
-
控制创建的几何图形是否具有 z 坐标。
- 默认值:true
-
数字的二维数组,表示组成正在绘制的几何图形的每个顶点的坐标。
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
Boolean | 更多信息 指示是否可以在操作实例上调用 redo() 方法。 | 更多信息 | DrawAction | |
Boolean | 更多信息 指示是否可以在操作实例上调用 undo() 方法。 | 更多信息 | DrawAction | |
Boolean | 更多信息 在实例上触发事件。 | 更多信息 | DrawAction | |
FromScreenPointResult|null | 更多信息 将给定的屏幕点映射到地图点。 | 更多信息 | DrawAction | |
Number[]|null | 更多信息 将给定的屏幕点映射到地图点。 | 更多信息 | DrawAction | |
Boolean | 更多信息 指示实例上是否存在与提供的事件名称匹配的事件侦听器。 | 更多信息 | DrawAction | |
Object | 更多信息 在实例上注册事件处理程序。 | 更多信息 | DrawAction | |
更多信息 增量重做堆栈中记录的操作。 | 更多信息 | DrawAction | ||
Point|null | 更多信息 将给定的屏幕点映射到地图点。 | 更多信息 | DrawAction | |
更多信息 逐步撤消堆栈中记录的操作。 | 更多信息 | DrawAction |
方法详细说明
-
emit(type, event){Boolean}
-
在实例上触发事件。仅当创建此类的子类时才应使用此方法。
参数:type String事件名称
event Objectoptional事件负载。
返回值:类型 描述 Boolean 如果侦听器收到通知,则为 true
-
getCoordsAndPointFromScreenPoint(screenPoint){FromScreenPointResult|null}
-
将给定的屏幕点映射到地图点。
参数:screenPoint ScreenPoint屏幕上的位置。
返回值:类型 描述 FromScreenPointResult | null 包含的结果对象,如果无法映射屏幕点,则返回 null
。
-
将给定的屏幕点映射到地图点。
参数:screenPoint ScreenPoint屏幕上的位置。
返回值:类型 描述 Number[] | null 与给定屏幕点关联的点的 x、y 和 z 分量数组(如果启用了 hasZ),如果无法映射屏幕点,则为 null
。
-
hasEventListener(type){Boolean}
-
指示实例上是否存在与提供的事件名称匹配的事件侦听器。
参数:type String事件名称
返回值:类型 描述 Boolean 如果类支持输入事件,则返回 true。
-
on(type, listener){Object}
-
在实例上注册事件处理程序。调用此方法将事件与侦听器挂钩
参数:要监听的event 或者事件数组
listener Function事件触发时要调用的函数
返回值:类型 描述 Object 返回一个 remove()
方法的事件处理程序,该方法用以停止侦听事件。属性 类型 描述 remove Function 当被调用时,从事件中移除监听器。 示例代码:view.on("click", function(event){ // event是事件触发后返回的事件句柄。 console.log(event.mapPoint); });
-
redo()
-
增量重做堆栈中记录的操作。在调用此方法之前调用 canRedo() 以检查是否可以在操作实例上调用此方法。 调用此方法将触发 vertex-add 或 vertex-remove 事件,具体取决于最后一个操作。
示例代码:if (action.canRedo()) { action.redo(); }
-
将给定的屏幕点映射到地图点。
参数:screenPoint ScreenPoint屏幕上的位置。
返回值:类型 描述 Point | null MapPoint 与给定的屏幕点关联,如果屏幕点无法映射,则为 null。
-
undo()
-
逐步撤消堆栈中记录的操作。 在调用此方法之前调用 canUndo() 以检查是否可以在操作实例上调用此方法。 调用此方法将触发 vertex-add 或 vertex-remove 事件,具体取决于最后一个操作。
示例代码:if (action.canUndo()) { action.undo(); }
类型定义
-
FromScreenPointResult
-
getCoordsAndPointFromScreenPoint() 方法的结果对象。 有关每个属性的更多详细信息,请参见下表。
- 属性:
-
x、y 和 z 分量的数组(如果启用了 hasZ)。
mapPoint Point与给定屏幕点关联的点的地图点。