『Cesium 基礎』Cesium事件基礎

關注公衆號"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

seeling_GIS

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章