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