Cesium.js点击事件包括向下,向上,单击,双击,按住按钮时移动。
事件枚举
ScreenSpaceEventType
{
static constant Cesium.ScreenSpaceEventType.LEFT_CLICK //表示鼠标左键单击事件。
static constant Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK //表示鼠标左键双击事件。
static constant Cesium.ScreenSpaceEventType.LEFT_DOWN //表示鼠标左键按下事件。
static constant Cesium.ScreenSpaceEventType.LEFT_UP //表示鼠标左键按下事件。
static constant Cesium.ScreenSpaceEventType.MIDDLE_CLICK //表示鼠标中键单击事件。
static constant Cesium.ScreenSpaceEventType.MIDDLE_DOWN //表示鼠标中键按下事件。
static constant Cesium.ScreenSpaceEventType.MIDDLE_UP //表示鼠标中键按下事件。
static constant Cesium.ScreenSpaceEventType.MOUSE_MOVE //表示鼠标移动事件。
static constant Cesium.ScreenSpaceEventType.PINCH_END //表示两指事件在触摸面上的结束。
static constant Cesium.ScreenSpaceEventType.PINCH_MOVE //表示触摸表面上两指事件的变化。
static constant Cesium.ScreenSpaceEventType.PINCH_START //表示在触摸面上发生两指事件的开始。
static constant Cesium.ScreenSpaceEventType.RIGHT_CLICK //表示鼠标右键单击事件。
static constant Cesium.ScreenSpaceEventType.RIGHT_DOWN //表示鼠标左键按下事件。
static constant Cesium.ScreenSpaceEventType.RIGHT_UP //表示鼠标右键按下事件。
static constant Cesium.ScreenSpaceEventType.WHEEL //表示鼠标滚轮事件。
}
以上事件大体分三类
一:当前点
var handler = new Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas);
handler.setInputAction(function(e){
alert('左键单击事件:'+ e.position);
},Cesium.ScreenSpaceEventType.LEFT_CLICK);
二:变化点
var handler = new Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas);
handler.setInputAction(function(movement){
console.log('移动事件:',movement.endPosition);
},Cesium.ScreenSpaceEventType.MOUSE_MOVE);
三:变化趋势
handler.setInputAction(function(wheelment){
console.log('滚轮事件:',wheelment);
},Cesium.ScreenSpaceEventType.WHEEL);
事件注销
handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
应用
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(function(e){
var pick = viewer.scene.pick(e.position);
if (Cesium.defined(pick)){
alert('选中:'+ pick.id.name);
}
},Cesium.ScreenSpaceEventType.LEFT_CLICK);