一:基本概念
键盘事件属于屏幕空间事件处理程序的一种,其不能单独使用,需要配合鼠标事件一起使用。
二:shift事件
/* shift事件 */
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction((event) => {
console.log(event, '--event');
}, Cesium.ScreenSpaceEventType.LEFT_CLICK, Cesium.KeyboardEventModifier.SHIFT)
/*
输出结果
{
"position": {
"x": 303.20001220703125,
"y": 295.8000183105469
}
}
*/
/* 删除 shift事件 2s后删除事件*/
setTimeout(() => {
handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK, Cesium.KeyboardEventModifier.SHIFT)
}, 2000)
三:CTRL事件
/* ctrl事件 */
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction((event) => {
console.log(event, '--event');
}, Cesium.ScreenSpaceEventType.LEFT_CLICK, Cesium.KeyboardEventModifier.CTRL)
//输出结果之一
const result = {
"position": {
"x": 332,
"y": 322.20001220703125
}
}
/* 删除 ctrl事件 2s后删除事件*/
setTimeout(() => {
handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK, Cesium.KeyboardEventModifier.CTRL)
}, 2000)
四:ALT事件
/* alt事件 */
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction((event) => {
console.log(event, '--event');
}, Cesium.ScreenSpaceEventType.LEFT_CLICK, Cesium.KeyboardEventModifier.ALT)
//输出结果之一
const result = {
"position": {
"x": 315.20001220703125,
"y": 304.6000061035156
}
}
/* 删除 alt事件 2s后删除事件*/
setTimeout(() => {
handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK, Cesium.KeyboardEventModifier.ALT)
}, 2000)