From da21171cc9b248ad9c7f062e41f039eceb910c23 Mon Sep 17 00:00:00 2001
From: YANGDL <114714267@qq.com>
Date: 星期六, 09 一月 2021 14:08:19 +0800
Subject: [PATCH] 优化天地图矢量瓦片切换

---
 src/Sgis.js |  126 +++++++++++++++--------------------------
 1 files changed, 46 insertions(+), 80 deletions(-)

diff --git a/src/Sgis.js b/src/Sgis.js
index 378fcba..79265e7 100644
--- a/src/Sgis.js
+++ b/src/Sgis.js
@@ -1,112 +1,78 @@
 import * as L from 'leaflet'
 import BasemapHelper from '@components/helpers/BasemapHelper'
 import VectorLayerHelper from '@components/helpers/VectorLayerHelper'
+import ServiceLayerHelper from '@components/helpers/ServiceLayerHelper'
 
-// import Editable from '@components/plugin/Editable'
-// import PathDrag from '@components/plugin/PathDrag'
-// import CanvasIcon from '@components/plugin/CanvasMarkers'
-// import MagicMarker from '@components/plugin/MagicMarker'
+import Editable from '@components/plugin/Editable'
+import PathDrag from '@components/plugin/PathDrag'
+import CanvasIcon from '@components/plugin/CanvasMarkers'
+import MagicMarker from '@components/plugin/MagicMarker'
+import WmtsSupport from '@components/plugin/wmts_plugins'
 import 'leaflet.markercluster'
 
 import MapConfig from '@/conf/MapConfig'
-import CommonLayerLoad from '@components/mapmodules/CommonLayerLoad'
-// import DashFlow from '@components/plugin/PathDashFlow'
-// import AjaxUtils from '@/utils/AjaxUtils'
+import DashFlow from '@components/plugin/PathDashFlow'
 let map = null
 // let baseMapGroup = null
-let commonLayerLoad = null
 const initMap = (div) => {
-    if (map != null) {
-        map.remove()
-        // baseMapGroup = null
-        commonLayerLoad = null
-    }
+  if (map != null) {
+    map.remove()
+  }
 
-    // Leaflet鎵╁睍浠g爜
-    // Editable.init(L) // 鍥惧眰缂栬緫
-    // PathDrag.init(L) // 璺緞鎷栨嫿
-    // MagicMarker.init(L) // 鍔ㄧ敾Marker
-    // CanvasIcon.init(L) // 浣跨敤canvas缁樺埗Marker
+  // Leaflet鎵╁睍浠g爜
+  Editable.init(L) // 鍥惧眰缂栬緫
+  PathDrag.init(L) // 璺緞鎷栨嫿
+  MagicMarker.init(L) // 鍔ㄧ敾Marker
+  CanvasIcon.init(L) // 浣跨敤canvas缁樺埗Marker
+  WmtsSupport.init(L) // 鎵╁睍锛屼娇鏀寔WMTS
+  // CustomPopup.init(L) // 鑷畾涔夊脊鍑烘
+  DashFlow.DashFlow(L) // 娴佸姩绾垮浘
+  // Leaflet鎵╁睍浠g爜
 
-    // CustomPopup.init(L) // 鑷畾涔夊脊鍑烘
-    // DashFlow.DashFlow(L) // 娴佸姩绾垮浘
-    // Leaflet鎵╁睍浠g爜
+  map = L.map(div, MapConfig.mapOptions)
 
-    map = L.map(div, MapConfig.mapOptions)
+  map.on('click', (event, a, b) => {
+    console.log(event, a, b)
+  })
 
-    
-    // getToken()
-    // L.control.scale({ maxWidth: 200, metric: true, imperial: false }).addTo(map)
-    // L.control.layers(SgisConfig.baseLayers, SgisConfig.overlayLayers, { position: 'bottomright' }).addTo(map)
+  window.map = map
+  window.L = L
 
-    window.map = map
-    window.L = L
-
-    // showLngLat()
-    return { map: map, L: L }
+  return { map: map, L: L }
 }
-
-// let getToken = () => {
-//     let params = MapConfig.TokenConfig
-//     AjaxUtils.GetDataAsynByUrl(params.url, params.option, function(token) {
-//         showTdt(token)
-//     })
-// }
-// let showTdt = (token) => {
-//     const imgMapm = commonLayerLoad.loadIntranetImgMap(token)
-//     const imgMapa = commonLayerLoad.loadIntranetImgMapCia(token)
-//     baseMapGroup.addLayer(imgMapm)
-//     baseMapGroup.addLayer(imgMapa)
-// }
 
 /**
- * 鐡︾墖搴曞浘鍒濆鍖�
+ * 鍩虹搴曞浘鍒濆鍖�
  * @param map
+ * @param L
  */
-const initBasemaps = (map, L) => {
-    // todo 杩欓噷杩涜搴曞浘鍦板浘鐨勫垵濮嬪寲
-    var basemapHelper = new BasemapHelper(map, L)
-    return basemapHelper
+const initBasemapsHelper = (map, L) => {
+  // todo 杩欓噷杩涜搴曞浘鍦板浘鐨勫垵濮嬪寲
+  return new BasemapHelper({ map, L })
 }
-
-const initTileLayers = (map, L) => {
-    // DashFlow.DashFlow(L, map)
-    commonLayerLoad = new CommonLayerLoad()
-    // const blueMap = commonLayerLoad.loadBlueMap()
-    // baseMapGroup = L.layerGroup([blueMap]).addTo(map)
-
-    const imgMapm = commonLayerLoad.loadImgMapm()
-    const imgMapa = commonLayerLoad.loadImgMapa()
-    
-    L.layerGroup([imgMapm, imgMapa]).addTo(map)
+/**
+ * 涓氬姟搴曞浘鍒濆鍖�
+ * @param map
+ * @param L
+ */
+const initTileLayersHelper = (map, L) => {
+  return new ServiceLayerHelper({ map, L })
 }
 
 /**
  * 鐭㈤噺鍦板浘鍒濆鍖�
  * @param map
- */
-/**
- *
- * @param map
  * @param L
- * @param obj { name: 'trackPlayer', ref: this.$refs.trackPlayer }  缁勪欢鐨勫悕绉� 鍜� 缁勪欢鐨勫紩鐢�
- * @param loadMethodNames
  */
-const initVectorLayers = (map, L, obj, env) => {
-    // todo 杩欓噷杩涜鍦板浘鐨勫垵濮嬪寲
-    var vectorLayerHelper = new VectorLayerHelper(map, L, env)
-    if (obj != null) {
-        vectorLayerHelper.setVueRef(obj.name, obj.ref)
-    }
-    // let loadMethodNames = ['dock', 'petro', 'fillingStation', 'storeHouse', 'productOil', 'transDisplay', 'ship', 'train', 'warningCar', 'trackQuery', 'weather']
-    vectorLayerHelper.initVectorLayers()
-    window.vectorLayerHelper = vectorLayerHelper
-    return vectorLayerHelper
+const initVectorLayersHelper = (map, L) => {
+  // todo 杩欓噷杩涜鍦板浘鐨勫垵濮嬪寲
+  window.vectorLayerHelper = new VectorLayerHelper({ map, L })
+  return window.vectorLayerHelper
 }
 
 export default {
-    initMap,
-    initBasemaps,
-    initTileLayers,
-    initVectorLayers
+  initMap,
+  initBasemapsHelper,
+  initTileLayersHelper,
+  initVectorLayersHelper
 }

--
Gitblit v1.8.0