Cesium 鼠标事件监听

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30100043/article/details/86637203

在Cesium里面,我们可以通过Cesium.ScreenSpaceEventHandler的实例化对象的setInputAction方法绑定鼠标事件:

var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
//todo:在椭球下点击创建点
handler.setInputAction(function(event) {
    var earthPosition  = viewer.camera.pickEllipsoid(event.position,viewer.scene.globe.ellipsoid);
    if (Cesium.defined(earthPosition)) {
        createPoint(earthPosition); //在点击位置添加一个点
    }
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

setInputAction的第一个参数是当事件触发时的回调,第二个参数是绑定的事件类型。案例中绑定的鼠标左键点击事件,其它还有:
鼠标左键单击事件

Cesium.ScreenSpaceEventType.LEFT_CLICK

鼠标左键双击事件

Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK

鼠标左键按下事件

Cesium.ScreenSpaceEventType.LEFT_DOWN 

鼠标左键抬起事件

Cesium.ScreenSpaceEventType.LEFT_UP 

鼠标中键单击事​​件

Cesium.ScreenSpaceEventType.MIDDLE_CLICK 

鼠标中键按下事件

Cesium.ScreenSpaceEventType.MIDDLE_DOWN 

鼠标中键抬起事件

Cesium.ScreenSpaceEventType.MIDDLE_UP 

鼠标移动事件

Cesium.ScreenSpaceEventType.MOUSE_MOVE 

触摸表面上的双指事件的结束

Cesium.ScreenSpaceEventType.PINCH_END 

触摸表面上双指移动事件

Cesium.ScreenSpaceEventType.PINCH_MOVE 

触摸表面上双指事件的开始

Cesium.ScreenSpaceEventType.PINCH_START 

鼠标右键单击事件

Cesium.ScreenSpaceEventType.RIGHT_CLICK 

鼠标右键按下事件

Cesium.ScreenSpaceEventType.RIGHT_DOWN 

鼠标滚轮事件

Cesium.ScreenSpaceEventType.WHEEL 

如果想要接触某一个交互事件可以通过handler对象里面removeInputAction 事件解除,下面是解除鼠标左键单击事件:

handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);

猜你喜欢

转载自blog.csdn.net/qq_30100043/article/details/86637203