From 16db39abe5b733764c760c7d3d754798cbe77c43 Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期五, 05 三月 2021 15:09:26 +0800 Subject: [PATCH] 修改图例功能效果 --- src/components/helpers/BasemapHelper.js | 37 ++++++++++++++++++------------------- 1 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/components/helpers/BasemapHelper.js b/src/components/helpers/BasemapHelper.js index d9a0801..9b29e4e 100644 --- a/src/components/helpers/BasemapHelper.js +++ b/src/components/helpers/BasemapHelper.js @@ -7,10 +7,10 @@ class BasemapHelper { constructor (options) { this.map = options.map - this.L = options.L + this.L = window.L this.basemapList = [] this.basemapMap = new Map() - this.basemapLayerGroup = options.L.layerGroup().addTo(options.map) + this.basemapLayerGroup = this.L.layerGroup().addTo(options.map) } /** @@ -18,11 +18,11 @@ * @param map * @param defBasemapName 鍒濆鍖栧畬鎴愬悗锛岄粯璁ゆ樉绀虹殑鍥惧眰 */ - initBasemap = (mapConfig, isIntranet) => { + initBasemap = (config, isIntranet) => { if (isIntranet) { // 鍐呯綉 - this._getToken(mapConfig) // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘 + this._getToken(config) // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘 } else { // 澶栫綉 - this._createBasemapByConfig(mapConfig) + this._createBasemapByConfig(config) } return this.basemapMap @@ -50,16 +50,15 @@ * @param layer 寰呮樉绀哄浘灞傚紩鐢� * @param isHideOthers 鏄惁鍏堝叧闂叾浠栧浘灞傦紝榛樿鏄痶rue */ - showBasemap = (code, isHideOthers = true) => { + showBasemap = (code, showAnnotation, isHideOthers = true) => { const basemap = this.basemapMap.get(code) if (isHideOthers) { - for (let i = 0, len = this.basemapList.length; i < len; ++i) { - this.map.removeLayer(this.basemapList[i].layer) - this.map.removeLayer(this.basemapList[i].annotation) - } + this.basemapLayerGroup.clearLayers() } - this.map.addLayer(basemap.layer) - this.map.addLayer(basemap.annotation) + this.basemapLayerGroup.addLayer(basemap.layer) + if (showAnnotation) { + this.basemapLayerGroup.addLayer(basemap.annotation) + } } /** @@ -73,8 +72,8 @@ } // 鍏綉鍒涘缓鍦板浘閮ㄥ垎 - _createBasemapByConfig (mapConfig) { - const internetBasemaps = mapConfig.mapConfig.InternetBaseMaps + _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) @@ -99,16 +98,16 @@ // 鍐呯綉鍦板浘鍒涘缓閮ㄥ垎 // 鑾峰彇鍐呯綉鍦板浘token锛屽苟鍔犺浇鍒板湴鍥句腑 - _getToken = (mapConfig) => { - const params = mapConfig.TokenConfig + _getToken = (config) => { + const params = config.TokenConfig AjaxUtils.GetDataAsynByUrl(params.url, params.option, (token) => { - this._showTDT(token, mapConfig) + this._showTDT(token, config) }) } // 鍐呯綉鍦板浘鍔犺浇锛屽苟鍔犺浇鍒板湴鍥� - _showTDT = (token, mapConfig) => { - const intranetBasemaps = mapConfig.mapConfig.IntranetBaseMaps + _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) -- Gitblit v1.8.0