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 | 133 +++++++++++++++++-------------------------- 1 files changed, 53 insertions(+), 80 deletions(-) diff --git a/src/Sgis.js b/src/Sgis.js index 7ade0f1..af7ecb2 100644 --- a/src/Sgis.js +++ b/src/Sgis.js @@ -1,107 +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() + } - // Editable.init(L) - // PathDrag.init(L) - // MagicMarker.init(L) - // CanvasIcon.init(L) + // 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) - map = L.map(div, MapConfig.mapOptions) - // DashFlow.DashFlow(L, map) - commonLayerLoad = new CommonLayerLoad() - // const blueMap = commonLayerLoad.loadBlueMap() - // baseMapGroup = L.layerGroup([blueMap]).addTo(map) + map = L.map(div, MapConfig.mapOptions) - 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 + map.on('click', (event, a, b) => { + console.log(event, a, b) + }) - // 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 }) +} +/** + * 涓氬姟搴曞浘鍒濆鍖� + * @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 initLayers = (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, - initLayers + initMap, + initBasemapsHelper, + initTileLayersHelper, + initVectorLayersHelper } -- Gitblit v1.8.0