소스 검색

解决viewer抱错

zpf 11 달 전
부모
커밋
f7452f48fc

+ 16 - 17
src/components/3DAnalysis/Smashing/Smashing.vue

@@ -8,21 +8,14 @@
 
 
       <div class="boxchild">
-        <el-button type="primary" size="mini" @click="createSmashing"
-          >倾斜压平</el-button
-        >
+        <el-button type="primary" size="mini" @click="createSmashing">倾斜压平</el-button>
         <el-button type="primary" size="mini" @click="clear">{{
           Resource.clear
         }}</el-button>
       </div>
       <el-select v-model="value" placeholder="请选择对象">
-        <el-option
-          v-for="(item, index) in options"
-          :key="index"
-          :label="item.name"
-          :value="item"
-          @click.native="test(item)"
-        >
+        <el-option v-for="(item, index) in options" :key="index" :label="item.name" :value="item"
+          @click.native="test(item)">
         </el-option>
       </el-select>
     </div>
@@ -38,14 +31,10 @@ export default {
   data() {
     return {
       sharedState: store.state,
-      handler_Cut_fill: new Cesium.DrawHandler(
-        viewer,
-        Cesium.DrawMode.Polygon,
-        0
-      ),
+      handler_Cut_fill: null,
       //存储压平数据名称
       flattenNames: [],
-      handlerTemp: new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas),
+      handlerTemp: null,
       options: [],
       value: "",
       // primitive:undefined
@@ -61,13 +50,23 @@ export default {
       return this.sharedState.toolBar[6];
     },
   },
-  beforeDestroy() {},
+  beforeDestroy() { },
   mounted() {
     store.state.S3MList.forEach((s) => {
       s.forEach((i) => {
         this.options.push(i);
       });
     });
+
+    this.$nextTick((res) => {
+      this.handler_Cut_fill = new Cesium.DrawHandler(
+        viewer,
+        Cesium.DrawMode.Polygon,
+        0
+      );
+
+      this.handlerTemp = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
+    })
     // console.log(this.options, "this.options");
   },
   methods: {

+ 8 - 5
src/components/TerrainAnalysis/TerrainCutFillAnalysis/TerrainCutFillAnalysis.vue

@@ -193,17 +193,20 @@ export default {
     // });
     // viewer.terrainProvider = terrainP;
 
-    viewer.scene.globe.depthTestAgainstTerrain = false;
 
 
   }, //生命周期 - 创建完成(可以访问当前this实例)
   beforeMount() { }, //生命周期 - 挂载之前
   mounted() {
 
-    cutFillAnalysis = new CutFillAnalysis(
-      viewer,
-      80,
-    );
+    this.$nextTick((res) => {
+      cutFillAnalysis = new CutFillAnalysis(
+        viewer,
+        80,
+      );
+      viewer.scene.globe.depthTestAgainstTerrain = false;
+    })
+
   }, //生命周期 - 挂在完成
   beforeUpdate() { }, //生命周期 - 更新之前
   updated() { }, //生命周期 - 更新之后

+ 5 - 5
src/components/sceneAtttribute/camera/camera.vue

@@ -78,7 +78,7 @@
             <div class="sm-solider-input-box">
               <input class="min-solider" min="0" max="1" step="0.01" style="width: 63%" type="range"
                 v-model="SurfaceTransparency" />
-                <span>{{SurfaceTransparency  }}</span>
+              <span>{{ SurfaceTransparency }}</span>
               <!-- <input class="min-solider" min="0" max="1" step="0.01" style="width: 24%" type="number"
                 v-model="SurfaceTransparency" /> -->
             </div>
@@ -103,8 +103,7 @@
                 value-field="index"
               /> -->
               <el-select v-model="state.selectedAddedStopIndex">
-                <el-option v-for="item in state.routeStops" :key="item.value" :label="item.stopName"
-                  :value="item.index">
+                <el-option v-for="item in state.routeStops" :key="item.value" :label="item.stopName" :value="item.index">
                 </el-option>
               </el-select>
             </div>
@@ -326,8 +325,9 @@ export default {
       this.init();
     }
     //初始化站点文件保存
-    this.initFlyManager();
-
+    this.$nextTick((res) => {
+      this.initFlyManager();
+    })
     const fileInput = document.getElementById("flyFile");
     fileInput.addEventListener("change", function (event) {
       let routes = new Cesium.RouteCollection(viewer.entities);