From 02d584c8d0f31b56f24e367681aa034cd2acf0e9 Mon Sep 17 00:00:00 2001 From: wangrui <zephyrs0894@163.com> Date: 星期六, 19 十二月 2020 02:20:38 +0800 Subject: [PATCH] 重构地图加载的逻辑 --- src/Sgis.js | 96 ++++++++++++++++-------------------------------- 1 files changed, 32 insertions(+), 64 deletions(-) diff --git a/src/Sgis.js b/src/Sgis.js index 7ade0f1..1165a85 100644 --- a/src/Sgis.js +++ b/src/Sgis.js @@ -1,107 +1,75 @@ 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 '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 } - // Editable.init(L) - // PathDrag.init(L) - // MagicMarker.init(L) - // CanvasIcon.init(L) + // Leaflet鎵╁睍浠g爜 + Editable.init(L) // 鍥惧眰缂栬緫 + PathDrag.init(L) // 璺緞鎷栨嫿 + MagicMarker.init(L) // 鍔ㄧ敾Marker + CanvasIcon.init(L) // 浣跨敤canvas缁樺埗Marker + // CustomPopup.init(L) // 鑷畾涔夊脊鍑烘 + DashFlow.DashFlow(L) // 娴佸姩绾垮浘 + // Leaflet鎵╁睍浠g爜 - // CustomPopup.init(L) - // DashFlow.DashFlow(L) map = L.map(div, MapConfig.mapOptions) - // 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) - - // getToken() - // L.control.scale({ maxWidth: 200, metric: true, imperial: false }).addTo(map) - // L.control.layers(SgisConfig.baseLayers, SgisConfig.overlayLayers, { position: 'bottomright' }).addTo(map) - // 鍔犺浇鍥界晫鍜岄搧璺� - const nationalBoundaries = commonLayerLoad.loadGuoJie() - const railWay = commonLayerLoad.loadRailWay() - nationalBoundaries.addTo(map) - railWay.addTo(map) window.map = map window.L = L - // showLngLat() 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) => { +const initBasemapsHelper = (map, L) => { // todo 杩欓噷杩涜搴曞浘鍦板浘鐨勫垵濮嬪寲 - var basemapHelper = new BasemapHelper(map, L) + var basemapHelper = new BasemapHelper({map, L}) return basemapHelper +} +/** + * 涓氬姟搴曞浘鍒濆鍖� + * @param map + * @param L + */ +const initTileLayersHelper = (map, L) => { + let serviceLayerHelper = new ServiceLayerHelper({map, L}) + return serviceLayerHelper } /** * 鐭㈤噺鍦板浘鍒濆鍖� * @param map - */ -/** - * - * @param map * @param L - * @param obj { name: 'trackPlayer', ref: this.$refs.trackPlayer } 缁勪欢鐨勫悕绉� 鍜� 缁勪欢鐨勫紩鐢� - * @param loadMethodNames */ -const initLayers = (map, L, obj, env) => { +const initVectorLayersHelper = (map, L) => { // 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() + var vectorLayerHelper = new VectorLayerHelper({map, L}) window.vectorLayerHelper = vectorLayerHelper return vectorLayerHelper } export default { initMap, - initBasemaps, - initLayers + initBasemapsHelper, + initTileLayersHelper, + initVectorLayersHelper } -- Gitblit v1.8.0