From f4a54f5d378fb194d4132de2668e5d85a255b8ff Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期四, 26 十月 2023 15:07:55 +0800 Subject: [PATCH] 版本更新 --- src/assets/js/Map/menuTool.js | 168 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 118 insertions(+), 50 deletions(-) diff --git a/src/assets/js/Map/menuTool.js b/src/assets/js/Map/menuTool.js index bfc8daf..ed1f6f0 100644 --- a/src/assets/js/Map/menuTool.js +++ b/src/assets/js/Map/menuTool.js @@ -22,6 +22,10 @@ imageryProvider: null, topTools(res) { this.toolFlag = res.id; + + + Viewer.scene.globe.depthTestAgainstTerrain = false + Viewer.scene.pickTranslucentDepth = false switch (res.id) { case "a2": //鐐规极娓� this.pointRoam(); @@ -98,15 +102,18 @@ Viewer.animation.container.style.visibility = "hidden"; Viewer.timeline.container.style.visibility = "hidden"; Viewer.clock.shouldAnimate = false; - return (earthCtrl.shadows = false); + Viewer.scene.globe.enableLighting = false; + earthCtrl.shadows = false; + return } Viewer.clock.shouldAnimate = true; + Viewer.scene.globe.enableLighting = true; Viewer.animation.container.style.visibility = "visible"; Viewer.timeline.container.style.visibility = "visible"; earthCtrl.shadows = true; - earthCtrl.terrainShadows = SmartEarth.Cesium.ShadowMode.ENABLED + // earthCtrl.terrainShadows = SmartEarth.Cesium.ShadowMode.ENABLED - earthCtrl.shadowMap.size = 1024 + // earthCtrl.shadowMap.size = 1024 }, setLocalPosition(res) { if (this.localPoint) { @@ -161,58 +168,112 @@ }, setImageLayerChange() { if (this.imageryProvider) { - Viewer.imageryLayers.raiseToTop(this.imageryProvider); } }, //绛夐珮绾� setcontour() { - if (this.imageryProvider) { - Viewer.imageryLayers.remove(this.imageryProvider); - this.imageryProvider = null; - return - } - var that = this; - var imageryProvider = new Cesium.UrlTemplateImageryProvider({ - url: 'http://192.168.20.83:80/Moon/LFData/2d/tiles/contour_500/{mz}/{my}/{mx}.png', - tilingScheme: new Cesium.GeographicTilingScheme(), - customTags: { - mz: function (imageryProvider, x, y, level) { - return 'L' + that.zeroFill(level + 1, 2, 10); // 娉ㄦ剰瑙傛祴锛屽眰绾у姞1浜� - }, - mx: function (imageryProvider, x, y, level) { - return 'C' + that.zeroFill(x, 8, 16); - }, - my: function (imageryProvider, x, y, level) { - return 'R' + that.zeroFill(y, 8, 16); - } - } - }); - this.imageryProvider = Viewer.imageryLayers.addImageryProvider(imageryProvider); - // var globe = window.Viewer.scene.globe; - // if (window.material) { - // window.material = null; - // globe.material = null; - // store.state.slopeQueyFla = false - // store.state.slopeQueyFlag = false; - // store.state.showSlopeQuey = false; - // return; + // if (this.imageryProvider) { + // Viewer.imageryLayers.remove(this.imageryProvider); + // this.imageryProvider = null; + // return // } + // var that = this; + // var imageryProvider = new Cesium.UrlTemplateImageryProvider({ + // url: 'http://192.168.20.83:80/Moon/LFData/2d/tiles/contour_500/{mz}/{my}/{mx}.png', + // tilingScheme: new Cesium.GeographicTilingScheme(), + // customTags: { + // mz: function (imageryProvider, x, y, level) { + // return 'L' + that.zeroFill(level + 1, 2, 10); // 娉ㄦ剰瑙傛祴锛屽眰绾у姞1浜� + // }, + // mx: function (imageryProvider, x, y, level) { + // return 'C' + that.zeroFill(x, 8, 16); + // }, + // my: function (imageryProvider, x, y, level) { + // return 'R' + that.zeroFill(y, 8, 16); + // } + // } + // }); + // this.imageryProvider = Viewer.imageryLayers.addImageryProvider(imageryProvider); + var globe = window.Viewer.scene.globe; + if (window.material) { + window.material = null; + globe.material = null; + store.state.slopeQueyFla = false + store.state.slopeQueyFlag = false; + store.state.showSlopeQuey = false; + + return; + } - // var contourColor = new SmartEarth.Cesium.Color( - // 117 / 255, - // 71 / 255, - // 18 / 255, - // 255 / 255 - // ); - // var contourUniforms = {}; - // window.material = Cesium.Material.fromType("ElevationContour"); - // contourUniforms = material.uniforms; - // contourUniforms.width = 1.0; - // contourUniforms.spacing = 100.0; - // contourUniforms.color = contourColor; - // globe.material = window.material; + var contourColor = new SmartEarth.Cesium.Color( + 117 / 255, + 71 / 255, + 18 / 255, + 255 / 255 + ); + var contourUniforms = {}; + window.material = Cesium.Material.fromType("ElevationContour"); + contourUniforms = material.uniforms; + contourUniforms.width = 1.0; + contourUniforms.spacing = 50.0; + contourUniforms.color = contourColor; + globe.material = window.material; +// this.showContourLine(); }, + showContourLine () { + + window.ddd = { x: -1, y: -1, level: -1 }; + + const clipPlane = Viewer.scene.globe.clipPlanes; + for (let index = 1; index < 20; index++) { + clipPlane.push({ + plane: new SmartEarth.Cesium.Plane( + new SmartEarth.Cesium.Cartesian3(0, 0, -1), + (index * 50 )- 1000 + ), + font: "Arial", + fontSize: 20, + fontColor: "#5151F1", + minShowLevel: 2, + }); + } + + // setTimeout(() => { + // clipPlane.length = 0; + // }, 10000); + + // this.updateMaterial(); + }, + updateMaterial () { + const layers = []; + for (let index = 1; index < 20; index++) { + const band = { + entries: [ + { + height: (index * 50 )- 1001, + color: new SmartEarth.Cesium.Color(0.0, 1.0, 0.0, 0.0), + }, + { + height: (index * 50 )- 1000, + color: new SmartEarth.Cesium.Color(0.0, 1.0, 0.0, 1.0), + }, + ], + }; + layers.push(band); + } + const material = SmartEarth.Cesium.createElevationBandMaterial({ + scene: Viewer.scene, + layers: layers, + type:"ElevationContour" + }); + Viewer.scene.globe.material = material; + }, + + + + + zeroFill(num, len, radix) { var str = num.toString(radix || 10) while (str.length < len) { @@ -270,7 +331,7 @@ name: name, polyline: { positions: Cesium.Cartesian3.fromDegreesArray(position), - width: 10.0, + width: 3.0, material: new Cesium.PolylineOutlineMaterialProperty({ color: new Cesium.Color.fromCssColorString('#A6D8AE').withAlpha(0.5), outlineWidth: 1, @@ -425,7 +486,9 @@ break; case "l3": //鍦ㄧ嚎鍒跺浘 store.state.isShowMap = true; - this.setThematicMap(); + setTimeout(() => { + this.setThematicMap(); + }, 200); break; case "l4": @@ -527,6 +590,7 @@ //鍦ㄧ嚎鍒跺浘 setThematicMap() { + earthCtrl.coreMap.scene.mode = SmartEarth.Cesium.SceneMode.SCENE2D; // var handle = new SmartEarth.Cesium.ScreenSpaceEventHandler( // earthCtrl.viewer.scene.canvas @@ -582,6 +646,8 @@ window.Volumetric.deleteObject(); window.Volumetric = null; } + Viewer.scene.globe.depthTestAgainstTerrain = true + Viewer.scene.pickTranslucentDepth = true window.Volumetric = earthCtrl.analysis.createVolumetricMeasure({}); window.Volumetric.startDrawing(); }, @@ -655,7 +721,9 @@ Viewer.animation.container.style.visibility = "hidden"; Viewer.timeline.container.style.visibility = "hidden"; Viewer.clock.shouldAnimate = false; - return (earthCtrl.shadows = false); + Viewer.scene.globe.enableLighting = false; + earthCtrl.shadows = false; + return } if (window.Volumetric) { window.Volumetric.deleteObject(); -- Gitblit v1.9.3