From f5763f787d5cc5aa0b7d248e0f494c4232f1e3f3 Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 27 十一月 2023 16:31:21 +0800 Subject: [PATCH] 版本更新 --- src/assets/js/Map/index.js | 75 +++++++++++++++++++++++++++++-------- 1 files changed, 58 insertions(+), 17 deletions(-) diff --git a/src/assets/js/Map/index.js b/src/assets/js/Map/index.js index 6fc46f0..91803d7 100644 --- a/src/assets/js/Map/index.js +++ b/src/assets/js/Map/index.js @@ -15,6 +15,7 @@ SmartEarth.Cesium.ExternalParameter.maxTerrainHeight = 2000000; SmartEarth.Cesium.ExternalParameter.minTerrainHeight = -2000000; SmartEarth.Cesium.ShadowMap.MAXIMUM_DISTANCE = 20000000000; + SmartEarth.Cesium.ExternalParameter.ellipsoidCoordinates = 'MOON2000' window.Cesium = SmartEarth.Cesium; SmartEarth.Cesium.Ellipsoid.WGS84 = new SmartEarth.Cesium.Ellipsoid( 1737400.0, @@ -22,31 +23,43 @@ 1737400.0 ); + //椤甸潰鍒濆鍖� this.earthCtrl = new SmartEarth.EarthCtrl("cesiumContainer", { StaticFileBaseUrl: config.StaticFileBaseUrl, - ellipsoidCoordinates: "MOON2000", + ellipsoidCoordinates: 'MOON2000', timeline: true, + shadowBackCul1: false }); - - this.earthCtrl.Viewer.scene.debugShowFramesPerSecond = true; + this.earthCtrl.Viewer.scene.debugShowFramesPerSecond = true this.earthCtrl.coreMap.scene.screenSpaceCameraController.enableCollisionDetection = true; - + this.earthCtrl.Viewer.scene.globe.terrainExaggeration = 1.00001 + // this.earthCtrl.shadowMap.maximumDistance = 10000.0; window.earthCtrl = this.earthCtrl; - window.Viewer = this.earthCtrl._Viewer; - Viewer.scene.skyAtmosphere.show = false; - window.Cesium = SmartEarth.Cesium; - window.sgworld = earthCtrl; - sgworld.Creator.SimpleGraphic.edit(true, { editProp: false }); + + + // 鏈�灏忕缉鏀鹃珮搴︼紙绫筹級 + // Viewer.scene.screenSpaceCameraController.minimumZoomDistance =10000; + // 鏈�澶х缉鏀鹃珮搴︼紙绫筹級 + // Viewer.scene.screenSpaceCameraController.maximumZoomDistance = 5000000; + //======================= - // window.Viewer.imageryLayers.removeAll(); + //闃村奖鍒嗘瀽 + Viewer.scene.globe.lightingFadeOutDistance = 5.8e+7; + Viewer.scene.globe.enableLighting = false; + earthCtrl.shadows = false; + //璁剧疆鐞冧綋棰滆壊 + window.Viewer.scene.globe.baseColor = new Cesium.Color.fromCssColorString('#A9A9A9'); + //娓呴櫎鎵�鏈夐粯璁ゅ浘灞� + window.Viewer.imageryLayers.removeAll(); window.setLayer(); + // Viewer.scene.globe.depthTestAgainstTerrain = true; Viewer.scene.globe.depthTestAgainstTerrain = false; // 寮�鍚繁搴︽祴璇� Viewer.animation.container.style.visibility = "hidden"; Viewer.timeline.container.style.visibility = "hidden"; @@ -57,35 +70,63 @@ sgworld.Navigate.Stop(); //鍙栨秷椋炶鐘舵�� sgworld.Navigate.setPosition(-1093596.38, 5729026.12, 4136590.41); this.addMouseLeftClickEvents(); + this.addMouseLeftDownEvents(); }, - - //榧犳爣宸﹂敭鐐瑰嚮浜嬩欢娣诲姞 - addMouseLeftClickEvents() { + addMouseLeftDownEvents() { if (window.handleLeftClick) { window.handleLeftClick.removeInputAction( Cesium.ScreenSpaceEventType.LEFT_CLICK ); //绉婚櫎浜嬩欢 window.handleLeftClick = null; } + const pickGlobeSlope = new SmartEarth.Cesium.PickGlobeSlope(earthCtrl.Viewer) window.handleLeftClick = new Cesium.ScreenSpaceEventHandler( window.Viewer.scene.canvas ); var that = this; window.handleLeftClick.setInputAction(function (event) { + const angle = pickGlobeSlope.pickSlope(event.position) + if (store.state.slopeQueyFlag) { + if (!store.state.showSlopeQuey) { + store.state.showSlopeQuey = true; + } + store.state.slopeQueyValue = angle.toFixed(6); + + } + + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }, + + //榧犳爣宸﹂敭鐐瑰嚮浜嬩欢娣诲姞 + addMouseLeftClickEvents() { + if (window.handleLeftDown) { + window.handleLeftDown.removeInputAction( + Cesium.ScreenSpaceEventType.LEFT_DOWN + ); //绉婚櫎浜嬩欢 + window.handleLeftDown = null; + } + window.handleLeftDown = new Cesium.ScreenSpaceEventHandler( + window.Viewer.scene.canvas + ); + var that = this; + window.handleLeftDown.setInputAction(function (event) { let cartesian = window.Viewer.scene.pick(event.position); if (Cesium.defined(cartesian)) { if (cartesian.id.shpType && cartesian.id.shpType == 'temporaryLayer') { - that.setEditTemporaryLayer() + + that.setEditTemporaryLayer(cartesian.id._id) } } - }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }, Cesium.ScreenSpaceEventType.LEFT_DOWN); }, setEditTemporaryLayer(res) { // store.state.editTemporaryId = res; // console.log(store.state.editTemporaryId) - if (store.state.editTemporaryId) { + + if (store.state.editTemporaryId && store.state.editTemporaryId == res) { + store.state.setEditTemporaryShow = true; } }, @@ -165,4 +206,4 @@ console.log(moonPosition); }, }; -export default InitMap; +export default InitMap; \ No newline at end of file -- Gitblit v1.9.3