From fb98e10c76d7e6c2d01f3a9f8c1b727f905cbdca Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 05 二月 2024 15:30:50 +0800 Subject: [PATCH] 代码更新 --- src/components/Screen/mapsdk.vue | 262 ++++++++++++++++++++++++--------------------------- 1 files changed, 123 insertions(+), 139 deletions(-) diff --git a/src/components/Screen/mapsdk.vue b/src/components/Screen/mapsdk.vue index 18c9190..841daa8 100644 --- a/src/components/Screen/mapsdk.vue +++ b/src/components/Screen/mapsdk.vue @@ -5,6 +5,8 @@ </template> <script> +let yunxuanLayer = null +import mapMenu from '../js/index.js' export default { name: "", components: {}, @@ -13,145 +15,99 @@ }, 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() { - //鍦板浘鍒濆鍖� - window.sgworld = new SmartEarth.SGWorld("Centermapdiv", { - licenseServer: window.sceneConfig.licenseServer, - }) - - window.viewer = window.Viewer = window.sgworld._Viewer - Viewer.imageryLayers._layers[0].show = false - //瀹氫綅 - // Viewer.camera.flyTo({ - // destination: Cesium.Cartesian3.fromDegrees(110, 33, 25000000), - // }) - // Viewer.camera.flyTo({ - // destination: { - // x: -10834926.182758586, - // y: 50483318.61217012, - // z: 38375099.7193183, - // }, - // orientation: { - // heading: 6.283185307179578, - // roll: 0, - // pitch: -1.56436861046299, - // }, - // }) - //寮�鍚� tick61.2 - - // Cesium.Camera.DEFAULT_VIEW_RECTANGLE = { - // west: -3.141592653589793, - // south: -1.5707963267948966, - // east: 3.141592653589793, - // north: 1.5707963267948966, - // } - - 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, - }, - }) - } + initData() { + if (is_production) { + Viewer.imageryLayers.removeAll(); } - // 鍒╃敤鏃堕挓杩涜鐩戝惉 - viewer.clock.onTick.addEventListener(onTickCallback) - // setTimeout(() => { - // Viewer.camera.flyTo({ - // destination: { - // x: -4022999.313498903, - // y: 19214082.70976515, - // z: 13043510.373621361, - // }, - // orientation: { - // heading: 6.283185307179577, - // roll: 0, - // pitch: -1.5643686104630592, - // }, - // }) - // }, 1000) - - // setTimeout(() => { - // Viewer.camera.flyTo({ - // destination: { - // x: -3919623.6069864673, - // y: 13752070.475126158, - // z: 8307291.863719194, - // }, - // orientation: { - // heading: 6.283185307179582, - // roll: 0, - // pitch: -1.5707039123519846, - // }, - // }) - // }, 1000) - - Viewer.imageryLayers.addImageryProvider( - new Cesium.UrlTemplateImageryProvider({ - url: gaoDeBaseUrl[0].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), + } }) - ) + }, 1000); - Viewer.imageryLayers.addImageryProvider( - new Cesium.UrlTemplateImageryProvider({ - url: gaoDeBaseUrl[1].url, - }) - ) - Viewer.imageryLayers.addImageryProvider( - new Cesium.UrlTemplateImageryProvider({ - url: gaoDeBaseUrl[2].url, - }) - ) + + 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 + } 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 + } + + + Viewer._enableInfoOrSelection = false //鏄剧ずfps @@ -163,25 +119,53 @@ //寮�鍚繁搴︽娴� 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 //鍏抽棴澶╃┖鐩掞紝鍚﹀垯浼氭樉绀哄ぉ绌洪鑹� //鑳屾櫙閫忔槑 Viewer.scene.backgroundColor = new Cesium.Color(0.0, 0.0, 0.0, 0.0) }, + init3DMap() { + //鍦板浘鍒濆鍖� + // window.sgworld = new SmartEarth.SGWorld("Centermapdiv", { + // licenseServer: window.sceneConfig.licenseServer, + // }) + // window.sgworld = new SmartEarth.SGWorld( + // "Centermapdiv", + // function () { } + // ) + window.sgworld = new SmartEarth.SGWorld("Centermapdiv", { + + licenseServer: window.sceneConfig.licenseServer, + }); + window.viewer = window.Viewer = window.sgworld._Viewer; + var data = mapMenu.init(); + data.then((res) => { + if (!res) { + mapMenu.addGaoDeMap(); + } + this.initData(); + }) + }, }, } </script> -<style scoped lang="scss"> +<style scoped lang="less"> .ParentCentermapdiv { display: fixed; height: 100%; width: 100%; } + #Centermapdiv { height: 100%; width: 100%; -- Gitblit v1.9.3