From 2cbbc0e4c0357260f370c47365810608c19131c9 Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 01 四月 2024 09:31:56 +0800 Subject: [PATCH] 代码更新 --- src/components/Screen/mapsdk.vue | 193 +++++++++++++++++++++++++++-------------------- 1 files changed, 111 insertions(+), 82 deletions(-) diff --git a/src/components/Screen/mapsdk.vue b/src/components/Screen/mapsdk.vue index c3c0699..1d85c56 100644 --- a/src/components/Screen/mapsdk.vue +++ b/src/components/Screen/mapsdk.vue @@ -5,6 +5,7 @@ </template> <script> +let yunxuanLayer = null export default { name: "", components: {}, @@ -12,7 +13,31 @@ return {} }, mounted() { + this.init3DMap() + // this.$bus.$on("changeProject", name => { + // if (!yunxuanLayer) { + // var urls = "https://tiles3.geovisearth.com/base/v1/ter" + // // 鏄熷浘鍦扮悆鍦板舰鏅曟覆 + // yunxuanLayer = sgworld.Creator.createUrlTemplateImageryProvider( + // "鏄熷浘鍦扮悆鍦板舰鏅曟覆", + // { + // url: + // urls + + // "/{z}/{x}/{y}?format=webp&token=486dac3bec56d7d7c2a581c150be2bd937462f1e8f3bc9c78b5658b396122405", + // }, + // "0", + // undefined, + // true, + // "" + // ) + // } + // if (name == '鍏ㄧ悆椤圭洰') { + // yunxuanLayer.item.show = true + // } else { + // yunxuanLayer.item.show = false + // } + // }) }, methods: { init3DMap() { @@ -20,89 +45,86 @@ // window.sgworld = new SmartEarth.SGWorld("Centermapdiv", { // licenseServer: window.sceneConfig.licenseServer, // }) - window.sgworld = new SmartEarth.SGWorld( - "Centermapdiv", - SmartEarthRootUrl + "Workers/image/earth.jpg", - function () {} - ) + // window.sgworld = new SmartEarth.SGWorld( + // "Centermapdiv", + // function () { } + // ) + this.$store.state.showThematicFlag = false; + window.sgworld = new SmartEarth.SGWorld("Centermapdiv", { - window.viewer = window.Viewer = window.sgworld._Viewer - // Viewer.imageryLayers._layers[0].show = false - - // viewer.clock.shouldAnimate = true - //姣忔鏃嬭浆鐨勫姬搴� 瓒婂皬瓒婃參 - var angle = Cesium.Math.toRadians(Math.PI * 1) - // 鏃嬭浆娆℃暟 鐢ㄦ潵鎺у埗鍋滄 - var rotate_num = 0 - function onTickCallback() { - viewer.scene.camera.rotate(Cesium.Cartesian3.UNIT_Z, angle) - //浠ヤ笅鐢ㄦ潵鎺у埗 鍋滄 - rotate_num++ - // 110 娆℃棆杞竴鍛� - if (rotate_num == 1) { - Viewer.camera.flyTo({ - destination: { - x: -2395735.480669514, - y: 35646557.30966785, - z: 33320031.01620178, - }, - orientation: { - heading: 6.283185307179578, - roll: 0, - pitch: -1.5687480368906144, - }, - }) - } - if (rotate_num == 220) { - Viewer.camera.flyTo({ - destination: { - x: -4022999.313498903, - y: 19214082.70976515, - z: 13043510.373621361, - }, - orientation: { - heading: 6.283185307179577, - roll: 0, - pitch: -1.5643686104630592, - }, - }) - } - if (rotate_num === 330) { - //缁撴潫鏃嬭浆 - viewer.clock.onTick.removeEventListener(onTickCallback) - //鍙互鍐嶆帴瀹氫綅鍔ㄧ敾 - Viewer.camera.flyTo({ - destination: { - x: -3919623.6069864673, - y: 13752070.475126158, - z: 8307291.863719194, - }, - orientation: { - heading: 6.283185307179582, - roll: 0, - pitch: -1.5707039123519846, - }, - }) - } + licenseServer: window.sceneConfig.licenseServer, + }); + window.viewer = window.Viewer = window.sgworld._Viewer; + if (is_production) { + Viewer.imageryLayers.removeAll(); } - // 鍒╃敤鏃堕挓杩涜鐩戝惉 - viewer.clock.onTick.addEventListener(onTickCallback) - Viewer.imageryLayers.addImageryProvider( - new Cesium.UrlTemplateImageryProvider({ - url: gaoDeBaseUrl[0].url, - }) - ) - Viewer.imageryLayers.addImageryProvider( - new Cesium.UrlTemplateImageryProvider({ - url: gaoDeBaseUrl[1].url, + // Viewer.imageryLayers._layers[0].show = false + sgworld.Navigate.jumpTo({ //璺宠浆瑙嗚 + destination: new Cesium.Cartesian3.fromDegrees(110, 32, 50000000) + }); + setTimeout(() => { + window.viewer.camera.flyTo({ + destination: new Cesium.Cartesian3.fromDegrees(110, 32, 20000000), + orientation: { + heading: Cesium.Math.toRadians(0), + pitch: Cesium.Math.toRadians(-90), + } }) - ) - Viewer.imageryLayers.addImageryProvider( - new Cesium.UrlTemplateImageryProvider({ - url: gaoDeBaseUrl[2].url, - }) - ) + }, 1000); + + if (is_production) { + + var base_ulr = window.sceneConfig.baseUrl; + if (base_ulr.indexOf('{host}') > -1) { + base_ulr = base_ulr.replace("{host}", iisHost) + } + Viewer.imageryLayers.addImageryProvider( + new Cesium.UrlTemplateImageryProvider({ + url: base_ulr, + maximumLevel: 5 + }) + ); + window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider( + new Cesium.UrlTemplateImageryProvider({ + url: base_ulr, + }) + ); + var base_ulr_sl = window.sceneConfig.baseUrl_sl; + if (base_ulr_sl.indexOf('{host}') > -1) { + base_ulr_sl = base_ulr_sl.replace("{host}", iisHost) + } + window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider( + new Cesium.UrlTemplateImageryProvider({ + url: base_ulr_sl, + + }) + ); + Viewer.imageryLayers._layers[2].show = false + this.$store.state.showThematicFlag = true; + } else { + Viewer.imageryLayers.addImageryProvider( + new Cesium.UrlTemplateImageryProvider({ + url: gaoDeBaseUrl[0].url, + }) + ) + + // Viewer.imageryLayers.addImageryProvider( + // new Cesium.UrlTemplateImageryProvider({ + // url: gaoDeBaseUrl[1].url, + // }) + // ) + // Viewer.imageryLayers.addImageryProvider( + // new Cesium.UrlTemplateImageryProvider({ + // url: gaoDeBaseUrl[2].url, + // }) + // ) + Viewer.imageryLayers._layers[1].show = false; + this.$store.state.showThematicFlag = true; + } + + + Viewer._enableInfoOrSelection = false //鏄剧ずfps @@ -114,10 +136,16 @@ //寮�鍚繁搴︽娴� sgworld.Analysis.depthTestAgainstTerrain(true) - Viewer.terrainProvider = new Cesium.CesiumTerrainProvider({ - url: demLayer, - }) + // Viewer.terrainProvider = new Cesium.CesiumTerrainProvider({ + // url: demLayer, + // }) + // var option = { + // url: window.sceneConfig.SGUrl, + // layerName: window.sceneConfig.mptName, + // requestVertexNormals: true, + // }; + // window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, ""); //鏀瑰彉澶╃┖棰滆壊涓洪粦鑹� Viewer.scene.skyBox.show = false //鍏抽棴澶╃┖鐩掞紝鍚﹀垯浼氭樉绀哄ぉ绌洪鑹� //鑳屾櫙閫忔槑 @@ -133,6 +161,7 @@ height: 100%; width: 100%; } + #Centermapdiv { height: 100%; width: 100%; -- Gitblit v1.9.3