From ea4a160fb6722dc98492fd7aff5b5a1ebeb06427 Mon Sep 17 00:00:00 2001 From: WX <1377869194@qq.com> Date: 星期二, 15 八月 2023 17:29:30 +0800 Subject: [PATCH] 地图相机位置 --- src/components/MapView/moonMap.vue | 97 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 95 insertions(+), 2 deletions(-) diff --git a/src/components/MapView/moonMap.vue b/src/components/MapView/moonMap.vue index 399f01e..54344a4 100644 --- a/src/components/MapView/moonMap.vue +++ b/src/components/MapView/moonMap.vue @@ -1,10 +1,12 @@ <template> <div class="body_box"> <div id="cesiumContainer"></div> + <!-- <button id="btn1" class="layui-btn" @click="cameraInfo()">鐩告満鍙傛暟</button> --> </div> </template> <script> +import { getToken } from "../../utils/auth.js"; export default { components: {}, data() { @@ -14,6 +16,82 @@ }; }, methods: { + cameraInfo() { + // 鑾峰彇褰撳墠鐩告満浣嶇疆鐨剎yz鍧愭爣 + var cameraPosition = Viewer.camera.position; + + // 鑾峰彇褰撳墠鐩告満鐨勫Э鎬侊紙heading銆乸itch銆乺oll锛� + var cameraHeading = Viewer.camera.heading; + var cameraPitch = Viewer.camera.pitch; + var cameraRoll = Viewer.camera.roll; + + // 鏋勫缓璀︽姤妗嗕腑鐨勬秷鎭� + var message = 'Camera Position (x, y, z):\n' + + cameraPosition.x.toFixed(2) + ', ' + + cameraPosition.y.toFixed(2) + ', ' + + cameraPosition.z.toFixed(2) + '\n\n' + + 'Camera Heading: ' + cameraHeading.toFixed(2) + '\n' + + 'Camera Pitch: ' + cameraPitch.toFixed(2) + '\n' + + 'Camera Roll: ' + cameraRoll.toFixed(2); + + // 寮瑰嚭璀︽姤妗嗘樉绀虹浉鏈轰綅缃拰濮挎�� + alert(message); + }, + // wmts鍔犺浇 + AddWmtesLayer(url, id) { + var urlTemplateImageryProvider = earthCtrl.factory.createImageryLayer({ + sourceType: "wmts", + url: url, + layer: "", + format: "image/png", + tileMatrixSetID: "GoogleCRS84Quad01", + tileMatrixLabels: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + ], + style: "", + tilingScheme: new Cesium.GeographicTilingScheme({ + ellipsoid: Cesium.Ellipsoid.MOON, + }), + }); + console.log(urlTemplateImageryProvider); + // this.layerList.push({ + // id: id, + // layerData: urlTemplateImageryProvider._primitive, + // type: "wmts", + // }); + }, + // 鍦板舰鍔犺浇 + AddDemLayer(url, id) { + var terrain = new Cesium.CesiumTerrainProvider({ + url: url, + // url: url, + tilingScheme: new Cesium.GeographicTilingScheme({ + ellipsoid: Cesium.Ellipsoid.MOON, + }), + }); + window.Viewer.terrainProvider = terrain; + + // let img_layer = Viewer.imageryLayers.addImageryProvider(layer); + // this.layerList.push({ id: id, type: "dem" }); + }, //鍦板浘鍒濆鍖� init3DMap() { //璁剧疆鏈堢悆鍧愭爣绯� @@ -27,7 +105,7 @@ StaticFileBaseUrl: StaticFileBaseUrl, ellipsoidCoordinates: "MOON", }); - // this.earthCtrl.environment.disableAllEffect(); + this.earthCtrl.environment.disableAllEffect(); this.Viewer = this.earthCtrl._Viewer; @@ -42,8 +120,15 @@ window.Cesium = SmartEarth.Cesium; window.sgworld = earthCtrl; - + sgworld.Navigate.Stop(); //鍙栨秷椋炶鐘舵�� sgworld.Creator.SimpleGraphic.edit(true, { editProp: true }); + sgworld.Navigate.setPosition(-1093596.38, 5729026.12, 4136590.41); + var token = getToken(); + var demUrl = `${BASE_URL}/proxy/${token}/24` + var wmtsUrl = `${BASE_URL}/proxy/${token}/17` + + this.AddDemLayer(demUrl) + this.AddWmtesLayer(wmtsUrl) //======================= // window.Viewer.imageryLayers.removeAll(); //======================= @@ -56,6 +141,8 @@ // }), // }); // window.Viewer.terrainProvider = terrain; + + }, }, mounted() { @@ -77,4 +164,10 @@ height: 100%; } } + +</style> +<style> +.cesium-viewer-animationContainer{ + display: none !important; +} </style> \ No newline at end of file -- Gitblit v1.9.3