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