Cesium 鼠标事件的2种方式

Cesium 鼠标事件

2种方式

 	//  方式 1 
    viewer.screenSpaceEventHandler.setInputAction((e) => {
        // dosomething
    }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
    // 方式 2 
    let hander = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
    hander.setInputAction(() => {
        // dosomething
    },Cesium.ScreenSpaceEventType.LEFT_CLICK)

区别

	// 用方式1 定义2个相同的事件时 只能生效一个
 	viewer.screenSpaceEventHandler.setInputAction((e) => {
        // dosomething
    }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
 	viewer.screenSpaceEventHandler.setInputAction((e) => {
        // dosomething
    }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
	
	// 用方式2 定义2个相同的事件时 ,定义2个不同的hander时  可以共存
	let hander1 = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
    hander1.setInputAction(() => {
        // dosomething
    },Cesium.ScreenSpaceEventType.LEFT_CLICK)
	let hander2 = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
	hander2.setInputAction(() => {
        // dosomething
    },Cesium.ScreenSpaceEventType.LEFT_CLICK)
	

移除

// 方式1
viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
// 方式2
handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK)//移除事件

posted @ 2022-08-30 16:29  有点油  阅读(753)  评论(0编辑  收藏  举报