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 |  122 +++++++++++++++++++++++++++++++++-------
 1 files changed, 99 insertions(+), 23 deletions(-)

diff --git a/src/views/visual/mapView/index.vue b/src/views/visual/mapView/index.vue
index 539c4f3..4cecfec 100644
--- a/src/views/visual/mapView/index.vue
+++ b/src/views/visual/mapView/index.vue
@@ -45,70 +45,146 @@
             <dataStatistics ref="dataStatistics"></dataStatistics>
             <!-- 灞炴�т俊鎭� -->
             <attributeInfo ref="attributeInfo"></attributeInfo>
+            <map-info :childObj="childObj" ref="mapInfo"></map-info>
         </div>
     </div>
 </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 {
     name: 'mapView',
-    components: { layerManager, location, knowledge, lineRoaming, undergroundMode, dataAnalysis, dataStatistics, attributeInfo },
+    components: { layerManager, location, knowledge, lineRoaming, undergroundMode, dataAnalysis, dataStatistics, attributeInfo, mapInfo },
     data() {
         return {
             menuIsShow: false,
             menuOption: [],
             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);
+        });
+    },
+    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) {
+            // console.log(res);
+            if (res.length > 0) {
+                this.childObj = res;
+                setTimeout(() => {
+                    this.$refs && this.$refs.mapInfo && this.$refs.mapInfo.open();
+                }, 200);
+            }
+        },
         mapViewStart() {
             this.menuOption = mapData.menuData;
-            this.$nextTick(() => {
-                mapInit.Init();
-                this.getSelectLayers();
-            });
+
+            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;
@@ -196,7 +272,7 @@
         .rightMenu {
             width: 30px;
             height: 40px;
-            background: rgba(245, 245, 245, 1);
+            background: rgba(255, 255, 255, 1);
             border: 1px solid rgb(245, 245, 245);
             color: #4ab1fc;
             display: flex;

--
Gitblit v1.9.3