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