基于北京SDK的方案预演功能
suerprisePlus
2024-06-13 28de79b44655118b1deffb5c9a8b06ec2904905b
src/assets/js/map/menuManager.js
@@ -1,30 +1,83 @@
import store from "@/store";
const menuManager = {
  meuFLag: null,
  init(res) {
    this.menuFlag = null;
    switch (res.id) {
      // 图层管理
      case "layerManage":
        store.state.layerFlag = res.id;
        break;
      // 历史影像对比
      case "history":
        break;
      // 二三维联动
      case "dimensions":
        break;
      // 二三维联动
      case "militaryPlot":
        store.state.layerFlag = res.id;
        this.menuFlag = res.id;
        break;
      default:
        this.menuFlag = res.id;
        break;
    }
    return this.menuFlag;
  },
};
export default menuManager;
import store from "@/store";
import { fa } from "element-plus/es/locales.mjs";
const menuManager = {
  meuFLag: null,
  showImageLayers: true,
  colorAll: {
    point: SmartEarth.Cesium.Color.fromCssColorString("#ff0000"),
    polyline: SmartEarth.Cesium.Color.fromCssColorString("#ffff0050"),
    polygon: SmartEarth.Cesium.Color.fromCssColorString("#ffff0050")
  },
  init(res) {
    this.menuFlag = null;
    switch (res.id) {
      // 图层管理
      case "layerManage":
        store.state.layerFlag = res.id;
        break;
      //水平距离
      case "m1":
        earthCtrl.measure.horizontalDistance(this.colorAll, (e) => {});
        break;
      //表面距离
      case "m2":
        earthCtrl.measure.clampLineDistance(this.colorAll, (e) => {});
        break;
      //表面面积
      case "m3":
        earthCtrl.measure.surfaceArea(
          {
            ...this.colorAll,
            tin: true, // 是否显示tin三角网
            onlyTerrain: false // 是否只测量精细地形
          },
          (e) => {}
        );
        break;
      //平面面积
      case "m4":
        earthCtrl.measure.planeArea(this.colorAll, (e) => {});
        break;
      //海拔高度
      case "m5":
        earthCtrl.measure.altitude(this.colorAll, (e) => {});
        break;
      //垂直高度
      case "m6":
        earthCtrl.measure.height(this.colorAll, (e) => {});
        break;
      //清除
      case "m7":
        earthCtrl.measure.clearResult();
        break;
      // 历史影像对比
      case "history":
        break;
      // 二三维联动
      case "dimensions":
        store.state.dimensionsFlag = !store.state.dimensionsFlag;
        break;
      //军事标绘
      case "militaryPlot":
        store.state.layerFlag = res.id;
        this.menuFlag = res.id;
        break;
      //飞行方案
      case "s3":
        store.state.setFlyPlanFlag = !store.state.setFlyPlanFlag;
        break;
      case "s4":
        this.showImageLayers = !this.showImageLayers;
        window.Viewer.imageryLayers.get(0).show = this.showImageLayers;
        window.Viewer.imageryLayers.get(1).show = this.showImageLayers;
        break;
      default:
        break;
    }
    return this.menuFlag;
  }
};
export default menuManager;