鼠标拖拽要素类,使用此类可以通过鼠标拖拽达到移动对象的目的。
通过 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()