From e2c94dcb58b199eb57c164a67f1b038d401063d7 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 22 八月 2023 16:38:35 +0800
Subject: [PATCH] 图层管理属性查询;空间查询下载借款给调试,分屏对比功能修改;

---
 src/assets/js/Map/menuTool.js |  155 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 116 insertions(+), 39 deletions(-)

diff --git a/src/assets/js/Map/menuTool.js b/src/assets/js/Map/menuTool.js
index ab1bf1d..a54952e 100644
--- a/src/assets/js/Map/menuTool.js
+++ b/src/assets/js/Map/menuTool.js
@@ -3,7 +3,8 @@
 import rightServer from "./rightServer";
 import config from "./config";
 import CryptoJS from "crypto-js";
-
+// import { Store } from "vuex";
+import store from "@/store";
 const menuTool = {
   toolMenu: null,
   toolFlag: null,
@@ -355,34 +356,7 @@
       destination: Cesium.Rectangle.fromDegrees(west, south, east, north),
     });
 
-    // var e = Viewer.entities.add({
-    //   name: "姝f柟",
-    //   polygon: {
-    //     hierarchy: geometry1,
-    //     //height : 100000,
-    //     material: Cesium.Color.RED,
-    //     outline: true,
-    //     outlineColor: Cesium.Color.RED,
-    //   },
-    // });
-    // const stripeMaterial = new Cesium.StripeMaterialProperty({
-    //   evenColor: Cesium.Color.WHITE.withAlpha(0.5),
-    //   oddColor: Cesium.Color.BLUE.withAlpha(0.5),
-    //   repeat: 5.0,
-    // });
-    // var e = Viewer.entities.add({
-    //   rectangle: {
-    //     coordinates: geometry,
-    //     outline: true,
-    //     outlineColor: Cesium.Color.WHITE,
-    //     outlineWidth: 4,
-    //     stRotation: Cesium.Math.toRadians(45),
-    //     material: stripeMaterial,
-    //   },
-    // });
-    // this.squareOjb.push(e);
-    // // earthCtrl.Creator.SimpleGraphic.clear();
-    // Viewer.entities.remove(entity);
+
 
     setTimeout(() => {
       window.functionForJs({
@@ -421,6 +395,8 @@
       window.DoubleScreen = null;
       const compass = document.getElementsByClassName("bottom_btn")[0];
       compass.style.right = "70px";
+      store.state.doubleMap = false;
+      store.state.doubleMenu = false;
       return;
     }
     window.DoubleScreen = new SmartEarth.DoubleScreen(
@@ -428,18 +404,23 @@
       {},
       SmartEarth
     );
-    DoubleScreen.right._Viewer.imageryLayers.removeAll();
-    var terrain = new Cesium.CesiumTerrainProvider({
-      url: config.moonTerrain,
-      tilingScheme: new Cesium.GeographicTilingScheme({
-        ellipsoid: Cesium.Ellipsoid.MOON,
-      }),
-    });
-    DoubleScreen.right._Viewer.terrainProvider = terrain;
-    rightServer.AddWmtesLayer(config.moonWmts);
-
+    window.rightViewer = DoubleScreen.right._Viewer;
+    window.rightViewer.imageryLayers.removeAll();
+    window.rightViewer = DoubleScreen.right._Viewer;
+    window.rightViewer.animation.container.style.visibility = "hidden";
+    // window.rightViewer.timeline.container.style.visibility = "hidden";
+    //澶ф皵灞�
+    window.rightViewer.scene.globe.showGroundAtmosphere = false;
+    window.rightViewer.scene.skyAtmosphere.show = false;
     const compass = document.getElementsByClassName("bottom_btn")[0];
     compass.style.right = "calc(50% + 70px)";
+    store.state.doubleMap = true;
+    setTimeout(() => {
+      window.functionGetLayer({
+        type: "getlayer",
+        value: true,
+      });
+    }, 100);
   },
   //鍦熸柟閲忚绠�
   Volumetric() {
@@ -551,5 +532,101 @@
     earthCtrl.analysis.deleteObject();
   },
   clearLeftTools(res) { },
+  //绌洪棿鏌ヨ灞炴�у畾浣�
+  spaceLocation(res) {
+    var name = '绌洪棿鏌ヨ';
+    debugger
+    this.setClearLocation(name);
+    switch (res.type) {
+      case 'MultiPolygon':
+        for (var i in res.coordinates) {
+          this.setLocationPolygon(res.coordinates[i], name)
+        }
+        break;
+      case 'MultiLineString':
+        for (var i in res.coordinates) {
+          this.setLocationLine(res.coordinates[i], name)
+        }
+        break;
+      case 'Point':
+        this.setLocationPoint(res.coordinates, name)
+        break;
+    }
+  },
+  //娓呯┖涔嬪墠缁樺埗鍥惧舰
+  setClearLocation(res) {
+    for (var i = 0; i < window.Viewer.entities._entities._array.length; i++) {
+      if (window.Viewer.entities._entities._array[i].name == res) {
+        window.Viewer.entities.remove(window.Viewer.entities._entities._array[i])
+        i = i - 1;
+      }
+    }
+  },
+  setLocationPolygon(res, name) {
+    var position = [];
+    var geom = res[0]
+    for (var i in geom) {
+      position.push(geom[i][0], geom[i][1])
+    }
+    var locationPolygonEntity = window.Viewer.entities.add({
+      name: name,
+      polygon: {
+        hierarchy: { positions: Cesium.Cartesian3.fromDegreesArray(position) },
+        outline: true,
+        outlineWidth: 100,
+        arcType: Cesium.ArcType.RHUMB,
+        material: Cesium.Color.CORNFLOWERBLUE.withAlpha(0.4),
+        outline: true, // height is required for outline to display
+        outlineColor: Cesium.Color.DODGERBLUE,
+      }
+    });
+    window.Viewer.flyTo(locationPolygonEntity, {
+      duration: 5,
+      offset: new SmartEarth.Cesium.HeadingPitchRange(0.0, SmartEarth.Cesium.Math.toRadians(-20.0))
+    });
+  },
+  setLocationPoint(res, name) {
+    const position = window.Viewer.entities.add({
+      name: name,
+      position: Cesium.Cartesian3.fromDegrees(res[0], res[1]),
+      billboard: {
+        image: config.StaticFileBaseUrl + '/Workers/image/location.png',
+        // 璁剧疆璐村湴
+        heightReference: Cesium.Color.CORNFLOWERBLUE.withAlpha(0.4),
+        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
+        scale: 5.0,
+      },
+    });
+    window.Viewer.flyTo(position, {
+      duration: 5,
+      offset: new SmartEarth.Cesium.HeadingPitchRange(0.0, SmartEarth.Cesium.Math.toRadians(-20.0))
+    });
+  },
+  setLocationLine(res, name) {
+    var position = [];
+
+    for (var i in res) {
+      position.push(res[i][0], res[i][1])
+    }
+    var polyline = window.Viewer.entities.add({
+      name: name,
+      polyline: {
+        positions: Cesium.Cartesian3.fromDegreesArray(position),
+        width: 10.0,
+        material: new Cesium.PolylineOutlineMaterialProperty({
+          color: Cesium.Color.CORNFLOWERBLUE.withAlpha(0.4),
+          outlineWidth: 1,
+          outlineColor: Cesium.Color.CORNFLOWERBLUE,
+        }),
+        clampToGround: true,
+
+      },
+    })
+    window.Viewer.flyTo(polyline, {
+      duration: 5,
+      offset: new SmartEarth.Cesium.HeadingPitchRange(0.0, SmartEarth.Cesium.Math.toRadians(-20.0))
+    });
+  }
+
 };
 export default menuTool;

--
Gitblit v1.9.3