矢量要素编辑控件。 该控件激活时,选中需要编辑的要素,会动态绘制要素的顶点,这些顶点可以被拖拽。默认时, 删除键(delete)会删除鼠标下面的顶点。
通过 active 和 deactive 两个方法,实现动态的激活和注销,该控件的激活和注销用法如下示例所示:
激活控件用用如下方法:
modifyFeature.activate();
注销控件,如下方法:
modifyFeature.deactivate();
SuperMap. |
矢量要素编辑控件。 该控件激活时,选中需要编辑的要素,会动态绘制要素的顶点,这些顶点可以被拖拽。默认时, 删除键(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. |
创建该控件的新实例。 |
Functions | |
activate | 激活该控件。 |
clearUndoStack | 清除撤销恢复堆栈 |
deactivate | 取消激活控件,使其不可用。 |
destroy | 销毁该类,释放空间。 |
redo | 恢复操作 |
selectFeature | 在standalone模式下,选择需要编辑的要素。 |
undo | 撤销操作 |
unselectFeature | 取消选择编辑的要素。 |
Constants | |
DRAG | {Integer} drag 模式下使控件激活有效的常量。 |
RESHAPE | {Integer} reshape模式下使控件激活有效的常量. |
RESIZE | {Integer} resize模式下使控件激活有效的常量。 |
ROTATE | {Integer} rotate 模式下使控件激活有效的常量。 |
{SuperMap.Snap} 捕捉对象,用于在绘制过程中对其他要素进行捕捉
创建该控件的新实例。
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();
selectFeature: function( feature )
在standalone模式下,选择需要编辑的要素。
feature | {SuperMap.Feature.Vector} 被选中的要素。 |
unselectFeature: function( feature )
取消选择编辑的要素。
feature | {SuperMap.Feature.Vector} The unselected feature. |
销毁该类,释放空间。
destroy: function()
清除撤销恢复堆栈
clearUndoStack: function()
激活该控件。
activate: function()
取消激活控件,使其不可用。
deactivate: function()
在standalone模式下,选择需要编辑的要素。
selectFeature: function( feature )
取消选择编辑的要素。
unselectFeature: function( feature )
撤销操作
undo:function()
恢复操作
redo:function()