cesium 鼠标事件


var viewer = new Cesium.Viewer('box', { });     //定义视图盒子

var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);   //实例化对象的setInputAction方法

handler.setInputAction(function(event) {     

    var earthPosition  = viewer.camera.pickEllipsoid(event.position,viewer.scene.globe.ellipsoid);    //可以拿到笛卡尔3d坐标系

console.log(event);   //可以得到笛卡尔平面坐标系

}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

/*

camera 相机方法 pickEllipsoid (windowPosition, ellipsoid , result ) 

windowPosition  Cartesian2 像素的x和y坐标。

ellipsoidEllipsoid  (默认格式)Ellipsoid.WGS84 【 可选 】要拾取的椭球(对象)。

result  将结果存储到的对象。 格式为Cartesian3

*/

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

其它还有:

鼠标左键双击事件 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

解除鼠标左键单击事件 removeInputAction 事件解除

handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);

你可能感兴趣的:(cesium 鼠标事件)