检测并响应自定义键盘输入事件

时间:2017-02-28 22:04:43

标签: javascript cesium

我应该怎样去听按键,按键和按键,例如 A Alt + A

根据ScreenSpaceEventHandler(element).setInputAction(action, type, modifier)的文档,typemodifier必须分别属于ScreenSpaceEventTypeKeyboardEventModifier类型,这相当于受到限制为我的目的提供的一系列活动。

1 个答案:

答案 0 :(得分:1)

ScreenSpaceEventHandler仅适用于涉及屏幕空间的输入事件:鼠标,触摸和指针事件。对于 ALT + A 等原始键盘事件,只需使用keyboard eventskeydown等JavaScript原生keypress即可。 #39; t需要铯帮助接收这些事件。

但是,您需要将tabindex应用于Cesium画布,以使其能够接收输入焦点:

var viewer = new Cesium.Viewer('cesiumContainer');
var canvas = viewer.canvas;
canvas.setAttribute('tabindex', '0'); // needed to put focus on the canvas

您可以在Cesium Camera Tutorial中找到完整的工作示例。单击地球本身,然后使用 W A S D 移动相机。< / p>