SuperMap.Control.DragFeature

鼠标拖拽要素类,使用此类可以通过鼠标拖拽达到移动对象的目的。

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

dragFeature.activate();

注销控件,方法如下:

dragFeature.deactivate();

Inherits From

Summary
SuperMap.Control.DragFeature 鼠标拖拽要素类,使用此类可以通过鼠标拖拽达到移动对象的目的。
Properties
documentDrag {Boolean} 当该属性为true,拖拽要素时,鼠标移动到地图可视区域外依然有效。默认为false。
geometryTypes {Array(String)} 设置该属性可以限制操作对象的类型,例如:若实现只拖拽点要素,可将该属性值设置为 [‘SuperMap.Geometry.Point’]
onComplete {Function} 拖拽完成时都会调用该方法。该方法传递两个参数:拖拽的矢量要素、鼠标当前位置。
onDrag {Function} 矢量要素的每一次移动都会调用该方法。该方法传递两个参数:拖拽的矢量要素、鼠标当前位置。
onEnter {Function} 当鼠标悬浮在矢量要素上,即将执行拖拽时执行该函数。该函数传递一个参数:准备拖拽的对象。
onLeave {Function} 当拖拽执行完毕,鼠标即将离开矢量要素时执行该函数。
onStart {Function} 拖拽开始时执行的方法。该方法传递两个参数:拖拽的矢量要素、鼠标当前位置。
Constructor
SuperMap.Control.DragFeature 构造拖拽控件。
Functions
activate 激活控件和要素处理程序。
deactivate 取消激活控件和要素处理函数。
destroy 销毁该类,释放引用的资源。

Properties

geometryTypes

{Array(String)} 设置该属性可以限制操作对象的类型,例如:若实现只拖拽点要素,可将该属性值设置为 [‘SuperMap.Geometry.Point’]

onStart

{Function} 拖拽开始时执行的方法。该方法传递两个参数:拖拽的矢量要素、鼠标当前位置。

  • (code) var dragFeature = new SuperMap.Control.DragFeature(vectorLayer); dragFeature.onStart=test; function test(feature,pixel){ var fea= feature; var position = pixel; console.log( fea); } (end)

Parameters

feature {SuperMap.Feature.Vector} 拖拽的要素。
pixel {SuperMap.Pixel} 鼠标当前的位置。

onDrag

{Function} 矢量要素的每一次移动都会调用该方法。该方法传递两个参数:拖拽的矢量要素、鼠标当前位置。

var dragFeature = new SuperMap.Control.DragFeature(vectorLayer);
dragFeature.onDrag=onDrag;
function onDrag(feature,pixel){
    var fea= feature;
    var position = pixel;
    console.log( fea);
}

Parameters

feature {SuperMap.Feature.Vector} 拖拽的要素。
pixel {SuperMap.Pixel} 鼠标当前的位置。

onComplete

{Function} 拖拽完成时都会调用该方法。该方法传递两个参数:拖拽的矢量要素、鼠标当前位置。

var dragFeature = new SuperMap.Control.DragFeature(vectorLayer);
dragFeature.onComplete=onComplete;
function onComplete(feature,pixel){
    var fea= feature;
    var position = pixel;
    console.log( fea);
}

Parameters

feature {SuperMap.Feature.Vector} 拖拽的要素。
pixel {SuperMap.Pixel} 鼠标当前的位置。

onEnter

{Function} 当鼠标悬浮在矢量要素上,即将执行拖拽时执行该函数。该函数传递一个参数:准备拖拽的对象。

var dragFeature = new SuperMap.Control.DragFeature(vectorLayer);
dragFeature.onEnter=onEnter;
function onEnter(feature){
    var fea= feature;
    console.log( fea);
}

Parameters

feature {SuperMap.Feature.Vector} 准备拖拽的对象。

onLeave

{Function} 当拖拽执行完毕,鼠标即将离开矢量要素时执行该函数。

  • (code) var dragFeature = new SuperMap.Control.DragFeature(vectorLayer); dragFeature.onLeave=onLeave; function onLeave(feature){ var fea= feature; console.log( fea); } (end)

Parameters

feature {SuperMap.Feature.Vector} 被拖拽的矢量要素。

documentDrag

{Boolean} 当该属性为true,拖拽要素时,鼠标移动到地图可视区域外依然有效。默认为false。

Constructor

SuperMap.Control.DragFeature

构造拖拽控件。

Parameters

layer {SuperMap.Layer.Vector} 可执行拖拽操作的矢量图层。
options {Object} 可选参数。包括该类开放的接口。

构造拖拽控件 DragFeature 控件,如下所示:

//先定义一个矢量图层 vectorLayer
var vectorLayer = new SuperMap.Layer.Vector("vector layer");
//实例化 DragFeature 控件
var dragFeature = new SuperMap.Control.DragFeature(vectorLayer);
//map上添加控件
map.addControl(dragFeature);
//激活控件
dragFeature.activate();

Functions

destroy

destroy: function()

销毁该类,释放引用的资源。

activate

activate: function()

激活控件和要素处理程序。

Returns

{Boolean} 操作执行是否成功。

deactivate

deactivate: function()

取消激活控件和要素处理函数。

Returns

{Boolean} 操作执行是否成功。

destroy: function()
销毁该类,释放引用的资源。
activate: function()
激活控件和要素处理程序。
deactivate: function()
取消激活控件和要素处理函数。
控件类,提供了多种控件,比如比例尺控件,鹰眼控件,缩放条控件等等。 用于处理 Control 事件的事件处理器 Handler,内部封装了一系列的浏览器事件, 在控件(control)实现过程中可调用Handler,通过 active和 deactive两个方法,实现动态的激活和注销。
矢量要素类。该类具有 Geometry 属性存放几何信息, attributes 属性存放非几何信息,另外还包含了 style 属性,用来定义矢量要素的样式, 其中,默认的样式在 SuperMap.Feature.Vector.style 类中定义,如果没有特别的指定将使用默认的样式,
此类用x,y坐标描绘屏幕坐标(像素点)。
该图层用于渲染矢量要素。
Close