From 6cdcf30b52502fa2b7db21064c40b7193bf7e25f Mon Sep 17 00:00:00 2001
From: YANGDL <114714267@qq.com>
Date: 星期四, 25 二月 2021 10:55:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/MapTemplate.vue |  177 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 117 insertions(+), 60 deletions(-)

diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 08869b5..b7bac3b 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -1,15 +1,18 @@
 <template>
-  <div class="full-screen">
-        <div id="map" ref="rootmap"></div>
+    <div class="full-screen">
+        <popup ref="popup" @callPopup="callPopup"></popup>
+        <div id="map" ref="rootmap">
+        </div>
         <sgis-layer-controller :preset="'warningPreset'">
             <lc-basemap></lc-basemap>
-            <div class="barline"></div>
-            <lc-service-layer></lc-service-layer>
+            <!--            <div class="barline"></div>-->
+            <lc-service-layer class="barline" v-if="lcServiceLayerVisible"></lc-service-layer>
         </sgis-layer-controller>
-        <lc-service-layer-filter v-show="showServiceLayerFilter" ref="serviceLayerFilter"></lc-service-layer-filter>
         <monitor-panel></monitor-panel>
         <top-enterprise-panel></top-enterprise-panel>
-  </div>
+        <tool-box-panel></tool-box-panel>
+      <menu-special></menu-special>
+    </div>
 </template>
 
 <script>
@@ -19,77 +22,131 @@
 import SgisLayerController from '@components/LayerController/LayerController'
 import LcBasemap from '@components/LayerController/modules/LcBaseMap'
 import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer'
-import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'
-import MonitorPanel from '@components/panel/MonitorPanel'
-import { mapMutations, mapState } from 'vuex'
-import TopEnterprisePanel from "@components/panel/TopEnterprisePanel";
+import MonitorPanel from '@components/panel/RightSearchPanel'
+import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
+import ToolBoxPanel from '@components/panel/ToolBoxPanel'
+import Popup from '@views/popup/Popup'
+import MenuSpecial from '@components/panel/MenuSpecial'
 
 export default {
   name: 'MapTemplate',
-  components: {TopEnterprisePanel, SgisLayerController, MonitorPanel, LcBasemap, LcServiceLayer, LcServiceLayerFilter},
-  data(){
+  components: {
+    MenuSpecial,
+    ToolBoxPanel,
+    TopEnterprisePanel,
+    SgisLayerController,
+    MonitorPanel,
+    LcBasemap,
+    LcServiceLayer,
+    Popup
+  },
+  data () {
     return {
+      map: null,
+      lcServiceLayerVisible: false,
       basemapHelper: {},
       serviceLayerHelper: {},
       vectorLayerHelper: {}
     }
   },
-  computed:{
-    ...mapState({
-      showServiceLayerFilter: state => state.showServiceLayerFilter,
-      mapConfig: state => state.mapConfig
+  computed: {
+    config () {
+      return this.$store.state.map.config
+    }
+  },
+  beforeMount () {
+    this.$nextTick(() => {
+      this.init()
     })
   },
-  beforeMount(){
-      this.$nextTick(() => {
-          this.init()
+  methods: {
+    saveMapStatus () {
+      window.serviceLayerHelper = this.serviceLayerHelper
+      this.$store.commit('setMapObj', this.map)
+      this.$store.commit('setBasemapHelper', this.basemapHelper)
+      // this.$store.commit('setServiceLayerHelper', this.serviceLayerHelper)
+      this.$store.commit('setVectorLayerHelper', this.vectorLayerHelper)
+
+      this.lcServiceLayerVisible = true
+    },
+    init () {
+      const mapcontainer = this.$refs.rootmap
+      this.map = Sgis.initMap(mapcontainer)
+
+      this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
+      this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
+
+      this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
+      this.serviceLayerHelper.initServiceLayers(this.config)
+
+      this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
+      this.vectorLayerHelper.initVectorLayers(this.config)
+
+      this.saveMapStatus()
+      // this.setMapObj(this.mapObj)
+      // this.setBasemapHelper(this.basemapHelper)
+      // this.setServiceLayerHelper(this.serviceLayerHelper)
+      // this.setVectorLayerHelper(this.vectorLayerHelper)
+      this.addMarker()
+    },
+    addMarker () {
+      const L = this.L
+      var icon = new L.Icon({
+        iconUrl: 'assets/images/map/marker-icon.png',
+        shadowUrl: 'assets/images/map/marker-shadow.png',
+        iconSize: [25, 41],
+        iconAnchor: [12, 41],
+        popupAnchor: [1, -34],
+        shadowSize: [41, 41]
       })
-  },
-  methods:{
-      ...mapMutations({
-        setMapObj: 'setMapObj',
-        setBasemapHelper: 'setBasemapHelper',
-        setServiceLayerHelper: 'setServiceLayerHelper',
-        setVectorLayerHelper: 'setVectorLayerHelper'
-      }),
-      init() {
-        const mapcontainer = this.$refs.rootmap
-        this.mapObj = Sgis.initMap(mapcontainer)
+      var marker = L.marker([32.2221, 118.7843], {
+        icon: icon
+      }).addTo(this.map)
+        .bindPopup(() => this.$refs.popup.$el, {
+          className: 's-map-popup',
+          minWidth: 300,
+          closeButton: false,
+          autoClose: false
+        })
+        .bindTooltip('瀛椾綋鍏夋檿鏁堟灉t.', {
+          // permanent : true,
+          offset: [0, 0], // 鍋忕Щ
+          direction: 'right', // 鏀剧疆浣嶇疆
+          // sticky:true,//鏄惁鏍囪鍦ㄧ偣涓婇潰
+          className: 'anim-tooltip'// CSS鎺у埗
+        })
 
-        this.basemapHelper = Sgis.initBasemapsHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
-        this.basemapHelper.initBasemap(this.mapConfig, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
-
-        this.serviceLayerHelper = Sgis.initTileLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
-        this.serviceLayerHelper.initServiceLayers(this.mapConfig)
-
-        this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
-        this.vectorLayerHelper.initVectorLayers(this.mapConfig)
-
-        this.setMapObj(this.mapObj)
-        this.setBasemapHelper(this.basemapHelper)
-        this.setServiceLayerHelper(this.serviceLayerHelper)
-        this.setVectorLayerHelper(this.vectorLayerHelper)
-      }
+      marker.on('popupopen', this.onLayerClick)
+    },
+    onLayerClick () {
+      this.$refs.popup.setShow()
+    },
+    callPopup (val) {
+      console.log(val)
+    }
   }
 }
 </script>
 
 <style lang="less">
 
-.full-screen{
-    width: 100%;
-    height: 100%;
-    margin: 0;
-    padding: 0;
-    position: absolute;
-  #map{
-    height: 100%;
-    width: 100%;
-  }
-  .barline{
-    width: 100%;
-    height: 1px;
-    background-color: #0661AE;
-  }
-}
+    .full-screen {
+        width: 100%;
+        height: 100%;
+        margin: 0;
+        padding: 0;
+        position: absolute;
+
+        #map {
+            height: 100%;
+            width: 100%;
+        }
+
+        .barline {
+            //width: 100%;
+            //height: 1px;
+            //background-color: #0661AE;
+            border-top: 1px solid #0661AE;
+        }
+    }
 </style>>

--
Gitblit v1.8.0