From 703703929e97b94ca1c1c5e35a578e5fe9d4cfea Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期一, 30 九月 2024 09:58:04 +0800
Subject: [PATCH] 代码修改

---
 src/views/visual/mapView/index.vue |  116 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 82 insertions(+), 34 deletions(-)

diff --git a/src/views/visual/mapView/index.vue b/src/views/visual/mapView/index.vue
index d019da3..4cecfec 100644
--- a/src/views/visual/mapView/index.vue
+++ b/src/views/visual/mapView/index.vue
@@ -51,20 +51,20 @@
 </template>
 
 <script>
-import mapInit from '@/assets/js/mapSdk/index.js';
+import mapInit from '../../../assets/js/mapSdk/index.js';
 import mapData from '@/assets/js/mapSdk/mapData.js';
 import layerManager from './layerManager.vue';
 import menuManager from '@/assets/js/mapSdk/menuManager.js';
 import location from './location.vue';
 import knowledge from './knowledge.vue';
 import lineRoaming from './lineRoaming.vue';
-import { layer_selectAll } from "@/api/mapView/map.js";
+import { layer_selectAll } from '@/api/mapView/map.js';
 import configTools from '@/assets/js/configTools';
-import store from "@/store";
+import store from '@/store';
 import mapServer from '@/assets/js/mapSdk/mapServe';
 import undergroundMode from './undergroundMode.vue';
 import dataAnalysis from './dataAnalysis.vue';
-import dataStatistics from './dataStatistics.vue'
+import dataStatistics from './dataStatistics.vue';
 import attributeInfo from './attributeInfo.vue';
 import mapInfo from './mapInfo.vue';
 export default {
@@ -77,22 +77,26 @@
             childMenuIsShow: true,
             childMenuOption: [],
             childObj: [],
+            showEarth: false,
         };
     },
+    created() {
+        console.log('created');
+    },
     mounted() {
+        this.showEarth = true;
         this.mapViewStart();
-        this.$busEvent.$on('CHANGE_MAPINFO', res => {
-
-            this.setMapInfo(res)
-
+        this.$busEvent.$on('CHANGE_MAPINFO', (res) => {
+            this.setMapInfo(res);
         });
-
+    },
+    beforeCreate() {
+        console.log('beforeCreate');
     },
     beforeDestroy() {
-        this.$store.dispatch('mapLayers/changeLayerTree', [])
-        this.$store.dispatch('mapLayers/changeDefaultLayer', [])
+        this.$store.dispatch('mapLayers/changeLayerTree', []);
+        this.$store.dispatch('mapLayers/changeDefaultLayer', []);
     },
-
 
     methods: {
         setMapInfo(res) {
@@ -102,41 +106,85 @@
                 setTimeout(() => {
                     this.$refs && this.$refs.mapInfo && this.$refs.mapInfo.open();
                 }, 200);
-
-
             }
-
         },
         mapViewStart() {
             this.menuOption = mapData.menuData;
-            this.$nextTick(() => {
-                mapInit.Init();
-                setTimeout(() => {
-                  if(config.baseModel.url){
-                    mapServer.addLayer(config.baseModel);
-                  }
-                    this.getSelectLayers();
-                }, 500);
 
-            });
+            window.earthCtrl = new SmartEarth.EarthCtrl(
+                'sdkContainer',
+                {
+                    // 闅愯棌榛樿搴曞浘
+                    defaultImagery: false,
+                    // 闅愯棌logo
+                    printLog: false,
+                    // sceneMode: SmartEarth.Cesium.SceneMode.SCENE2D
+                    StaticFileBaseUrl: '/CimSDK/',
+                },
+                {},
+                {},
+                () => {
+                    setTimeout(() => {
+                        mapServer.layerList = [];
+                        //鍒濆鍖朇esium
+                        window.Cesium = SmartEarth.Cesium;
+                        // 鍒濆鍖朧iewer
+                        window.Viewer = window.earthCtrl.viewer;
+                        //璁剧疆鍦扮悆棰滆壊
+                        window.Viewer.scene.globe.baseColor = Cesium.Color.fromCssColorString('#A9A9A9');
+                        window.Viewer.imageryLayers.removeAll();
+                        const serverUrl = config.geoServer;
+                        const layer = new Cesium.WebMapServiceImageryProvider({
+                            url: serverUrl.url + serverUrl.wms,
+                            layers: serverUrl.layers[1],
+                            parameters: {
+                                transparent: true,
+                                format: 'image/png',
+                                srs: 'EPSG:4490',
+                                styles: '',
+                                cql_filter: '',
+                            },
+                            tileWidth: 512,
+                            tileHeight: 512,
+                        });
+
+                        window.Viewer.imageryLayers.addImageryProvider(layer);
+                        this.setStart();
+
+                    }, 500);
+                }
+            );
         },
+        setStart() {
+            mapInit.Init();
+            setTimeout(() => {
+                if (config.baseModel.url) {
+                    var model = window.earthCtrl.factory.create3DTilesets({
+                        url: config.baseModel.url
+
+                    });
+                }
+                this.getSelectLayers();
+            }, 500);
+        },
+
         getSelectLayers() {
-            layer_selectAll().then(response => {
-                if (response.data.code != 200) return
+            layer_selectAll().then((response) => {
+                if (response.data.code != 200) return;
                 const defaultLayer = [];
-                const val = response.data.result.filter(item => {
+                const val = response.data.result.filter((item) => {
                     item.checked = false;
                     if (item.type == 2 && item.isShow == 1) {
                         item.checked = true;
-                        mapServer.addLayer(item)
-                        defaultLayer.push(item.id)
+                        mapServer.addLayer(item);
+                        defaultLayer.push(item.id);
                     }
                     return item;
-                })
-                this.$store.dispatch('mapLayers/changeDefaultLayer', defaultLayer)
-                var obj = configTools.getTreeData(val)
-                this.$store.dispatch('mapLayers/changeLayerTree', obj)
-            })
+                });
+                this.$store.dispatch('mapLayers/changeDefaultLayer', defaultLayer);
+                var obj = configTools.getTreeData(val);
+                this.$store.dispatch('mapLayers/changeLayerTree', obj);
+            });
         },
         setMenuClose() {
             this.menuIsShow = !this.menuIsShowx;

--
Gitblit v1.9.3