From 17e7836b1d0a7bd1a51d44ae071a88423a9f9370 Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期一, 08 三月 2021 17:57:16 +0800
Subject: [PATCH] 添加工具栏功能

---
 src/Sgis.js |  136 +++++++++++++++++----------------------------
 1 files changed, 52 insertions(+), 84 deletions(-)

diff --git a/src/Sgis.js b/src/Sgis.js
index 378fcba..af7ecb2 100644
--- a/src/Sgis.js
+++ b/src/Sgis.js
@@ -1,112 +1,80 @@
-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 'leaflet.markercluster'
+import Editable from '@components/plugin/Editable'
+import PathDrag from '@components/plugin/PathDrag'
+import MagicMarker from '@components/plugin/MagicMarker'
+import WmtsSupport from '@components/plugin/wmts_plugins'
 
 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'
+import CanvasMarkers from '@components/plugin/CanvasMarkers'
+import FullScreen from '@components/plugin/FullScreen'
+
 let map = null
-// let baseMapGroup = null
-let commonLayerLoad = null
+const L = window.L
 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
+  WmtsSupport.init(L) // 鎵╁睍锛屼娇鏀寔WMTS
+  // CustomPopup.init(L) // 鑷畾涔夊脊鍑烘
+  DashFlow.DashFlow(L) // 娴佸姩绾垮浘
+  CanvasMarkers.init(L)// 鐢诲竷鍥惧眰
+  // Leaflet鎵╁睍浠g爜
+  // 鍏ㄥ睆
+  FullScreen.init(L)
 
-    // 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
-
-    // showLngLat()
-    return { map: map, L: L }
+  window.map = map
+  initTileLayersHelper(map)
+  return map
 }
-
-// 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) => {
+  // todo 杩欓噷杩涜搴曞浘鍦板浘鐨勫垵濮嬪寲
+  return new BasemapHelper({ map })
 }
-
-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) => {
+  var serviceLayerHelper = new ServiceLayerHelper({ map })
+  return serviceLayerHelper
 }
 
 /**
  * 鐭㈤噺鍦板浘鍒濆鍖�
  * @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) => {
+  // todo 杩欓噷杩涜鍦板浘鐨勫垵濮嬪寲
+  window.vectorLayerHelper = new VectorLayerHelper({ map })
+  return window.vectorLayerHelper
 }
 
 export default {
-    initMap,
-    initBasemaps,
-    initTileLayers,
-    initVectorLayers
+  initMap,
+  initBasemapsHelper,
+  initTileLayersHelper,
+  initVectorLayersHelper
 }

--
Gitblit v1.8.0