SuperMap.Control.ModifyFeature

矢量要素编辑控件。 该控件激活时,选中需要编辑的要素,会动态绘制要素的顶点,这些顶点可以被拖拽。默认时, 删除键(delete)会删除鼠标下面的顶点。

通过 active 和 deactive 两个方法,实现动态的激活和注销,该控件的激活和注销用法如下示例所示:

激活控件用用如下方法:

modifyFeature.activate();

注销控件,如下方法:

modifyFeature.deactivate();

Inherits From

Summary
SuperMap.Control.ModifyFeature 矢量要素编辑控件。 该控件激活时,选中需要编辑的要素,会动态绘制要素的顶点,这些顶点可以被拖拽。默认时, 删除键(delete)会删除鼠标下面的顶点。
Properties
snap {SuperMap.Snap} 捕捉对象,用于在绘制过程中对其他要素进行捕捉
Constants
EVENT_TYPES
Properties
clickout {Boolean} 是否在要素区域外点击鼠标,取消选择要素。默认为true。
deleteCodes {Array(Integer)} 设置删除顶点的键盘快捷键。为空时,不能通过键盘删除顶点。 非空时,按下设置的键,可以删除鼠标位置下的顶点。默认为 46和68,表示’delete’和’d’键。
geometryTypes {Array(String)} 指定可编辑要素的geometry类型集合。例如:[‘SuperMap.Geometry.Point’]
mode {Integer} 该属性使用位字段指定编辑模式。默认为 SuperMap.Control.ModifyFeature.RESHAPE。若多个mode组合使用可以用 | 符号隔开。例如:
stackLimit <Integer> 撤销恢复栈的大小,默认为100
standalone {Boolean} 该属性为true时,创建的控件不具有选择要素的能力,若对要素进行编辑,需要调用 ‘selectFeature’ 和 (编辑下一个要素之前需要对前一个要素调用)’unselectFeature’ 方法。 默认为false。
toggle {Boolean} 是否在选中的要素上点击,取消选择。默认为true。
vertexRenderIntent {String} 该属性作用于顶点。若virtualStyle属性未设置,顶点会使用fillOpacity、strokeOpacity为0.3的默认值。 默认为null,顶点使用layer的默认样式。
virtualStyle {Object} 虚拟顶点的符号样式。
Constructor
SuperMap.Control.ModifyFeature 创建该控件的新实例。
Functions
activate 激活该控件。
clearUndoStack 清除撤销恢复堆栈
deactivate 取消激活控件,使其不可用。
destroy 销毁该类,释放空间。
redo 恢复操作
selectFeature 在standalone模式下,选择需要编辑的要素。
undo 撤销操作
unselectFeature 取消选择编辑的要素。
Constants
DRAG {Integer} drag 模式下使控件激活有效的常量。
RESHAPE {Integer} reshape模式下使控件激活有效的常量.
RESIZE {Integer} resize模式下使控件激活有效的常量。
ROTATE {Integer} rotate 模式下使控件激活有效的常量。

Properties

snap

{SuperMap.Snap} 捕捉对象,用于在绘制过程中对其他要素进行捕捉

Constants

EVENT_TYPES

支持的事件类型

  • beforefeaturemodified 当图层上的要素开始编辑前触发该事件。
  • featuremodified 当图层上的要素编辑时触发该事件。
  • afterfeaturemodified 当图层上的要素编辑完成时,触发该事件。

Properties

geometryTypes

{Array(String)} 指定可编辑要素的geometry类型集合。例如:[‘SuperMap.Geometry.Point’]

clickout

{Boolean} 是否在要素区域外点击鼠标,取消选择要素。默认为true。

toggle

{Boolean} 是否在选中的要素上点击,取消选择。默认为true。

standalone

{Boolean} 该属性为true时,创建的控件不具有选择要素的能力,若对要素进行编辑,需要调用 ‘selectFeature’ 和 (编辑下一个要素之前需要对前一个要素调用)’unselectFeature’ 方法。 默认为false。

deleteCodes

{Array(Integer)} 设置删除顶点的键盘快捷键。为空时,不能通过键盘删除顶点。 非空时,按下设置的键,可以删除鼠标位置下的顶点。默认为 46和68,表示’delete’和’d’键。

virtualStyle

{Object} 虚拟顶点的符号样式。

vertexRenderIntent

{String} 该属性作用于顶点。若virtualStyle属性未设置,顶点会使用fillOpacity、strokeOpacity为0.3的默认值。 默认为null,顶点使用layer的默认样式。

stackLimit

<Integer> 撤销恢复栈的大小,默认为100

mode

{Integer} 该属性使用位字段指定编辑模式。默认为 SuperMap.Control.ModifyFeature.RESHAPE。若多个mode组合使用可以用 | 符号隔开。例如:

control.mode = SuperMap.Control.ModifyFeature.RESIZE |
               SuperMap.Control.ModifyFeature.ROTATE;

Constructor

SuperMap.Control.ModifyFeature

创建该控件的新实例。

Parameters

layer {SuperMap.Layer.Vector} 执行编辑要素的图层。
options {Object} 设置该类开放的属性值。

创建 ModifyFeature 控件新实例的方法如下所示:

//定义一个矢量图层 vectorLayer 进行要素的编辑
var vectorLayer = new SuperMap.Layer.Vector("vector Layer");
//实例化一个 modifyFeature 控件
var modifyFeature = new SuperMap.Control.ModifyFeature(vectorLayer);
//地图上添加控件
map.addControl(modifyFeature);
//激活 modifyFeature 控件
modifyFeature.activate();

Functions

destroy

destroy: function()

销毁该类,释放空间。

clearUndoStack

clearUndoStack: function()

清除撤销恢复堆栈

activate

activate: function()

激活该控件。

Returns

{Boolean} 激活控件是否成功。

deactivate

deactivate: function()

取消激活控件,使其不可用。

Returns

{Boolean} 返回操作是否成功。

selectFeature

selectFeature: function( feature )

在standalone模式下,选择需要编辑的要素。

Parameters

feature {SuperMap.Feature.Vector} 被选中的要素。

unselectFeature

unselectFeature: function( feature )

取消选择编辑的要素。

Parameters

feature {SuperMap.Feature.Vector} The unselected feature.

undo

undo:function()

撤销操作

redo

redo:function()

恢复操作

Constants

RESHAPE

{Integer} reshape模式下使控件激活有效的常量.

RESIZE

{Integer} resize模式下使控件激活有效的常量。

ROTATE

{Integer} rotate 模式下使控件激活有效的常量。

DRAG

{Integer} drag 模式下使控件激活有效的常量。

捕捉类,在绘制以及编辑要素时,将捕捉类开启,则会捕捉的效果,即鼠标点在某一要素附近时,绘制点或者编辑点会被捕捉到要素上去
destroy: function()
销毁该类,释放空间。
clearUndoStack: function()
清除撤销恢复堆栈
activate: function()
激活该控件。
deactivate: function()
取消激活控件,使其不可用。
selectFeature: function( feature )
在standalone模式下,选择需要编辑的要素。
unselectFeature: function( feature )
取消选择编辑的要素。
undo:function()
撤销操作
redo:function()
恢复操作
控件类,提供了多种控件,比如比例尺控件,鹰眼控件,缩放条控件等等。 用于处理 Control 事件的事件处理器 Handler,内部封装了一系列的浏览器事件, 在控件(control)实现过程中可调用Handler,通过 active和 deactive两个方法,实现动态的激活和注销。
该图层用于渲染矢量要素。
矢量要素类。该类具有 Geometry 属性存放几何信息, attributes 属性存放非几何信息,另外还包含了 style 属性,用来定义矢量要素的样式, 其中,默认的样式在 SuperMap.Feature.Vector.style 类中定义,如果没有特别的指定将使用默认的样式,
Close