From fc1f22df5322aa89ffcf60040b01eff0451df3a3 Mon Sep 17 00:00:00 2001 From: WX <1377869194@qq.com> Date: 星期三, 07 六月 2023 17:56:05 +0800 Subject: [PATCH] 页面样式调整,功能调整 --- src/assets/js/Map/index.js | 289 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 146 insertions(+), 143 deletions(-) diff --git a/src/assets/js/Map/index.js b/src/assets/js/Map/index.js index 0e4e025..985855d 100644 --- a/src/assets/js/Map/index.js +++ b/src/assets/js/Map/index.js @@ -4,161 +4,164 @@ import server from "./server"; const InitMap = { - earthCtrl: null, - Viewer: null, - //鍦板浘鍒濆鍖� - init3DMap() { - //璁剧疆鏈堢悆鍧愭爣绯� - SmartEarth.Cesium.Ellipsoid.WGS84 = new SmartEarth.Cesium.Ellipsoid( - 1737400.0, - 1737400.0, - 1737400.0 - ); - //椤甸潰鍒濆鍖� - this.earthCtrl = new SmartEarth.EarthCtrl("cesiumContainer", { - licenseServer: "https://cim.smartearth.cn/", - StaticFileBaseUrl: "/CIMSDK/" - }); + earthCtrl: null, + Viewer: null, + //鍦板浘鍒濆鍖� + init3DMap() { + //璁剧疆鏈堢悆鍧愭爣绯� + SmartEarth.Cesium.Ellipsoid.WGS84 = new SmartEarth.Cesium.Ellipsoid( + 1737400.0, + 1737400.0, + 1737400.0 + ); + //椤甸潰鍒濆鍖� + this.earthCtrl = new SmartEarth.EarthCtrl("cesiumContainer", { + licenseServer: "https://cim.smartearth.cn/", + StaticFileBaseUrl: "/CIMSDK/", + }); + // this.earthCtrl.environment.disableAllEffect(); - this.Viewer = this.earthCtrl._Viewer; - window.earthCtrl = this.earthCtrl; - window.Viewer = this.earthCtrl._Viewer; + this.Viewer = this.earthCtrl._Viewer; + this.Viewer.scene.skyAtmosphere.show = false; + window.earthCtrl = this.earthCtrl; + window.Viewer = this.earthCtrl._Viewer; - Viewer.imageryLayers.removeAll(); + Viewer.imageryLayers.removeAll(); - Viewer.scene.globe.showGroundAtmosphere = false; + Viewer.scene.globe.showGroundAtmosphere = false; - // var terrain = new SmartEarth.Cesium.CesiumTerrainProvider({ - // url: config.moonTerrain, - // tilingScheme: new SmartEarth.Cesium.GeographicTilingScheme({ - // ellipsoid: SmartEarth.Cesium.Ellipsoid.MOON, - // }), - // }); - // Viewer.terrainProvider = terrain; - // Viewer.scene.globe.terrainExaggeration = 5; - // server.AddWmtesLayer(config.moonWmts); - // var param = { - // name: labelName, - // id: earthCtrl.factory.createUUID(), - // text: "鏂囧瓧宸ュ叿", - // font: '50pt monospace', - // outlineWidth: 2, - // fillColor: SmartEarth.Cesium.Color.RED, - // lon: 47.5087, - // lat: 23.6963, - // alt: 10 - // }; - // labelEntity = earthCtrl.factory.createLabel(param); - server.AddTmsLayer(config.moonTms); + // var terrain = new SmartEarth.Cesium.CesiumTerrainProvider({ + // url: config.moonTerrain, + // tilingScheme: new SmartEarth.Cesium.GeographicTilingScheme({ + // ellipsoid: SmartEarth.Cesium.Ellipsoid.MOON, + // }), + // }); + // Viewer.terrainProvider = terrain; + // Viewer.scene.globe.terrainExaggeration = 5; + // server.AddWmtesLayer(config.moonWmts); + // var param = { + // name: labelName, + // id: earthCtrl.factory.createUUID(), + // text: "鏂囧瓧宸ュ叿", + // font: '50pt monospace', + // outlineWidth: 2, + // fillColor: SmartEarth.Cesium.Color.RED, + // lon: 47.5087, + // lat: 23.6963, + // alt: 10 + // }; + // labelEntity = earthCtrl.factory.createLabel(param); + server.AddTmsLayer(config.moonTms); - // server.AddTmsLayer('http://localhost:8080/abc'); + // server.AddTmsLayer('http://localhost:8080/abc'); - // earthCtrl.camera.flyTo(47.5087, 23.6963, 300, 9.5, -45, 0.0, 5); + // earthCtrl.camera.flyTo(47.5087, 23.6963, 300, 9.5, -45, 0.0, 5); - // //娣诲姞榧犳爣宸﹀嚮浜嬩欢 - // this.addMouseLeftClickEvents(); - // this.addMouseMouseMoveEvents(); - }, - //榧犳爣宸﹂敭鐐瑰嚮浜嬩欢娣诲姞 - addMouseLeftClickEvents() { - if (window.handleLeftClick) { - window.handleLeftClick.removeInputAction( - Cesium.ScreenSpaceEventType.LEFT_CLICK - ); //绉婚櫎浜嬩欢 - window.handleLeftClick = null; - } - window.handleLeftClick = new Cesium.ScreenSpaceEventHandler( - window.Viewer.scene.canvas - ); - window.handleLeftClick.setInputAction(function (event) { - let cartesian = window.Viewer.camera.pickEllipsoid(event.position); - if (cartesian) { - let cartographic = Cesium.Cartographic.fromCartesian(cartesian); - let lng = Cesium.Math.toDegrees(cartographic.longitude); // 缁忓害 - let lat = Cesium.Math.toDegrees(cartographic.latitude); // 绾害 - let alt = cartographic.height; // 楂樺害锛屾き鐞冮潰height姘歌繙绛変簬0 - let coordinate = { - longitude: Number(lng.toFixed(6)), - latitude: Number(lat.toFixed(6)), - altitude: Number(alt.toFixed(2)), + // //娣诲姞榧犳爣宸﹀嚮浜嬩欢 + // this.addMouseLeftClickEvents(); + // this.addMouseMouseMoveEvents(); + }, + //榧犳爣宸﹂敭鐐瑰嚮浜嬩欢娣诲姞 + addMouseLeftClickEvents() { + if (window.handleLeftClick) { + window.handleLeftClick.removeInputAction( + Cesium.ScreenSpaceEventType.LEFT_CLICK + ); //绉婚櫎浜嬩欢 + window.handleLeftClick = null; + } + window.handleLeftClick = new Cesium.ScreenSpaceEventHandler( + window.Viewer.scene.canvas + ); + window.handleLeftClick.setInputAction(function (event) { + let cartesian = window.Viewer.camera.pickEllipsoid(event.position); + if (cartesian) { + let cartographic = Cesium.Cartographic.fromCartesian(cartesian); + let lng = Cesium.Math.toDegrees(cartographic.longitude); // 缁忓害 + let lat = Cesium.Math.toDegrees(cartographic.latitude); // 绾害 + let alt = cartographic.height; // 楂樺害锛屾き鐞冮潰height姘歌繙绛変簬0 + let coordinate = { + longitude: Number(lng.toFixed(6)), + latitude: Number(lat.toFixed(6)), + altitude: Number(alt.toFixed(2)), + }; + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }, - }; + addMouseMouseMoveEvents() { + if (window.handleMouseMove) { + window.handleMouseMove.removeInputAction( + Cesium.ScreenSpaceEventType.MOUSE_MOVE + ); //绉婚櫎浜嬩欢 + window.handleMouseMove = null; + } + window.handleMouseMove = new Cesium.ScreenSpaceEventHandler( + window.Viewer.scene.canvas + ); + window.handleMouseMove.setInputAction(function (movement) { + let cartesian = window.Viewer.camera.pickEllipsoid( + movement.endPosition, + window.Viewer.scene.globe.ellipsoid + ); + if (cartesian) { + //灏嗙瑳鍗″皵鍧愭爣杞崲涓哄湴鐞嗗潗鏍� + var cartographic = + window.Viewer.scene.globe.ellipsoid.cartesianToCartographic( + cartesian + ); + //灏嗗姬搴﹁浆涓哄害鐨勫崄杩涘埗搴﹁〃绀� + var lng = Cesium.Math.toDegrees(cartographic.longitude); + var lat = Cesium.Math.toDegrees(cartographic.latitude); + //鑾峰彇鐩告満楂樺害 + var alt = Math.ceil(window.Viewer.camera.positionCartographic.height); - } + let coordinate = { + longitude: Number(lng.toFixed(6)), + latitude: Number(lat.toFixed(6)), + altitude: Number(alt.toFixed(2)), + type: "MOUSE_MOVE", + }; + window.addMouseEvents(coordinate); + } + }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); + }, - }, Cesium.ScreenSpaceEventType.LEFT_CLICK); - }, + //CGCS2000杞湀鐞冨潗鏍�---寰呴獙璇� + Cjcs2000ToMoon() { + // 瀹氫箟寰呰浆鎹㈢殑缁忕含搴﹀潗鏍囧拰楂樺害 + const longitude = 110.5; + const latitude = 34.5; + const height = 0; - addMouseMouseMoveEvents() { - if (window.handleMouseMove) { - window.handleMouseMove.removeInputAction( - Cesium.ScreenSpaceEventType.MOUSE_MOVE - ); //绉婚櫎浜嬩欢 - window.handleMouseMove = null; - } - window.handleMouseMove = new Cesium.ScreenSpaceEventHandler(window.Viewer.scene.canvas); - window.handleMouseMove.setInputAction(function (movement) { - let cartesian = window.Viewer.camera.pickEllipsoid( - movement.endPosition, - window.Viewer.scene.globe.ellipsoid - ); - if (cartesian) { - //灏嗙瑳鍗″皵鍧愭爣杞崲涓哄湴鐞嗗潗鏍� - var cartographic = - window.Viewer.scene.globe.ellipsoid.cartesianToCartographic(cartesian); - //灏嗗姬搴﹁浆涓哄害鐨勫崄杩涘埗搴﹁〃绀� - var lng = Cesium.Math.toDegrees(cartographic.longitude); - var lat = Cesium.Math.toDegrees(cartographic.latitude); - //鑾峰彇鐩告満楂樺害 - var alt = Math.ceil(window.Viewer.camera.positionCartographic.height); + // 瀹氫箟CGCS2000鍧愭爣绯� + const cgcs2000 = new Cesium.Ellipsoid( + 6378137.0, + 6378137.0, + 6356752.3142451793 + ); - let coordinate = { - longitude: Number(lng.toFixed(6)), - latitude: Number(lat.toFixed(6)), - altitude: Number(alt.toFixed(2)), - type: 'MOUSE_MOVE' - }; - window.addMouseEvents(coordinate) - } - }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); - }, + // 瀹氫箟Moon2000鍧愭爣绯� + const moon2000 = new Cesium.Ellipsoid(1737400.0, 1737400.0, 1737400.0); - //CGCS2000杞湀鐞冨潗鏍�---寰呴獙璇� - Cjcs2000ToMoon() { - // 瀹氫箟寰呰浆鎹㈢殑缁忕含搴﹀潗鏍囧拰楂樺害 - const longitude = 110.5; - const latitude = 34.5; - const height = 0; - - // 瀹氫箟CGCS2000鍧愭爣绯� - const cgcs2000 = new Cesium.Ellipsoid( - 6378137.0, - 6378137.0, - 6356752.3142451793 - ); - - // 瀹氫箟Moon2000鍧愭爣绯� - const moon2000 = new Cesium.Ellipsoid(1737400.0, 1737400.0, 1737400.0); - - // 灏嗙粡绾害鍧愭爣杞崲涓虹瑳鍗″皵鍧愭爣绯� - const cartesian3 = Cesium.Cartesian3.fromDegrees( - longitude, - latitude, - height, - cgcs2000 - ); - // 灏嗙瑳鍗″皵鍧愭爣绯昏浆鎹负Moon2000鍧愭爣绯� - const moonCartesian3 = Cesium.Transforms.eastNorthUpToFixedFrame( - cartesian3, - cgcs2000, - moon2000 - ); - // 杈撳嚭杞崲鍚庣殑缁忕含搴﹀潗鏍囧拰楂樺害 - console.log(moonCartesian3); - // 灏哅oon2000鍧愭爣绯荤殑绗涘崱灏斿潗鏍囪浆鎹负缁忕含搴﹀潗鏍� - const moonPosition = Cesium.Cartographic.fromCartesian(moonCartesian3); - // 杈撳嚭杞崲鍚庣殑缁忕含搴﹀潗鏍囧拰楂樺害 - console.log(moonPosition); - }, + // 灏嗙粡绾害鍧愭爣杞崲涓虹瑳鍗″皵鍧愭爣绯� + const cartesian3 = Cesium.Cartesian3.fromDegrees( + longitude, + latitude, + height, + cgcs2000 + ); + // 灏嗙瑳鍗″皵鍧愭爣绯昏浆鎹负Moon2000鍧愭爣绯� + const moonCartesian3 = Cesium.Transforms.eastNorthUpToFixedFrame( + cartesian3, + cgcs2000, + moon2000 + ); + // 杈撳嚭杞崲鍚庣殑缁忕含搴﹀潗鏍囧拰楂樺害 + console.log(moonCartesian3); + // 灏哅oon2000鍧愭爣绯荤殑绗涘崱灏斿潗鏍囪浆鎹负缁忕含搴﹀潗鏍� + const moonPosition = Cesium.Cartographic.fromCartesian(moonCartesian3); + // 杈撳嚭杞崲鍚庣殑缁忕含搴﹀潗鏍囧拰楂樺害 + console.log(moonPosition); + }, }; export default InitMap; -- Gitblit v1.9.3