From ff2afbce0f31c6f75f4930ba8db7ccb7a99556a4 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期四, 23 二月 2023 10:26:28 +0800
Subject: [PATCH] 源数据管理,图层管理,空间查询

---
 src/components/mapsdk.vue |  501 +++++++++++++++++++++++--------------------------------
 1 files changed, 208 insertions(+), 293 deletions(-)

diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue
index 66270d1..a066b70 100644
--- a/src/components/mapsdk.vue
+++ b/src/components/mapsdk.vue
@@ -1,82 +1,44 @@
 <template>
   <div class="mapBox">
     <div id="mapdiv">
-      <div
-        class="menu_Top box_divm"
-        v-if="$store.state.mapMenuBoolean"
-      >
+      <div class="menu_Top box_divm" v-if="$store.state.mapMenuBoolean">
         <map-menu-top v-if="$store.state.mapMenuBoxFlag == '1'" />
         <map-space-top v-if="$store.state.mapMenuBoxFlag == '2'" />
       </div>
 
-      <div
-        class="bufferBox"
-        v-if="showBufferBoxDialog"
-      >
+      <div class="bufferBox" v-if="showBufferBoxDialog">
         <el-card class="box-card box_divm">
-          <div
-            slot="header"
-            class="clearfix"
-          >
+          <div slot="header" class="clearfix">
             <span>缂撳啿鍖哄垎鏋�</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(1)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(1)"></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form
-              ref="form"
-              :model="bufFrom"
-              label-width="100px"
-            >
+            <el-form ref="form" :model="bufFrom" label-width="100px">
               <el-form-item label="缂撳啿鍗婂緞(绫�):">
                 <el-input v-model="bufFrom.val"></el-input>
               </el-form-item>
               <el-form-item>
-                <el-button
-                  @click="addBuffer(1)"
-                  type="info"
-                >鐐�</el-button>
-                <el-button
-                  @click="addBuffer(2)"
-                  type="info"
-                >绾�</el-button>
-                <el-button
-                  @click="addBuffer(3)"
-                  type="info"
-                >闈�</el-button>
-                <el-button
-                  @click="clearBuffer"
-                  type="info"
-                >娓呴櫎</el-button>
+                <el-button @click="addBuffer(1)" type="info">鐐�</el-button>
+                <el-button @click="addBuffer(2)" type="info">绾�</el-button>
+                <el-button @click="addBuffer(3)" type="info">闈�</el-button>
+                <el-button @click="clearBuffer" type="info">娓呴櫎</el-button>
               </el-form-item>
             </el-form>
           </div>
         </el-card>
       </div>
-      <div
-        class="coordLocalBox"
-        v-if="showCoordLocalBoxDialog"
-      >
+      <div class="coordLocalBox" v-if="showCoordLocalBoxDialog">
         <el-card class="box-card">
           <div slot="header">
             <span>鍧愭爣瀹氫綅</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(2)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(2)"></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form
-              ref="form"
-              :model="coordFrom"
-              label-width="50px"
-            >
+            <el-form ref="form" :model="coordFrom" label-width="50px">
               <el-form-item label="缁忓害:">
                 <el-input v-model="coordFrom.lon"></el-input>
               </el-form-item>
@@ -87,38 +49,22 @@
                 <el-input v-model="coordFrom.height"></el-input>
               </el-form-item>
               <el-form-item>
-                <el-button
-                  @click="setCoordLocal"
-                  type="info"
-                >瀹氫綅</el-button>
+                <el-button @click="setCoordLocal" type="info">瀹氫綅</el-button>
               </el-form-item>
             </el-form>
           </div>
         </el-card>
       </div>
-      <div
-        class="toponymicLocalBox"
-        v-if="showToponymicLocalBoxDialog"
-      >
+      <div class="toponymicLocalBox" v-if="showToponymicLocalBoxDialog">
         <el-card class="box-card">
-          <div
-            slot="header"
-            class="clearfix"
-          >
+          <div slot="header" class="clearfix">
             <span>鍦板悕瀹氫綅</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(3)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(3)"></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form
-              :model="comprehensive"
-              :inline="true"
-              label-width="50px"
-            >
+            <el-form :model="comprehensive" :inline="true" label-width="50px">
               <el-form-item label="鍦板悕:">
                 <el-input
                   style="width: 200px"
@@ -126,28 +72,17 @@
                 ></el-input>
               </el-form-item>
               <el-form-item>
-                <el-button
-                  @click="setQueryTable"
-                  type="info"
-                >鏌ヨ</el-button>
+                <el-button @click="setQueryTable" type="info">鏌ヨ</el-button>
               </el-form-item>
             </el-form>
-            <el-table
-              :data="tableData"
-              height="200px"
-              style="width: 100%"
-            >
+            <el-table :data="tableData" height="200px" style="width: 100%">
               <el-table-column
                 align="center"
                 type="index"
                 label="搴忓彿"
                 width="70px"
               />
-              <el-table-column
-                prop="name"
-                align="center"
-                label="瀹氫綅"
-              >
+              <el-table-column prop="name" align="center" label="瀹氫綅">
                 <template slot-scope="scope">
                   <el-button
                     @click="handleLocation(scope.$index, scope.row)"
@@ -156,11 +91,7 @@
                   ></el-button>
                 </template>
               </el-table-column>
-              <el-table-column
-                prop="name"
-                align="center"
-                label="鍦板悕"
-              >
+              <el-table-column prop="name" align="center" label="鍦板悕">
               </el-table-column>
             </el-table>
             <div class="pagination_box">
@@ -178,21 +109,12 @@
           </div>
         </el-card>
       </div>
-      <div
-        class="pathAnalysisBox"
-        v-if="showPathAnalysisBoxDialog"
-      >
+      <div class="pathAnalysisBox" v-if="showPathAnalysisBoxDialog">
         <el-card class="box-card">
-          <div
-            slot="header"
-            class="clearfix"
-          >
+          <div slot="header" class="clearfix">
             <span>璺緞鍒嗘瀽</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(4)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(4)"></i>
             </div>
           </div>
           <div class="box-body">
@@ -202,10 +124,7 @@
               :rules="rules"
               label-width="55px"
             >
-              <el-form-item
-                label="璧风偣:"
-                prop="lon"
-              >
+              <el-form-item label="璧风偣:" prop="lon">
                 <el-input
                   style="width: 250px"
                   v-model="pathFrom.lon"
@@ -215,15 +134,10 @@
                   :underline="false"
                   @click="showMouseLeftClick(1)"
                   style="margin-left: 10px"
-                ><i
-                    style="color: white"
-                    class="el-icon-plus"
-                  ></i></el-link>
+                  ><i style="color: white" class="el-icon-plus"></i
+                ></el-link>
               </el-form-item>
-              <el-form-item
-                label="缁堢偣:"
-                prop="lat"
-              >
+              <el-form-item label="缁堢偣:" prop="lat">
                 <el-input
                   style="width: 250px"
                   v-model="pathFrom.lat"
@@ -233,16 +147,13 @@
                   :underline="false"
                   @click="showMouseLeftClick(2)"
                   style="margin-left: 10px"
-                ><i
-                    style="color: white"
-                    class="el-icon-plus"
-                  ></i></el-link>
+                  ><i style="color: white" class="el-icon-plus"></i
+                ></el-link>
               </el-form-item>
               <el-form-item>
-                <el-button
-                  @click="showMouseLeftClick(3)"
-                  type="info"
-                >鏌ヨ</el-button>
+                <el-button @click="showMouseLeftClick(3)" type="info"
+                  >鏌ヨ</el-button
+                >
               </el-form-item>
             </el-form>
           </div>
@@ -263,16 +174,16 @@
 </template>
 
 <script>
-import $ from "jquery"
-import mapMenuTop from "./MapView/mapMenuTop.vue"
+import $ from "jquery";
+import mapMenuTop from "./MapView/mapMenuTop.vue";
 
-import mapSpaceTop from "./MapView/mapSpaceTop.vue"
+import mapSpaceTop from "./MapView/mapSpaceTop.vue";
 
 import {
   select_Comprehensive_ByPageAndCount,
   select_Comprehensive_SelectWktById,
   comprehensive_selectRoute,
-} from "../api/api"
+} from "../api/api";
 
 export default {
   name: "",
@@ -284,22 +195,22 @@
   data() {
     var validatePosition = (rule, value, callback) => {
       if (value === "") {
-        callback(new Error("璇疯緭鍏ュ瘑鐮�"))
+        callback(new Error("璇疯緭鍏ュ瘑鐮�"));
       } else {
         if (value) {
-          let arr = value.split(",")
+          let arr = value.split(",");
           if (arr.length !== 2) {
-            callback(new Error("鍧愭爣鐐圭粡绾害鏍煎紡閿欒锛�"))
+            callback(new Error("鍧愭爣鐐圭粡绾害鏍煎紡閿欒锛�"));
           } else {
             if (arr[0].startsWith("116") && arr[1].startsWith("39")) {
             } else {
-              callback(new Error("鍧愭爣鐐圭含搴︽牸寮忛敊璇紒"))
+              callback(new Error("鍧愭爣鐐圭含搴︽牸寮忛敊璇紒"));
             }
           }
         }
-        callback()
+        callback();
       }
-    }
+    };
     return {
       centerFlag: false,
       buffer: null,
@@ -365,26 +276,26 @@
         children: "children",
         label: "label",
       }, //鏍戠粦瀹氬璞�
-    }
+    };
   },
   mounted() {
-    this.init3DMap()
-    this.$bus.$on("mapChangeBox", res => {
-      this.showChangeBox(res)
-    })
+    this.init3DMap();
+    this.$bus.$on("mapChangeBox", (res) => {
+      this.showChangeBox(res);
+    });
   },
   methods: {
     init3DMap() {
-      var webKey = "94a34772eb88317fcbf8428e10448561"
+      var webKey = "94a34772eb88317fcbf8428e10448561";
 
       //鍦板浘鍒濆鍖�
       window.sgworld = new SmartEarth.SGWorld("mapdiv", {
-        url:SmartEarthRootUrl+"Workers/image/earth.jpg",
+        url: SmartEarthRootUrl + "Workers/image/earth.jpg",
         licenseServer: window.sceneConfig.licenseServer,
-      })
+      });
 
-      window.Viewer = window.sgworld._Viewer
-      Viewer.imageryLayers._layers[0].show = false
+      window.Viewer = window.sgworld._Viewer;
+      Viewer.imageryLayers._layers[0].show = false;
       //瀹氫綅
       // sgworld.Navigate.jumpTo({
       //   //璺宠浆瑙嗚
@@ -396,26 +307,25 @@
       // })
       Viewer.camera.flyTo({
         destination: Cesium.Cartesian3.fromDegrees(110, 33, 8000000),
-
       });
       this.layer1 = Viewer.imageryLayers.addImageryProvider(
         new Cesium.UrlTemplateImageryProvider({
           url: gaoDeBaseUrl[0].url,
         })
-      )
+      );
 
       this.layer2 = Viewer.imageryLayers.addImageryProvider(
         new Cesium.UrlTemplateImageryProvider({
           url: gaoDeBaseUrl[1].url,
         })
-      )
+      );
       this.layer3 = Viewer.imageryLayers.addImageryProvider(
         new Cesium.UrlTemplateImageryProvider({
           url: gaoDeBaseUrl[2].url,
         })
-      )
+      );
 
-      window.ImageLayer3=this.layer3;
+      window.ImageLayer3 = this.layer3;
 
       // for (var i in gaoDeBaseUrl) {
       //   sgworld.Creator.createUrlTemplateImageryProvider(
@@ -428,13 +338,13 @@
       //   );
       // }
 
-      Viewer._enableInfoOrSelection = false
+      Viewer._enableInfoOrSelection = false;
       //鏄剧ずfps
-      Viewer.scene.debugShowFramesPerSecond = false
+      Viewer.scene.debugShowFramesPerSecond = false;
       //瀵艰埅鎺т欢
-      window.sgworld.navControl("nav", false)
+      window.sgworld.navControl("nav", false);
       //姣斾緥灏�
-      window.sgworld.navControl("scale", false)
+      window.sgworld.navControl("scale", false);
       //寮�鍚繁搴︽娴�
       // sgworld.Analysis.depthTestAgainstTerrain(true)
       Viewer.scene.globe.depthTestAgainstTerrain = true;
@@ -459,12 +369,12 @@
       var option = {
         url: window.sceneConfig.SGUrl,
         layerName: window.sceneConfig.mptName,
-        requestVertexNormals: true
-      }
+        requestVertexNormals: true,
+      };
       sgworld.Creator.sfsterrainprovider("", option, "", true, "");
 
-      window.elevationTool = new SmartEarth.ElevationTool(window.sgworld)
-      elevationTool.setContourColor("#F1D487")
+      window.elevationTool = new SmartEarth.ElevationTool(window.sgworld);
+      elevationTool.setContourColor("#F1D487");
 
       // var helper = new Cesium.EventHelper();
       // helper.add(Viewer.scene.globe.tileLoadProgressEvent, function (e) {
@@ -478,9 +388,9 @@
     },
 
     changeMenulayer() {
-      this.isActive = !this.isActive
-      this.isMenuLayer = !this.isMenuLayer
-      this.setLayerVisible()
+      this.isActive = !this.isActive;
+      this.isMenuLayer = !this.isMenuLayer;
+      this.setLayerVisible();
     },
     setLayerVisible() {
       if (this.isActive == true) {
@@ -490,12 +400,10 @@
 
         Viewer.imageryLayers.lower(this.layer2);
         Viewer.imageryLayers.lower(this.layer3);
-
       } else {
-
         Viewer.imageryLayers.raise(this.layer3);
         Viewer.imageryLayers.raise(this.layer2);
-     
+
         // Viewer.imageryLayers._layers[1].show = false
         // Viewer.imageryLayers._layers[2].show = true
         // Viewer.imageryLayers._layers[3].show = true
@@ -507,62 +415,66 @@
         if (res.id == "6") {
         } else if (res.id == "7") {
         } else {
-          this.showBufferBoxDialog = true
+          this.showBufferBoxDialog = true;
         }
       } else if (res.name == "Coord") {
         if (res.id == "1") {
-          this.showCoordLocalBoxDialog = true
+          this.showCoordLocalBoxDialog = true;
         } else if (res.id == "2") {
-          this.showToponymicLocalBoxDialog = true
-          this.getToponymicData()
+          this.showToponymicLocalBoxDialog = true;
+          this.getToponymicData();
         }
       } else if (res.name == "Analysis") {
         if (res.id == "3") {
-          this.showPathAnalysisBoxDialog = true
+          if (res.show == true) {
+            this.showPathAnalysisBoxDialog = true;
+          } else {
+            this.showPathAnalysisBoxDialog = false;
+          }
         }
       }
     },
     handleSizeChange(val) {
-      this.listData.pageSize = val
-      this.getToponymicData()
+      this.listData.pageSize = val;
+      this.getToponymicData();
     },
     handleCurrentChange(val) {
-      this.listData.pageIndex = val
-      this.getToponymicData()
+      this.listData.pageIndex = val;
+      this.getToponymicData();
     },
     setQueryTable() {
-      this.listData.pageSize = 10
-      this.listData.pageIndex = 1
-      this.getToponymicData()
+      this.listData.pageSize = 10;
+      this.listData.pageIndex = 1;
+      this.getToponymicData();
     },
     async getToponymicData() {
       if (this.listData.tab == "") {
-        delete this.listData.tab
+        delete this.listData.tab;
       }
-      this.listData.name = this.comprehensive.name
-      const data = await select_Comprehensive_ByPageAndCount(this.listData)
+      this.listData.name = this.comprehensive.name;
+      const data = await select_Comprehensive_ByPageAndCount(this.listData);
 
       if (data.code != 200) {
-        this.$message.error("鍒楄〃璋冪敤澶辫触")
+        this.$message.error("鍒楄〃璋冪敤澶辫触");
       }
-      this.tableData = data.result
-      this.count = data.count
+      this.tableData = data.result;
+      this.count = data.count;
     },
     async handleLocation(index, row) {
-      const data = await select_Comprehensive_SelectWktById({ id: row.gid })
+      const data = await select_Comprehensive_SelectWktById({ id: row.gid });
       if (data.code != 200) {
-        this.$message.error("鍒楄〃璋冪敤澶辫触")
+        this.$message.error("鍒楄〃璋冪敤澶辫触");
       }
-      var val = data.result.slice(6, data.result.length - 1)
-      val = val.split(" ")
+      var val = data.result.slice(6, data.result.length - 1);
+      val = val.split(" ");
       var position = {
         X: parseFloat(val[0]),
         Y: parseFloat(val[1]),
         Altitude: 2000,
-      }
+      };
       if (this.imagePoint != null) {
-        sgworld.Creator.DeleteObject(this.imagePoint)
-        this.imagePoint = null
+        sgworld.Creator.DeleteObject(this.imagePoint);
+        this.imagePoint = null;
       }
       this.imagePoint = sgworld.Creator.CreateLabel(
         position,
@@ -574,7 +486,7 @@
         },
         0,
         "宸℃鐐�"
-      )
+      );
 
       sgworld.Navigate.jumpTo({
         //璺宠浆瑙嗚
@@ -583,121 +495,124 @@
           parseFloat(val[1]),
           10000
         ),
-      })
+      });
     },
     closeBufferBox(res) {
       switch (res) {
         case 1:
-          this.showBufferBoxDialog = false
-          this.clearBuffer()
-          break
+          this.showBufferBoxDialog = false;
+          this.clearBuffer();
+          break;
         case 2:
-          this.showCoordLocalBoxDialog = false
-          break
+          this.showCoordLocalBoxDialog = false;
+          break;
         case 3:
-          this.showToponymicLocalBoxDialog = false
+          this.showToponymicLocalBoxDialog = false;
           if (this.imagePoint != null) {
-            sgworld.Creator.DeleteObject(this.imagePoint)
-            this.imagePoint = null
+            sgworld.Creator.DeleteObject(this.imagePoint);
+            this.imagePoint = null;
           }
-          break
+          break;
         case 4:
-          this.showPathAnalysisBoxDialog = false
-          this.clearPathAll(3)
+          this.showPathAnalysisBoxDialog = false;
+          this.clearPathAll(3);
 
-          break
+          break;
       }
     },
     //瀹氫綅
     setCoordLocal() {
-      var lon = parseFloat(this.coordFrom.lon)
-      var lat = parseFloat(this.coordFrom.lat)
-      var height = parseFloat(this.coordFrom.height)
+      var lon = parseFloat(this.coordFrom.lon);
+      var lat = parseFloat(this.coordFrom.lat);
+      var height = parseFloat(this.coordFrom.height);
       sgworld.Navigate.jumpTo({
         //璺宠浆瑙嗚
         destination: new Cesium.Cartesian3.fromDegrees(lon, lat, height),
-      })
+      });
     },
     //缂撳啿鍖哄垎鏋�
     clearBuffer() {
-      if (this.buffer == null) return
-      this.buffer && this.buffer.clearBuff()
-      this.buffer = null
+      if (this.buffer == null) return;
+      this.buffer && this.buffer.clearBuff();
+      this.buffer = null;
     },
     getBufferTable(type) {
       const points =
-        this.buffer.this_buff.buff.polygon.hierarchy.getValue().positions
-      let geometrys = ""
-      let firstPoint
-      let degrees = ""
+        this.buffer.this_buff.buff.polygon.hierarchy.getValue().positions;
+      let geometrys = "";
+      let firstPoint;
+      let degrees = "";
       points.forEach((p, i) => {
-        degrees = window.sgworld.Core.toDegrees(p)
-        geometrys += "[" + degrees.lon + "," + degrees.lat + "],"
-        i === 0 && (firstPoint = "[" + degrees.lon + "," + degrees.lat + "]")
-      })
-      geometrys += firstPoint
-      if (geometrys.length != 0) geometrys.trimEnd(",")
-      geometrys = "{rings:[[" + geometrys + "]]}"
+        degrees = window.sgworld.Core.toDegrees(p);
+        geometrys += "[" + degrees.lon + "," + degrees.lat + "],";
+        i === 0 && (firstPoint = "[" + degrees.lon + "," + degrees.lat + "]");
+      });
+      geometrys += firstPoint;
+      if (geometrys.length != 0) geometrys.trimEnd(",");
+      geometrys = "{rings:[[" + geometrys + "]]}";
     },
     addBuffer(res) {
-      this.clearBuffer()
-      var buffRadius = this.bufFrom.val
+      this.clearBuffer();
+      var buffRadius = this.bufFrom.val;
       switch (res) {
         case 1:
-          this.buffer = sgworld.Analysis.DrawPointBuffer(buffRadius, event => {
-            this.getBufferTable("point")
-          })
-          break
+          this.buffer = sgworld.Analysis.DrawPointBuffer(
+            buffRadius,
+            (event) => {
+              this.getBufferTable("point");
+            }
+          );
+          break;
         case 2:
           this.buffer = sgworld.Analysis.DrawPolylineBuffer(
             buffRadius,
-            event => {
-              this.getBufferTable("line")
+            (event) => {
+              this.getBufferTable("line");
             }
-          )
-          break
+          );
+          break;
         case 3:
           this.buffer = sgworld.Analysis.DrawPolygonBuffer(
             buffRadius,
-            event => {
-              this.getBufferTable("polygon")
+            (event) => {
+              this.getBufferTable("polygon");
             }
-          )
-          break
+          );
+          break;
       }
     },
     async showMouseLeftClick(res) {
       if (res == 3) {
-        this.$refs.form.validate(valid => {
+        this.$refs.form.validate((valid) => {
           if (!valid) {
-            return false
+            return false;
           }
-        })
-        this.clearPathAll(3)
-        var start = this.pathFrom.lon.split(",")
-        var end = this.pathFrom.lat.split(",")
+        });
+        this.clearPathAll(3);
+        var start = this.pathFrom.lon.split(",");
+        var end = this.pathFrom.lat.split(",");
         var startData = {
           x1: parseFloat(start[0]),
           y1: parseFloat(start[1]),
           x2: parseFloat(end[0]),
           y2: parseFloat(end[1]),
-        }
+        };
 
-        const data = await comprehensive_selectRoute(startData)
+        const data = await comprehensive_selectRoute(startData);
         if (data.code != 200) {
-          return this.$message.error("鏁版嵁璇锋眰澶辫触")
+          return this.$message.error("鏁版嵁璇锋眰澶辫触");
         }
-        var wkt = this.$wkt.parse(data.result)
+        var wkt = this.$wkt.parse(data.result);
         var bufferSource = Cesium.GeoJsonDataSource.load(wkt, {
           stroke: new Cesium.Color(82 / 255, 152 / 255, 255 / 255, 1),
 
           strokeWidth: 5,
           clampToGround: true,
-        })
-        bufferSource.then(bufferSource => {
-          sgworld.Navigate.flyToObj(bufferSource)
-          Viewer.dataSources.add(bufferSource)
-        })
+        });
+        bufferSource.then((bufferSource) => {
+          sgworld.Navigate.flyToObj(bufferSource);
+          Viewer.dataSources.add(bufferSource);
+        });
         // var jsonurl =
         //   wnsUrl +
         //   '?start=' +
@@ -716,29 +631,29 @@
         //   },
         // });
       } else {
-        var that = this
+        var that = this;
         if (this.handler != null) {
-          this.clearLeftClick()
+          this.clearLeftClick();
         }
-        this.handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas)
+        this.handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
         this.handler.setInputAction(function (event) {
-          let cartesian = Viewer.camera.pickEllipsoid(event.position)
-          let cartographic = Cesium.Cartographic.fromCartesian(cartesian)
+          let cartesian = Viewer.camera.pickEllipsoid(event.position);
+          let cartographic = Cesium.Cartographic.fromCartesian(cartesian);
           let lng = parseFloat(
             Cesium.Math.toDegrees(cartographic.longitude)
-          ).toFixed(6) // 缁忓害
+          ).toFixed(6); // 缁忓害
           let lat = parseFloat(
             Cesium.Math.toDegrees(cartographic.latitude)
-          ).toFixed(6) // 绾害
+          ).toFixed(6); // 绾害
           if (that.linePath != null) {
-            that.clearPathAll(3)
+            that.clearPathAll(3);
           }
           if (lng != null && lat != null) {
-            let val = lng + "," + lat
-            var position = sgworld.Creator.CreatePosition(lng, lat, 0)
+            let val = lng + "," + lat;
+            var position = sgworld.Creator.CreatePosition(lng, lat, 0);
             if (res == 1) {
               if (that.pathStart != null) {
-                that.clearPathAll(1)
+                that.clearPathAll(1);
               }
 
               that.pathStart = sgworld.Creator.CreateLabel(
@@ -756,12 +671,12 @@
                 },
                 0,
                 "璧峰鐐�"
-              )
+              );
 
-              that.pathFrom.lon = val
+              that.pathFrom.lon = val;
             } else if (res == 2) {
               if (that.pathEnd != null) {
-                that.clearPathAll(2)
+                that.clearPathAll(2);
               }
 
               that.pathEnd = sgworld.Creator.CreateLabel(
@@ -779,68 +694,68 @@
                 },
                 0,
                 "缁撴潫鐐�"
-              )
-              that.pathFrom.lat = val
+              );
+              that.pathFrom.lat = val;
             }
-            that.clearLeftClick()
+            that.clearLeftClick();
           }
-        }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
+        }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
       }
     },
     clearPathAll(res) {
       switch (res) {
         case 1:
           if (this.pathStart != null) {
-            sgworld.Creator.DeleteObject(this.pathStart)
-            this.pathStart = null
+            sgworld.Creator.DeleteObject(this.pathStart);
+            this.pathStart = null;
           }
-          break
+          break;
         case 2:
           if (this.pathEnd != null) {
-            sgworld.Creator.DeleteObject(this.pathEnd)
-            this.pathEnd = null
+            sgworld.Creator.DeleteObject(this.pathEnd);
+            this.pathEnd = null;
           }
-          break
+          break;
         case 3:
           if (this.pathStart != null) {
-            sgworld.Creator.DeleteObject(this.pathStart)
-            this.pathStart = null
+            sgworld.Creator.DeleteObject(this.pathStart);
+            this.pathStart = null;
           }
 
           if (this.pathEnd != null) {
-            sgworld.Creator.DeleteObject(this.pathEnd)
-            this.pathEnd = null
+            sgworld.Creator.DeleteObject(this.pathEnd);
+            this.pathEnd = null;
           }
           if (this.linePath != null) {
-            sgworld.Creator.DeleteObject(this.linePath)
-            this.linePath = null
+            sgworld.Creator.DeleteObject(this.linePath);
+            this.linePath = null;
           }
 
-          Viewer.dataSources.removeAll()
-          break
+          Viewer.dataSources.removeAll();
+          break;
         case 4:
           if (this.linePath != null) {
-            sgworld.Creator.DeleteObject(this.linePath)
-            this.linePath = null
+            sgworld.Creator.DeleteObject(this.linePath);
+            this.linePath = null;
           }
-          break
+          break;
       }
     },
     clearLeftClick() {
-      this.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK) //绉婚櫎浜嬩欢
-      this.handler = null
+      this.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); //绉婚櫎浜嬩欢
+      this.handler = null;
     },
     executeFly3D(res) {
-      var position = []
+      var position = [];
       if (res) {
-        var positionA = res.features
+        var positionA = res.features;
         if (positionA.length > 0) {
           for (var i = 0; i < positionA.length; i++) {
-            var val = positionA[i]
+            var val = positionA[i];
             if (val.geometry.type == "LineString") {
-              var val_data = val.geometry.coordinates
+              var val_data = val.geometry.coordinates;
               for (var j = 0; j < val_data.length; j++) {
-                position.push({ x: val_data[j][0], y: val_data[j][1] })
+                position.push({ x: val_data[j][0], y: val_data[j][1] });
               }
             }
           }
@@ -850,15 +765,15 @@
             1,
             0,
             "绾�"
-          )
-          sgworld.Navigate.flyToObj(this.linePath)
+          );
+          sgworld.Navigate.flyToObj(this.linePath);
         } else {
-          return
+          return;
         }
       }
     },
   },
-}
+};
 </script>
 
 <style scoped lang="less">

--
Gitblit v1.9.3