From b27e031827eae0f535d17bb20ff4809699151a17 Mon Sep 17 00:00:00 2001 From: YANGDL <114714267@qq.com> Date: 星期一, 08 二月 2021 15:42:37 +0800 Subject: [PATCH] 修改了leaflet L加载模式 修改了使用less加载方式 --- src/views/MapTemplate.vue | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 43 insertions(+), 8 deletions(-) diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue index 8b3b26c..bde308c 100644 --- a/src/views/MapTemplate.vue +++ b/src/views/MapTemplate.vue @@ -1,6 +1,8 @@ <template> <div class="full-screen"> - <div id="map" ref="rootmap"></div> + <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>--> @@ -24,7 +26,7 @@ import MonitorPanel from '@components/panel/RightSearchPanel' import TopEnterprisePanel from '@components/panel/TopEnterprisePanel' import ToolBoxPanel from '@components/panel/ToolBoxPanel' - +import Popup from '@views/popup/Popup' export default { name: 'MapTemplate', components: { @@ -34,10 +36,12 @@ MonitorPanel, LcBasemap, LcServiceLayer, - LcServiceLayerFilter + LcServiceLayerFilter, + Popup }, data () { return { + map: null, basemapHelper: {}, serviceLayerHelper: {}, vectorLayerHelper: {} @@ -58,22 +62,22 @@ }, methods: { saveMapStatus () { - this.$store.commit('setMapObj', this.mapObj) + this.$store.commit('setMapObj', this.map) this.$store.commit('setBasemapHelper', this.basemapHelper) this.$store.commit('setServiceLayerHelper', this.serviceLayerHelper) this.$store.commit('setVectorLayerHelper', this.vectorLayerHelper) }, init () { const mapcontainer = this.$refs.rootmap - this.mapObj = Sgis.initMap(mapcontainer) + this.map = Sgis.initMap(mapcontainer) - this.basemapHelper = Sgis.initBasemapsHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜 + this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜 this.basemapHelper.initBasemap(this.mapConfig, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘 - this.serviceLayerHelper = Sgis.initTileLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵� + this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵� this.serviceLayerHelper.initServiceLayers(this.mapConfig) - this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵� + this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵� this.vectorLayerHelper.initVectorLayers(this.mapConfig) this.saveMapStatus() @@ -81,6 +85,37 @@ // 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] + }) + 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鎺у埗 + }) + + marker.on('popupopen', this.onLayerClick) + }, + onLayerClick () { + this.$refs.popup.setShow() + }, + callPopup (val) { + console.log(val) } } } -- Gitblit v1.8.0