Răsfoiți Sursa

地质灾害加载地形

maxiaoxiao 5 luni în urmă
părinte
comite
d39e6b773f
1 a modificat fișierele cu 42 adăugiri și 4 ștergeri
  1. 42 4
      src/views/geologyDisaster/index.vue

+ 42 - 4
src/views/geologyDisaster/index.vue

@@ -33,7 +33,7 @@
 import tablePage from "@/components/mapView/tablePage.vue";
 import customForm from "@/components/mapView/custom-form.vue";
 import Details from "./details.vue";
-import { QueryList } from "@/api/cockpitNew";
+import { QueryOne, QueryList } from "@/api/cockpitNew";
 import { TableHeader } from "./config";
 import { loadGeoJSON, removeGeoJSON, getHight } from "@/utils/MapHelper/help.js";
 let geoSources = {};
@@ -70,8 +70,13 @@ export default {
     };
   },
   mounted() {
-    this.reset();
-    this.searchFun();
+    this.$nextTick(() => {
+      this.reset();
+      this.getServer()
+      // this.searchFun();
+    })
+
+
   },
   methods: {
     cockpit() {
@@ -80,6 +85,35 @@ export default {
     regionChange(region) {
       this.searchFun();
     },
+    getServer() {
+      QueryOne({ id: 0, jscType: "t_zhd_server" }).then((res) => {
+        let obj = res.data
+        if (obj.type = "Terrain") this.addTerrain(obj.url)
+
+      });
+
+    },
+    addTerrain(LayerURL) {
+      viewer.terrainProvider = new Cesium.CesiumTerrainProvider({
+        url: LayerURL,
+        isSct: true,
+        requestVertexNormals: true,
+      })
+
+      // this.bus.$emit("setDepthAgainst", true);
+      viewer.terrainProvider.readyPromise.then(() => {
+        console.error('地形加载成功: ');
+        setTimeout(() => {
+          this.searchFun();
+        }, 50000);
+      }).otherwise((error) => {
+        console.error('地形加载失败: ', error);
+      });
+    },
+    hideTerrain() {
+      viewer.scene.terrainProvider = new Cesium.EllipsoidTerrainProvider({});
+
+    },
     searchFun(page = {}) {
       // this.pageObj.pageNum = page.pageIndex || 1;
       // this.pageObj.pageSize = page.size || 10;
@@ -100,6 +134,8 @@ export default {
     active_tableData(newVal) {
       newVal.forEach((item, index) => {
         getHight(item.lzb_x, item.bzb_y, (gcHight) => {
+          // this.table.data[index].hight = gcHight
+          console.log(gcHight)
           let geom = `POINT (${item.lzb_x} ${item.bzb_y} ${gcHight || ''})`
           loadGeoJSON(geom, "#facd91", { isfly: false, point: 'landslide' }, (data) => {
             geoSources[item.bsm] = data;
@@ -135,6 +171,7 @@ export default {
       };
       removeGeoJSON("dzzh");
       removeGeoJSON("dzzhhig");
+      this.hideTerrain()
     },
     detail(row) {
       this.$refs.detailModal.handleView(row);
@@ -174,7 +211,8 @@ export default {
   height: 100%;
 
   .totalnum {
-    margin-left: 20px;
+    position: absolute;
+    right: 20px;
   }
 
   .headerSelect {