Cesium鼠標事件


computed: {
  handler() {
    return new this.Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas)
  }
}
在事件的外面先定義一下 const _this = this (因為在setInputAction方法中,this的指向會發生變化,不再指向vue實例) 用this.Cesium是因為在mainjs里配置了Cesium的全局變量

// 1.移動事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    // 獲取到的是鼠標經過cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.MOUSE_MOVE)

// 2.左鍵單擊事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    // 獲取到的是鼠標點擊cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.LEFT_CLICK)

// 3.左鍵按下事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    // 獲取到的是鼠標按下cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.LEFT_DOWN)

// 4.左鍵抬起事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    // 獲取到的是鼠標抬起cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.LEFT_UP)

// 5.滑輪事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    // 向上滑是100  向下滑是-100
}, _this.Cesium.ScreenSpaceEventType.WHEEL)

// 6.滑輪點擊事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    //獲取到的是滑輪點擊cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.MIDDLE_CLICK)

// 7.滑輪按下事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    //獲取到的是滑輪按下cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.MIDDLE_DOWN)

// 8.滑輪抬起事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    //獲取到的是滑輪抬起cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.MIDDLE_UP)

// 9.右鍵單擊事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    //獲取到的是右鍵點擊cesium的屏幕坐標
//一般在右鍵的時候結束 同時也清除定義的事件
      _this.handler.removeInputAction(_this.Cesium.ScreenSpaceEventType.方法名)
      如:
      _this.handler.removeInputAction(_this.Cesium.ScreenSpaceEventType.LEFT_CLICK)  //移除左鍵單擊事件
      _this.handler.removeInputAction(_this.Cesium.ScreenSpaceEventType.MOUSE_MOVE)  //移除鼠標移動事件
    
}, _this.Cesium.ScreenSpaceEventType.RIGHT_CLICK)

// 10.右鍵按下事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    //獲取到的是右鍵按下cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.RIGHT_DOWN)

// 11.右鍵抬起事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    //獲取到的是右鍵抬起cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.RIGHT_UP)

// 12.左鍵雙擊事件

_this.handler.setInputAction(function (movement) {
    console.log(movement)
    //獲取到的是左鍵雙擊cesium的屏幕坐標
}, _this.Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM