月球大数据地理空间分析展示平台-【前端】-月球2期前端
WX
2023-06-09 eff42e5897b5f0935aa5b93c1bd9acb8bb39b8f0
src/assets/js/Map/menuTool.js
@@ -1,140 +1,127 @@
const menuTool = {
    toolMenu: null,
    toolFlag: null,
    colorAll: {
    },
    topTools(res) {
        this.clearTopTools();
        if (res.id == this.toolFlag) {
            this.toolFlag = null;
            return
        }
        this.toolFlag = res.id;
        switch (res.id) {
            case 'a2'://点漫游
                this.pointRoam();
                break;
            case 'a3'://线漫游
                this.lineRoam();
                break;
            case 'b2'://表面距离
                this.surfaceDistance();
                break;
            case 'b3'://平面面积
                this.planeDistance();
                break;
            case 'b4'://高程测量
                this.heightMeasure();
                break;
            case 'b5'://垂直高度
                this.verticalHeight();
                break;
            case 'd4'://土方量计算
                this.Volumetric();
                break;
            case 'd5'://影像对比
                this.CurtainContrast();
                break;
            case 'g1'://坐标定位
                this.Coordposition();
                break;
        }
    },
    leftTools(res) {
        this.clearLeftTools()
        switch (res.id) {
            case 'l1':
                break;
            case 'l2':
                break;
            case 'l3'://在线制图
                this.setThematicMap();
                break;
            case 'l4':
                break;
            case 'l5':
                break;
            case 'l6':
                break;
        }
    },
  toolMenu: null,
  toolFlag: null,
  colorAll: {},
  topTools(res) {
    this.clearTopTools();
    if (res.id == this.toolFlag) {
      this.toolFlag = null;
      return;
    }
    this.toolFlag = res.id;
    switch (res.id) {
      case "a2": //点漫游
        this.pointRoam();
        break;
      case "a3": //线漫游
        this.lineRoam();
        break;
      case "b2": //表面距离
        this.surfaceDistance();
        break;
      case "b3": //平面面积
        this.planeDistance();
        break;
      case "b4": //高程测量
        this.heightMeasure();
        break;
      case "b5": //垂直高度
        this.verticalHeight();
        break;
      case "d4": //土方量计算
        this.Volumetric();
        break;
      case "d5": //影像对比
        this.CurtainContrast();
        break;
      case "g1": //坐标定位
        this.Coordposition();
        break;
    }
  },
  leftTools(res) {
    this.clearLeftTools();
    switch (res.id) {
      case "l1":
        break;
      case "l2":
        break;
      case "l3": //在线制图
        this.setThematicMap();
        break;
      case "l4":
        break;
      case "l5":
        break;
      case "l6":
        break;
    }
  },
    //在线制图
    setThematicMap() {
        // earthCtrl.coreMap.scene.mode = SmartEarth.Cesium.SceneMode.SCENE2D;
        // var handle = new SmartEarth.Cesium.ScreenSpaceEventHandler(earthCtrl.viewer.scene.canvas);
  //在线制图
  setThematicMap() {
    // earthCtrl.coreMap.scene.mode = SmartEarth.Cesium.SceneMode.SCENE2D;
    // var handle = new SmartEarth.Cesium.ScreenSpaceEventHandler(earthCtrl.viewer.scene.canvas);
  },
    },
  //坐标定位
  Coordposition() {},
  //影像对比
  CurtainContrast() {
    this.toolMenu = earthCtrl.analysis.createCurtainContrast({
      leftIndex: 0,
      rightIndex: 1,
    });
  },
  //土方量计算
  Volumetric() {
    const Volumetric = earthCtrl.analysis.createVolumetricMeasure({});
    Volumetric.startDrawing();
  },
  //垂直高度
  verticalHeight() {
    earthCtrl.measure.measureHeight(function (e) {});
  },
  //高程测量
  heightMeasure() {},
  //平面面积
  planeDistance() {
    earthCtrl.analysis.getPlaneArea(function (e) {});
  },
  //表面距离
  surfaceDistance() {
    earthCtrl.measure.lineLength(function (e) {});
  },
  //点漫游
  pointRoam() {},
  //线漫游
  lineRoam() {},
    //坐标定位
    Coordposition() {
    },
    //影像对比
    CurtainContrast() {
        this.toolMenu = earthCtrl.analysis.createCurtainContrast({ leftIndex: 0, rightIndex: 1 })
    },
    //土方量计算
    Volumetric() {
        const Volumetric = earthCtrl.analysis.createVolumetricMeasure({});
        Volumetric.startDrawing();
    },
    //垂直高度
    verticalHeight() {
        earthCtrl.measure.measureHeight(function (e) {
        })
    },
    //高程测量
    heightMeasure() {
    },
    //平面面积
    planeDistance() {
        earthCtrl.analysis.getPlaneArea(function (e) {
        })
    },
    //表面距离
    surfaceDistance() {
        earthCtrl.measure.lineLength(function (e) {
        })
    },
    //点漫游
    pointRoam() {
    },
    //线漫游
    lineRoam() {
    },
    //清除方法
    clearTopTools() {
        if (this.toolFlag) {
            switch (this.toolFlag) {
                case 'a2':
                    break;
                case 'a3':
                    break;
                case 'b2':
                case 'b3':
                case 'b4':
                case 'b5':
                    break;
                case 'd5':
                    debugger
                    this.toolMenu.removeFromMap()
                    break;
            }
            // this.toolFlag = null;
            this.toolMenu = null;
        }
    },
    clearLeftTools() {
    },
}
export default menuTool;
  //清除方法
  clearTopTools() {
    if (this.toolFlag) {
      switch (this.toolFlag) {
        case "a2":
          break;
        case "a3":
          break;
        case "b2":
          earthCtrl.tools.browse();
          break;
        case "b3":
        case "b4":
        case "b5":
          earthCtrl.tools.browse();
          break;
        case "d5":
          debugger;
          this.toolMenu.removeFromMap();
          break;
      }
      // this.toolFlag = null;
      this.toolMenu = null;
    }
  },
  clearLeftTools() {},
};
export default menuTool;