美文网首页开源
『Cesium 基础』Cesium事件基础

『Cesium 基础』Cesium事件基础

作者: seelingzheng | 来源:发表于2020-04-10 01:14 被阅读0次

    关注公众号"seeling_GIS",回复『前端视频』,领取前端学习视频资料
    Cesium事件

    基于canvas事件 -- Cesium.ScreenSpaceEventType

    鼠标左键

    事件类型 含义
    LEFT_CLICK 单击
    LEFT_DOUBLE_CLICK 双击
    LEFT_DOWN 左键按下
    LEFT_UP 左键弹起

    鼠标中键

    事件类型 含义
    MIDDLE_CLICK 单击
    MIDDLE_DOWN 按下
    MIDDLE_UP 弹起

    鼠标右键

    事件类型 含义
    RIGHT_CLICK 单击
    RIGHT_DOWN 按下
    RIGHT_UP 弹起

    双指触摸

    事件类型 含义
    PINCH_START 双指开始事件
    PINCH_END 双指结束事件
    PINCH_MOVE 双指更改事件

    其他鼠标事件

    事件类型 含义
    MOUSE_MOVE 鼠标移动事件
    WHEEL 鼠标滚轮事件

    使用事件

    var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
    
    let eventType= Cesium.ScreenSpaceEventType.LEFT_CLICK
    //注册事件
    handler.setInputAction(event=>{
        console.log(event);
    }, eventType);
    
    //注销事件
    handler.removeInputAction(eventType)
    

    相机事件 -- Cesium.CameraEventType

    鼠标操作相机事件

    事件类型 含义
    LEFT_DRAG 按住鼠标左键,然后移动鼠标并释放按钮
    MIDDLE_DRAG 按住鼠标中键,然后移动鼠标并释放按钮
    PINCH 触摸表面上的双指触摸
    RIGHT_DRAG 按住鼠标右键,然后移动鼠标并释放按钮
    WHEEL 滚动鼠标中键

    使用事件

    // 需要回调的函数 
    function callbackFunc(event){
        cosnole.log(event)
    }
    
    // 注册事件 
    // 相机开始移动处理事件 
    viewer.scene.camera.moveStart.addEventListender(callbackFunc)
    // 相机停止移动处理事件
    viewer.scene.camera.moveEnd.addEventListender(callbackFunc)
    
    // 注销事件
    
    // 相机开始移动处理事件 
    viewer.scene.camera.moveStart.removeEventListender(callbackFunc)
    // 相机停止移动处理事件
    viewer.scene.camera.moveEnd.removeEventListender(callbackFunc) 
    
    

    渲染事件

    // 需要回调的函数 
    function callbackFunc(event){
        cosnole.log(event)
    }
    // 渲染之前执行
    viewer.scene.preRender.addEventListender(callbackFunc)
    viewer.scene.preRender.removeEventListender(callbackFunc)
    
    // 更新之前执行
    viewer.scene.preUpdate.addEventListender(callbackFunc)
    viewer.scene.preUpdate.removeEventListender(callbackFunc)
    
    // 实时渲染执行
    viewer.scene.postRender.addEventListender(callbackFunc)
    viewer.scene.postRender.removeEventListender(callbackFunc)
    
    // 实时更新执行
    viewer.scene.postUpdate.addEventListender(callbackFunc)
    viewer.scene.postUpdate.removeEventListender(callbackFunc) 
    
    

    更多内容,欢迎关注公众号


    seeling_GIS

    相关文章

      网友评论

        本文标题:『Cesium 基础』Cesium事件基础

        本文链接:https://www.haomeiwen.com/subject/brokmhtx.html