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