guonan
2025-04-18 d0272e6a4e5b68c4e82e7356849f6ceb402a1055
src/components/tools/LayerTree.vue
@@ -1,9 +1,6 @@
<template>
  <div class="layer-tree">
    <<<<<<< HEAD <el-tree ref="treeRef" style="max-width: 600px" show-checkbox node-key="label" :default-checked-keys="defaultSelectedKeys" @check-change="handleCheckChange" :data="treeData" />
    =======
    <el-tree ref="treeRef" style="max-width: 600px" show-checkbox node-key="label" :default-checked-keys="defaultSelectedKeys" @check-change="handleCheckChange" :data="treeData" />
    >>>>>>> f82eb01fe65e513fb43342db0e25cafa0e0d2db8
  </div>
</template>
@@ -41,7 +38,7 @@
        label: "综合监测设备信息",
      },
      {
        label: "孙胡沟仿真标注地物",
        label: "孙胡沟断面",
      },
      {
        label: "避险点",
@@ -75,8 +72,8 @@
    case "综合监测设备信息":
      console.log("综合监测设备信息", checked, indeterminate);
      break;
    case "孙胡沟仿真标注地物":
      console.log("孙胡沟仿真标注地物", checked, indeterminate);
    case "孙胡沟断面":
      console.log("孙胡沟断面", checked, indeterminate);
      break;
    case "避险点":
      addTetrahedron();
@@ -94,10 +91,17 @@
  //    sourceType: "tms",
  //    url: "http://106.120.22.26:9103/gisserver/tmsserver/sunhugoudom",
  // })
  let TerrainLayer = earthCtrl.factory.createTerrainLayer({
    sourceType: "ctb",
    url: "http://106.120.22.26:9103/gisserver/ctsserver/llmbdem",
  })
  // let TerrainLayer = earthCtrl.factory.createTerrainLayer({
  //   sourceType: "ctb",
  //   // url: "http://106.120.22.26:9103/gisserver/ctsserver/llmbdem",
  //   url: "http://106.120.22.26:9103/gisserver/ctsserver/sunhugoudem",
  // })
    let TerrainLayer = earthCtrl.factory.createTerrainLayer({
      sourceType: "ctb",
      url: "http://106.120.22.26:9103/gisserver/ctsserver/sungugoudem",
    });
  // let TerrainLayer = earthCtrl.factory.createTerrainLayer({
  //   sourceType: "ctb",
  //   url: "https://tiles1.geovisearth.com/base/v1/terrain?token=486dac3bec56d7d7c2a581c150be2bd937462f1e8f3bc9c78b5658b396122405",
@@ -270,7 +274,7 @@
  },
]);
function initDevicePoint() {
function initDevicePoint () {
  let list = [];
  devicetList.value.forEach((item) => {
@@ -916,7 +920,7 @@
  },
]);
function initDistrictPoint() {
function initDistrictPoint () {
  let list = [];
  districtList.value.forEach((item) => {
    item.showBillboard = true;
@@ -931,7 +935,7 @@
let divPointList = [];
function initDuanmianPoint() {
function initDuanmianPoint () {
  getDuanMainData().then((res) => {
    const duanmianList = res.data;
    const list = [];
@@ -965,13 +969,13 @@
      divPoint.item.show = false;
      console.log(divPoint);
  divPointList.push(divPoint.item);
});
treeMap.set("孙胡沟仿真标注地物", list);
      divPointList.push(divPoint.item);
    });
    treeMap.set("孙胡沟断面", list);
  });
}
function addTetrahedron(visible) {
function addTetrahedron (visible) {
  const emergencyAreaList = [];
  loadAreaPolygon("/json/emergency_area.geojson", true).then((entities) => {
@@ -986,18 +990,18 @@
      latitude: 40.568391,
      altitude: 528.45,
    },
    {
      name: "范振江家",
      longitude: 116.591059,
      latitude: 40.574068,
      altitude: 528,
    },
    {
      name: "后坡",
      longitude: 116.597975,
      latitude: 40.558199,
      altitude: 528,
    },
    // {
    //   name: "范振江家",
    //   longitude: 116.591059,
    //   latitude: 40.574068,
    //   altitude: 528,
    // },
    // {
    //   name: "后坡",
    //   longitude: 116.597975,
    //   latitude: 40.558199,
    //   altitude: 528,
    // },
  ];
  list.forEach((item) => {
    let point = earthCtrl.factory.addTetrahedron({
@@ -1007,14 +1011,15 @@
        height: item.altitude,
      },
      multiple: 1.0,
      scale: new SmartEarth.Cesium.Cartesian3(20, 20, 20),
      scale: new SmartEarth.Cesium.Cartesian3(80, 80, 80),
      color:"#00ff00"
    });
    console.log("point", point);
    emergencyAreaList.push(point);
  });
  treeMap.set("避险点", emergencyAreaList);
}
function toggleLayerVisible(name, checked) {
function toggleLayerVisible (name, checked) {
  const entityList = treeMap.get(name);
  if (Array.isArray(entityList) && entityList.length > 0) {
    entityList.forEach((entity) => {
@@ -1024,7 +1029,7 @@
  treeMap.set(name, entityList);
}
function getData() {
function getData () {
  initDevicePoint();
  initDistrictPoint();
  initDuanmianPoint();
@@ -1051,7 +1056,7 @@
      treeRef.value.setCheckedKeys(defaultKeys.concat("孙胡沟隐患点"), true);
      toggleLayerVisible("孙胡沟隐患点", true);
      toggleLayerVisible("综合监测设备信息", false);
      toggleLayerVisible("孙胡沟仿真标注地物", false);
      toggleLayerVisible("孙胡沟断面", false);
    } else if (path == "/zhjc") {
      treeRef.value.setCheckedKeys(
        defaultKeys.concat("综合监测设备信息"),
@@ -1059,13 +1064,13 @@
      );
      toggleLayerVisible("综合监测设备信息", true);
      toggleLayerVisible("孙胡沟隐患点", false);
      toggleLayerVisible("孙胡沟仿真标注地物", false);
      toggleLayerVisible("孙胡沟断面", false);
    } else if (path == "/mnfz") {
      treeRef.value.setCheckedKeys(
        defaultKeys.concat("孙胡沟仿真标注地物"),
        defaultKeys.concat("孙胡沟断面"),
        true
      );
      toggleLayerVisible("孙胡沟仿真标注地物", true);
      toggleLayerVisible("孙胡沟断面", true);
      toggleLayerVisible("孙胡沟隐患点", false);
      toggleLayerVisible("综合监测设备信息", false);
    } else {