绘制要素类。通过事件处理器 Handler可以在vector图层上绘制点、线、面等要素,
通过 active 和 deactive 两个方法,实现动态的激活和注销。
调用 active 方法激活控件,如:
drawPoint.activate();
调用 deactive 方法注销控件,如:
drawPoint.deactivate();
| SuperMap. | 绘制要素类。通过事件处理器 Handler可以在vector图层上绘制点、线、面等要素, | 
| Properties | |
| snap | {SuperMap.Snap} 捕捉对象,用于在绘制过程中对其他要素进行捕捉 | 
| Constants | |
| EVENT_TYPES | {Array(String)} 支持的事件类型。 支持的事件类型: featureadded - 添加要素时触发此事件,触发此事件时会传入事件参数,事件参数包含了绘制的要素 feature 信息。 beforefeatureadded - 创建要素触发此事件,触发此事件时会传入事件参数,事件参数包含了绘制的要素 feature 信息。 | 
| Properties | |
| featureAdded | {Function} 当要素绘制成功时调用该函数。 | 
| handlerOptions | {Object} 常用于设置控件的事件处理器的非默认属性。 | 
| multi | {Boolean} 标识当前绘制的对象由多个部分组成。当多次绘制时,程序会将绘制的要素组合成一个要素。默认为false。 | 
| style | {Object} 用于设置所绘制Feature的样式。默认为图层的样式。 | 
| Constructor | |
| SuperMap. | |
| Functions | |
| cancel | 取消当前的绘制。这会移除当前绘制的要素,并且保持绘制控件在激活状态。 | 
| finishSketch | 结束要素的绘制,不包括当前已经绘制的点要素。需要提前结束而不是用户结束绘制时,可以调用此方法。 | 
| insertDeflectionLength | 给定一个偏转角度和长度,相对应当前绘制要素,插入一个点。偏转角度是顺时针方向。 | 
| insertDeltaXY | 相对于上一个插入的点,给定一个偏移距离,再插入一个点。 | 
| insertDirectionLength | 给定一个方向(角度)和长度,相对于当前绘制的要素,插入一个点。 | 
| insertXY | 给定点坐标,将一个点添加到当前轮廓上。只有当前的绘制的要素为线时才有效。 | 
| redo | 重新插入当前移除的点,该方法多由undo方法引发。 当任意点被添加时,undo堆栈会被清除。 | 
| undo | 移除当前绘制的要素的最后一个点。 | 
{SuperMap.Snap} 捕捉对象,用于在绘制过程中对其他要素进行捕捉
| layer | {SuperMap.Layer.Vector} 执行绘制要素的图层。 | 
| handler | {SuperMap.Handler} 要素绘制事件处理器,指定当前绘制的要素类型和操作方法。 | 
| options | {Object} 设置该类及其父类开放的属性。 | 
构建 DrawFeature 控件,可用如下方法:
       //声明一个矢量图层 vectorLayer 控件,用来呈现画面要素
var vectorLayer = new SuperMap.Layer.Vector("Vector Layer");
//实例化一个 DrawFeature 控件,调用绘制多边形的事件处理器 Handler.Polygon
var drawPolygon = new SuperMap.Control.DrawFeature(vectorLayer, SuperMap.Handler.Polygon);
//监听 featureadded 事件,当添加要素时会触发此事件
drawPolygon.events.on({"featureadded": drawCompleted});
//map上添加控件
map.addControl(drawPolygon);
//激活控件
drawPolygon.activate();
//定义 drawCompleted 函数,触发 featureadded 事件会调用此函数
//事件参数 eventArgs 包含了绘制的要素 feature 信息 {feature: featureObj}
function drawCompleted(eventArgs) {
    // 获取传入参数 eventArgs 的几何信息
    var geometry = eventArgs.feature.geometry;
    // TODO
    // 具体绘制过程可以参见范例《数据集查询编辑---几何查询》
}
      
     给定点坐标,将一个点添加到当前轮廓上。只有当前的绘制的要素为线时才有效。
insertXY: function( x, y ) 
相对于上一个插入的点,给定一个偏移距离,再插入一个点。
insertDeltaXY: function( dx, dy ) 
给定一个方向(角度)和长度,相对于当前绘制的要素,插入一个点。
insertDirectionLength: function( direction, length ) 
给定一个偏转角度和长度,相对应当前绘制要素,插入一个点。偏转角度是顺时针方向。
insertDeflectionLength: function( deflection, length ) 
移除当前绘制的要素的最后一个点。
undo: function() 
重新插入当前移除的点,该方法多由undo方法引发。 当任意点被添加时,undo堆栈会被清除。
redo: function() 
结束要素的绘制,不包括当前已经绘制的点要素。需要提前结束而不是用户结束绘制时,可以调用此方法。
finishSketch: function() 
取消当前的绘制。这会移除当前绘制的要素,并且保持绘制控件在激活状态。
cancel: function()