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);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容