From 6cdcf30b52502fa2b7db21064c40b7193bf7e25f Mon Sep 17 00:00:00 2001 From: YANGDL <114714267@qq.com> Date: 星期四, 25 二月 2021 10:55:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/helpers/BasemapHelper.js | 154 +++++++++++++++++++++++++-------------------------- 1 files changed, 76 insertions(+), 78 deletions(-) diff --git a/src/components/helpers/BasemapHelper.js b/src/components/helpers/BasemapHelper.js index 498e54b..9b29e4e 100644 --- a/src/components/helpers/BasemapHelper.js +++ b/src/components/helpers/BasemapHelper.js @@ -1,30 +1,31 @@ /* eslint-disable no-debugger */ import AjaxUtils from '@/utils/AjaxUtils' + /** * 搴曞浘绠$悊鍔╂墜锛岃礋璐e簳鍥惧垱寤哄強寮�鍏� */ -class BasemapHelper{ - constructor(options) { - this.map = options.map - this.L = options.L - this.basemapList = [] - this.basemapMap = new Map() - this.basemapLayerGroup = options.L.layerGroup().addTo(options.map) - } +class BasemapHelper { + constructor (options) { + this.map = options.map + this.L = window.L + this.basemapList = [] + this.basemapMap = new Map() + this.basemapLayerGroup = this.L.layerGroup().addTo(options.map) + } /** * 璇ユ柟娉曡礋璐e悇绉嶅簳鍥惧姞杞藉埌鍦板浘涓� * @param map * @param defBasemapName 鍒濆鍖栧畬鎴愬悗锛岄粯璁ゆ樉绀虹殑鍥惧眰 */ - initBasemap = (mapConfig, isIntranet) => { - if(isIntranet) { // 鍐呯綉 - this._getToken(mapConfig); // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘 - }else { // 澶栫綉 - this._createBasemapByConfig(mapConfig) - } + initBasemap = (config, isIntranet) => { + if (isIntranet) { // 鍐呯綉 + this._getToken(config) // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘 + } else { // 澶栫綉 + this._createBasemapByConfig(config) + } - return this.basemapMap + return this.basemapMap } /** @@ -32,7 +33,7 @@ * @returns {null} 缁撴瀯锛歔{鍚嶇О, 鍥惧眰寮曠敤}] */ getBasemapList = () => { - return this.basemapList + return this.basemapList } /** @@ -41,95 +42,92 @@ * @param code 鍚嶇О */ getBasemap = (map, code) => { - return this.basemapMap.get(code) + return this.basemapMap.get(code) } /** * 鏄剧ず鏌愪釜鍥惧眰 - * @param map 鍦板浘瀵硅薄 * @param layer 寰呮樉绀哄浘灞傚紩鐢� * @param isHideOthers 鏄惁鍏堝叧闂叾浠栧浘灞傦紝榛樿鏄痶rue */ - showBasemap = (map, code, isHideOthers = true) => { - let basemap = this.basemapMap.get(code) - if(isHideOthers) { - for(let i = 0, len = this.basemapList.length; i < len; ++i){ - map.removeLayer(this.basemapList[i]) - } - } - map.addLayer(basemap.layer) - map.addLayer(basemap.annotation) + showBasemap = (code, showAnnotation, isHideOthers = true) => { + const basemap = this.basemapMap.get(code) + if (isHideOthers) { + this.basemapLayerGroup.clearLayers() + } + this.basemapLayerGroup.addLayer(basemap.layer) + if (showAnnotation) { + this.basemapLayerGroup.addLayer(basemap.annotation) + } } /** * 闅愯棌鏌愪釜鍥惧眰 - * @param map 鍦板浘瀵硅薄 * @param layer 寰呭叧闂浘灞傚紩鐢� */ - hideBasemap = (map, code) => { - let basemap = this.basemapMap.get(code) - map.removeLayer(basemap.layer) - map.removeLayer(basemap.annotation) + hideBasemap = (code) => { + const basemap = this.basemapMap.get(code) + this.map.removeLayer(basemap.layer) + this.map.removeLayer(basemap.annotation) } // 鍏綉鍒涘缓鍦板浘閮ㄥ垎 - _createBasemapByConfig(mapConfig){ - console.log(mapConfig) - let internetBasemaps = mapConfig.mapConfig.InternetBaseMaps - for(let i = 0, len = internetBasemaps.length; i < len; ++i) { - let basemapConfig = internetBasemaps[i] - let basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) - let basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.option) + _createBasemapByConfig (config) { + const internetBasemaps = config.mapConfig.InternetBaseMaps + for (let i = 0, len = internetBasemaps.length; i < len; ++i) { + const basemapConfig = internetBasemaps[i] + const basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) + const basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.option) - let basemap = { - code: basemapConfig.code, - name: basemapConfig.name, - conf: basemapConfig, - layer: basemapLayer, - annotation: basemapAnnotationLayer - } - - this.basemapList.push(basemap); - this.basemapMap.set(basemapConfig.code, basemap) - if(typeof basemapConfig.isAddToMap !== 'undefined' && basemapConfig.isAddToMap) { - this.basemapLayerGroup.addLayer(basemapLayer) - this.basemapLayerGroup.addLayer(basemapAnnotationLayer) - } + const basemap = { + code: basemapConfig.code, + name: basemapConfig.name, + conf: basemapConfig, + layer: basemapLayer, + annotation: basemapAnnotationLayer } + + this.basemapList.push(basemap) + this.basemapMap.set(basemapConfig.code, basemap) + if (typeof basemapConfig.isAddToMap !== 'undefined' && basemapConfig.isAddToMap) { + this.basemapLayerGroup.addLayer(basemapLayer) + this.basemapLayerGroup.addLayer(basemapAnnotationLayer) + } + } } // 鍐呯綉鍦板浘鍒涘缓閮ㄥ垎 // 鑾峰彇鍐呯綉鍦板浘token锛屽苟鍔犺浇鍒板湴鍥句腑 - _getToken = (mapConfig) => { - let params = mapConfig.TokenConfig - AjaxUtils.GetDataAsynByUrl(params.url, params.option, (token) => { - this._showTDT(token, mapConfig) - }) + _getToken = (config) => { + const params = config.TokenConfig + AjaxUtils.GetDataAsynByUrl(params.url, params.option, (token) => { + this._showTDT(token, config) + }) } // 鍐呯綉鍦板浘鍔犺浇锛屽苟鍔犺浇鍒板湴鍥� - _showTDT = (token, mapConfig) => { - let intranetBasemaps = mapConfig.mapConfig.IntranetBaseMaps - for(let i = 0, len = intranetBasemaps.length; i < len; ++i) { - let basemapConfig = intranetBasemaps[i] - let basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) - let basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.option) + _showTDT = (token, config) => { + const intranetBasemaps = config.mapConfig.IntranetBaseMaps + for (let i = 0, len = intranetBasemaps.length; i < len; ++i) { + const basemapConfig = intranetBasemaps[i] + const basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) + const basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.option) - let basemap = { - code: basemapConfig.code, - name: basemapConfig.name, - conf: basemapConfig, - layer: basemapLayer, - annotation: basemapAnnotationLayer - } - - this.basemapList.push(basemap); - this.basemapMap.set(basemapConfig.code, basemap) - if(typeof basemapConfig.isAddToMap !== 'undefined' && basemapConfig.isAddToMap) { - this.basemapLayerGroup.addLayer(basemapLayer) - this.basemapLayerGroup.addLayer(basemapAnnotationLayer) - } + const basemap = { + code: basemapConfig.code, + name: basemapConfig.name, + conf: basemapConfig, + layer: basemapLayer, + annotation: basemapAnnotationLayer } + + this.basemapList.push(basemap) + this.basemapMap.set(basemapConfig.code, basemap) + if (typeof basemapConfig.isAddToMap !== 'undefined' && basemapConfig.isAddToMap) { + this.basemapLayerGroup.addLayer(basemapLayer) + this.basemapLayerGroup.addLayer(basemapAnnotationLayer) + } + } } } -- Gitblit v1.8.0