From 243c4782ce378d9238a60ae8cd41723657675d69 Mon Sep 17 00:00:00 2001
From: wangrui <zephyrs0894@163.com>
Date: 星期四, 24 十二月 2020 15:43:49 +0800
Subject: [PATCH] 服务图层,动态生成

---
 src/views/MapTemplate.vue |   65 ++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 17 deletions(-)

diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 3706946..2c19186 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -1,23 +1,36 @@
 <template>
   <div class="full-screen">
         <div id="map" ref="rootmap"></div>
-        <sgis-layer-controller :preset="'warningPreset'"></sgis-layer-controller>
+        <sgis-layer-controller :preset="'warningPreset'">
+            <lc-basemap></lc-basemap>
+            <div class="barline"></div>
+            <lc-service-layer></lc-service-layer>
+        </sgis-layer-controller>
+        <monitor-panel></monitor-panel>
   </div>
 </template>
 
 <script>
 import 'leaflet/dist/leaflet.css'
 import Sgis from '@src/Sgis'
+import mapConfig from '@/conf/MapConfig'
 import SgisLayerController from '@components/LayerController/LayerController'
-import { mapMutations, mapState } from 'vuex'
+import LcBasemap from '@components/LayerController/modules/LcBaseMap'
+import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer'
+import MonitorPanel from '@components/panel/MonitorPanel'
+import { mapMutations } from 'vuex'
 
 export default {
   name: 'MapTemplate',
-  components: {SgisLayerController, },
-  datas:{
-      ...mapState("/",{})
+  components: {SgisLayerController, MonitorPanel, LcBasemap, LcServiceLayer},
+  data(){
+    return {
+      basemapHelper: {},
+      serviceLayerHelper: {},
+      vectorLayerHelper: {}
+    }
   },
-  mounted(){
+  beforeMount(){
       this.$nextTick(() => {
           this.init()
       })
@@ -25,30 +38,48 @@
   methods:{
       ...mapMutations({
         setMapObj: 'setMapObj',
-        setLayerHelper: 'setLayerHelper'
+        setBasemapHelper: 'setBasemapHelper',
+        setServiceLayerHelper: 'setServiceLayerHelper',
+        setVectorLayerHelper: 'setVectorLayerHelper',
       }),
       init() {
         const mapcontainer = this.$refs.rootmap
         this.mapObj = Sgis.initMap(mapcontainer)
-        this.basemapHelper = Sgis.initBasemaps(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧簳鍥�
-        this.vectorLayerHelper = Sgis.initLayers(this.mapObj.map, this.mapObj.L, {}, this.$nodeEnv) // 鍒濆鍖栦笟鍔″浘灞�
-        this.setLayerHelper(this.vectorLayerHelper)
-        return this.map
-      },
-      setLayerHelper(){
 
+        this.basemapHelper = Sgis.initBasemapsHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
+        this.basemapHelper.initBasemap(mapConfig, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
+
+        this.serviceLayerHelper = Sgis.initTileLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
+        this.serviceLayerHelper.initServiceLayers(mapConfig)
+
+        this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
+        this.vectorLayerHelper.initVectorLayers(mapConfig)
+
+        this.setMapObj(this.mapObj)
+        this.setBasemapHelper(this.basemapHelper)
+        this.setServiceLayerHelper(this.serviceLayerHelper)
+        this.setVectorLayerHelper(this.vectorLayerHelper)
       }
   }
 }
 </script>
 
-<style lang="less" scoped>
+<style lang="less">
+
 .full-screen{
-    width: calc(100vw);
-    height: calc(100vh);
-    overflow: hidden;
+    width: 100%;
+    height: 100%;
     margin: 0;
     padding: 0;
     position: absolute;
+  #map{
+    height: 100%;
+    width: 100%;
+  }
+  .barline{
+    width: 100%;
+    height: 1px;
+    background-color: #0661AE;
+  }
 }
 </style>>

--
Gitblit v1.8.0