From 6e92e7b101c2ea468a4b0d2a19066bc1b4d31764 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期五, 12 五月 2023 18:03:14 +0800
Subject: [PATCH] 发布管理,图层管理页面修改

---
 src/components/preview_map.vue |   73 ++++++++++++++++++++++++++----------
 1 files changed, 53 insertions(+), 20 deletions(-)

diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue
index 1705e6a..d1fe011 100644
--- a/src/components/preview_map.vue
+++ b/src/components/preview_map.vue
@@ -54,10 +54,12 @@
             @click="underground"
           >鍦颁笅</el-button>
           <el-button
+            v-if="$store.state.previewLayer.type  != '3dml'"
             size="small"
             @click="pickupCoords"
           >鎷惧彇</el-button>
           <el-button
+            v-if="$store.state.previewLayer.type  != '3dml'"
             size="small"
             @click="reload"
           >
@@ -74,7 +76,10 @@
           >淇濆瓨</el-button>
 
         </el-form-item>
-        <el-form-item label="缁忓害:">
+        <el-form-item
+          label="缁忓害:"
+          v-if="$store.state.previewLayer.type  != '3dml'"
+        >
           <el-input
             size="small"
             v-model="modelForm.lon"
@@ -88,7 +93,10 @@
             :max="135"
           ></el-slider>
         </el-form-item>
-        <el-form-item label="绾害:">
+        <el-form-item
+          label="绾害:"
+          v-if="$store.state.previewLayer.type  != '3dml'"
+        >
           <el-input
             size="small"
             v-model="modelForm.lat"
@@ -102,7 +110,10 @@
             :max="54"
           ></el-slider>
         </el-form-item>
-        <el-form-item label="楂樺害:">
+        <el-form-item
+          label="楂樺害:"
+          v-if="$store.state.previewLayer.type  != '3dml'"
+        >
           <el-input
             size="small"
             v-model="modelForm.height"
@@ -116,7 +127,10 @@
             :max="8800"
           ></el-slider>
         </el-form-item>
-        <el-form-item label="瑙掑害:">
+        <el-form-item
+          label="瑙掑害:"
+          v-if="$store.state.previewLayer.type  != '3dml'"
+        >
           <el-input
             size="small"
             v-model="modelForm.yaw"
@@ -791,6 +805,7 @@
         } else {
           url = modelUrl + "/" + res.url
         }
+
         var tileset = Viewer.scene.primitives.add(
           new Cesium.Cesium3DTileset({
             name: res.cnName,
@@ -806,7 +821,10 @@
           tileset.id = res.cnName;
           tileset.layerId = res.id;
           tileset.pubid = res.pubid;
-          that.getArgsTileset(tileset, res);
+          if (res.bak != '3dml') {
+            that.getArgsTileset(tileset, res);
+          }
+
         });
       }
     },
@@ -819,7 +837,10 @@
         if (data.code != 200) {
 
         } else {
-          this.reloadTile(tileset, data.result.json)
+
+
+          this.tileSet(tileset, parseFloat(res.elev))
+
         }
       } else {
         this.tileSet(tileset, parseFloat(res.elev))
@@ -838,7 +859,7 @@
       var translation = Cesium.Cartesian3.subtract(Cartesian3_offset, Cartesian3_original, new Cesium.Cartesian3());
       //淇敼妯″瀷鐭╅樀
       tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
-      Viewer.flyTo(tileset);
+      // Viewer.flyTo(tileset);
     },
     reloadTile(tileset, res) {
       var vm = JSON.parse(res)
@@ -913,7 +934,6 @@
       window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, "");
 
 
-
       if (this.$store.state.previewLayer) {
         var res = this.$store.state.previewLayer;
         var type = res.type;
@@ -976,6 +996,9 @@
             if (window.pickedFeature && window.pickedFeature.getProperty) {
 
               this.setModeLayerID(pickedFeature);
+            } else {
+              this.modelForm.modelid = 'id3dml'
+              window.ModeKeyIdHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); //绉婚櫎浜嬩欢
             }
           }
         }
@@ -1010,6 +1033,7 @@
       var that = this;
       Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function (ts) {
         that.modelForm = JSON.parse(json);
+
         var pos = Cesium.Cartesian3.fromDegrees(parseFloat(that.modelForm.lon), parseFloat(that.modelForm.lat), parseFloat(that.modelForm.height));
 
 
@@ -1018,6 +1042,7 @@
         var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter);
         that.app.tileset._root.transform = matrix;
         Viewer.flyTo(ts);
+
         that.app.isBusy = false;
       });
     },
@@ -1055,17 +1080,17 @@
     update() {
       if (!this.modelForm.lon || isNaN(this.modelForm.lon)) {
         var args = this.getEditTilesetArgs();
-        this.modelForm.lon = args.lon;
+        this.modelForm.lon = args.lon == null ? 0 : args.height;
         return
       }
       if (!this.modelForm.lat || isNaN(this.modelForm.lat)) {
         var args = this.getEditTilesetArgs();
-        this.modelForm.lat = args.lat;
+        this.modelForm.lat = args.lat == null ? 0 : args.height;
         return
       }
       if (!this.modelForm.height || isNaN(this.modelForm.height)) {
         var args = this.getEditTilesetArgs();
-        this.modelForm.height = args.height;
+        this.modelForm.height = args.height == null ? 0 : args.height;
         return
       }
       if (!this.modelForm.yaw || isNaN(this.modelForm.yaw)) {
@@ -1089,7 +1114,7 @@
     setTilesetArgs(f) {
 
       if (!this.app.tileset || this.app.isBusy) return;
-
+      debugger
       var pos = Cesium.Cartesian3.fromDegrees(parseFloat(f.lon), parseFloat(f.lat), parseFloat(f.height));
 
       var converter = Cesium.Transforms.eastNorthUpToFixedFrame;
@@ -1145,13 +1170,17 @@
       } else {
         this.getTilesetArgs();
       }
-
     },
     setModleLocatin() {
       var res = this.$store.state.previewLayer;
       var type = res.type;
       if (this.modelType.indexOf(type) != -1) {
-        this.setEditModelLayer(res)
+        if (type != '3dml') {
+          this.setEditModelLayer(res)
+        } else {
+          this.editModelFlag = true;
+        }
+
       }
 
     },
@@ -1189,14 +1218,17 @@
     },
     getEditTilesetArgs() {
       this.app.isBusy = true;
+      var std = {
+        lon: 0,
+        lat: 0,
+        height: 0,
+      }
+
+      if (!this.app.tileset._root) return std;
       var cm = this.app.tileset._root.transform;
       var cartesian = new Cesium.Cartesian3(cm[12], cm[13], cm[14]);
       var carto = Cesium.Cartographic.fromCartesian(cartesian);
-      var std = {
-        lon: null,
-        lat: null,
-        height: null,
-      }
+
 
       if (carto) {
         std.lon = Cesium.Math.toDegrees(carto.longitude).toFixed(7);
@@ -1241,7 +1273,8 @@
           pickedFeature = sgworld.Viewer.scene.pick(event.position);
           if (Cesium.defined(pickedFeature)) {
             if (pickedFeature.primitive instanceof Cesium.Cesium3DTileset) {
-              if (pickedFeature && pickedFeature.getProperty) {
+
+              if (pickedFeature) {
                 pickedColor = pickedFeature.color
                 pickedFeature.color = Cesium.Color.RED.withAlpha(0.3);
 

--
Gitblit v1.9.3