Class: MouseEventHandler

csview~ MouseEventHandler


new MouseEventHandler()

鼠标事件控制器,主要控制鼠标相关消息的相应。

支持以下消息类型的相应:
1. Initialize 控制器被添加到视图中时触发
2. LeftDown 鼠标左键按下时触发
3. LeftUp 鼠标左键抬起时触发
4. LeftClick 鼠标左键单击时触发
5. LeftDoubleClick 鼠标左键双击时触发
6. RightDown 鼠标右键按下时触发
7. RightUp 鼠标右键抬起时触发
8. RightClick 鼠标右键单击时触发
9. MouseMove 鼠标移动时触发
10. Wheel 鼠标滚轴触发
11. Destroy 控制器从视图中移除时触发
Examples
function clickCallback(event, modifier) {
    var screenPosition = event.position;

    // ECEF坐标
    var position = csView.pickPosition([screenPosition.x, screenPosition.y]);
    console.log(position);

    // 经纬度
    var coordinate = csView.getCamera().clientToWorld(screenPosition.x, screenPosition.y);
    console.log(coordinate);
}
var clickHandler = new sg.csview.MouseEventHandler();
clickHandler.setHandle('LeftClick', clickCallback);
csView.setHandlers(clickHandler);
function moveCallback(event, modifier) {
    var screenPosition = event.endPosition; //注意在鼠标移动中,是endPosition

    // ECEF坐标
    var position = csView.pickPosition([screenPosition.x, screenPosition.y]);
    console.log(position);

    // 经纬度
    var coordinate = csView.getCamera().clientToWorld(screenPosition.x, screenPosition.y);
    console.log(coordinate);
}
var moveHandler = new sg.csview.MouseEventHandler();
moveHandler.setHandle('LeftClick', moveCallback);
csView.setHandlers(moveHandler);

Extends

Members


enabled

是否启用
Inherited From:
Overrides:

Methods


getHandle(type)

根据消息类型获取相应的控制函数(回调函数)
Parameters:
Name Type Description
type string 消息类型

setHandle(type, handle)

Parameters:
Name Type Description
type string 消息类型
handle function | Callback 控制函数(回调函数)

initialize()

当控制器被添加到视图中时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('Initialize', callback),指定当控制器被添加到视图中时的控制函数
Overrides:

handleLeftDown(event, modifier)

鼠标左键按下时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('LeftDown', callback),指定鼠标左键按下时的控制函数
Parameters:
Name Type Description
event Object
Properties
Name Type Description
position Cartesian2 屏幕坐标
modifier KeyboardEventModifier Cesium.KeyboardEventModifier.ALT; Cesium.KeyboardEventModifier.CTRL; Cesium.KeyboardEventModifier.SHIFT
Overrides:

handleLeftUp(event, modifier)

鼠标左键抬起时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('LeftUp', callback),指定鼠标左键抬起时的控制函数
Parameters:
Name Type Description
event Object
Properties
Name Type Description
position Cartesian2 屏幕坐标
modifier KeyboardEventModifier Cesium.KeyboardEventModifier.ALT; Cesium.KeyboardEventModifier.CTRL; Cesium.KeyboardEventModifier.SHIFT
Overrides:

handleLeftClick(event, modifier)

鼠标左键单击时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('LeftClick', callback),指定鼠标左键单击时的控制函数
Parameters:
Name Type Description
event Object
Properties
Name Type Description
position Cartesian2 屏幕坐标
modifier KeyboardEventModifier Cesium.KeyboardEventModifier.ALT; Cesium.KeyboardEventModifier.CTRL; Cesium.KeyboardEventModifier.SHIFT
Overrides:

handleLeftDoubleClick(event, modifier)

鼠标左键双击时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('LeftDoubleClick', callback),指定鼠标左键双击时的控制函数
Parameters:
Name Type Description
event Object
Properties
Name Type Description
position Cartesian2 屏幕坐标
modifier KeyboardEventModifier Cesium.KeyboardEventModifier.ALT; Cesium.KeyboardEventModifier.CTRL; Cesium.KeyboardEventModifier.SHIFT
Overrides:

handleRightDown(event, modifier)

鼠标右键按下时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('RightDown', callback),指定鼠标右键按下时的控制函数
Parameters:
Name Type Description
event Object
Properties
Name Type Description
position Cartesian2 屏幕坐标
modifier KeyboardEventModifier Cesium.KeyboardEventModifier.ALT; Cesium.KeyboardEventModifier.CTRL; Cesium.KeyboardEventModifier.SHIFT
Overrides:

handleRightUp(event, modifier)

鼠标右键抬起时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('RightUp', callback),指定鼠标右键抬起时的控制函数
Parameters:
Name Type Description
event Object
Properties
Name Type Description
position Cartesian2 屏幕坐标
modifier KeyboardEventModifier Cesium.KeyboardEventModifier.ALT; Cesium.KeyboardEventModifier.CTRL; Cesium.KeyboardEventModifier.SHIFT
Overrides:

handleRightClick(event, modifier)

鼠标右键单击时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('RightClick', callback),指定鼠标右键单击时的控制函数
Parameters:
Name Type Description
event Object
Properties
Name Type Description
position Cartesian2 屏幕坐标
modifier KeyboardEventModifier Cesium.KeyboardEventModifier.ALT; Cesium.KeyboardEventModifier.CTRL; Cesium.KeyboardEventModifier.SHIFT
Overrides:

handleMouseMove(event, modifier)

鼠标移动时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('MouseMove', callback),指定鼠标移动时的控制函数
Parameters:
Name Type Description
event Object
Properties
Name Type Description
startPosition Cartesian2 移动前屏幕坐标
endPosition Cartesian2 移动后屏幕坐标
modifier KeyboardEventModifier Cesium.KeyboardEventModifier.ALT; Cesium.KeyboardEventModifier.CTRL; Cesium.KeyboardEventModifier.SHIFT
Overrides:

handleWheel(delta, modifier)

鼠标滚轮滚动时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('Wheel', callback),指定鼠标滚轮滚动时的控制函数
Parameters:
Name Type Description
delta Number
modifier KeyboardEventModifier Cesium.KeyboardEventModifier.ALT; Cesium.KeyboardEventModifier.CTRL; Cesium.KeyboardEventModifier.SHIFT
Overrides:

destroy()

当控制器从视图中移除时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('Destroy', callback),指定当控制器从视图中移除时的控制函数
Overrides:

getView()

获取当前控制器的视图对象
Inherited From:
Overrides:

getHitTolerance()

获取像素容差
Inherited From:
Overrides:

setHitTolerance(value)

设置像素容差
Parameters:
Name Type Description
value Number 像素容差
Inherited From:
Overrides:

dispatchEvent(event)

发送事件消息,每个事件消息都有类型(type),所有监听此对象对应类型事件的监听者都会接收到相应的事件消息
Parameters:
Name Type Description
event string | module:events.Event 事件对象
Inherited From:
Overrides:

on(type, listener [, opt_this])

指定监听器监听指定类型的事件
Parameters:
Name Type Argument Default Description
type string 事件类型
listener callback | function 监听器
opt_this Object <optional>
target 在监听器中的`this`所指示的对象,默认是`target`自身
Inherited From:
Overrides:
Returns:
监听器的唯一标识.
Type
Object

once(type, listener [, opt_this])

指定监听器只监听一次指定类型的事件
Parameters:
Name Type Argument Default Description
type string 事件类型
listener callback | function 监听器
opt_this Object <optional>
target 在监听器中的`this`所指示的对象,默认是`target`自身
Inherited From:
Overrides:
Returns:
监听器的唯一标识.
Type
Object

un(type, listener [, opt_this])

取消指定监听器监听指定类型的事件
Parameters:
Name Type Argument Default Description
type string 事件类型
listener callback | function 监听器
opt_this Object <optional>
target 在监听器中的`this`所指示的对象,默认是`target`自身
Inherited From:
Overrides:

unByKey(key)

根据监听器的唯一标识取消指定监听器监听事件,监听器的唯一标识通过`on()`或者`once()`返回得到
Parameters:
Name Type Description
key Object | Array.<Object> 监听器的唯一标识,通过`on()`或者`once()`返回得到,可以是多个监听器的唯一标识数组
Inherited From:
Overrides: