From 21c0837e6f96ada513d3bd5210d96f8ff8681c5d Mon Sep 17 00:00:00 2001 From: chenyibo <p-honggang.li@pcitc.com> Date: 星期五, 02 四月 2021 14:19:53 +0800 Subject: [PATCH] 1.修改随机获取天地图token 问题 --- src/components/helpers/BasemapHelper.js | 46 +++++++++++++++++++++++++++------------------- 1 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/components/helpers/BasemapHelper.js b/src/components/helpers/BasemapHelper.js index d9a0801..b8a503e 100644 --- a/src/components/helpers/BasemapHelper.js +++ b/src/components/helpers/BasemapHelper.js @@ -1,5 +1,6 @@ /* eslint-disable no-debugger */ import AjaxUtils from '@/utils/AjaxUtils' +import * as utils from '../../utils/utils' /** * 搴曞浘绠$悊鍔╂墜锛岃礋璐e簳鍥惧垱寤哄強寮�鍏� @@ -7,10 +8,11 @@ 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) + this.currentBaseMapCode = null } /** @@ -18,11 +20,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 +52,17 @@ * @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) + } else { + this.basemapLayerGroup.removeLayer(basemap.annotation) + } } /** @@ -73,10 +76,15 @@ } // 鍏綉鍒涘缓鍦板浘閮ㄥ垎 - _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 mapToken = utils.getRandomTDTToken() + const mapUrl = utils.changeURLArg(basemapConfig.map.url, 'tk', mapToken) + console.log(mapToken) + console.log(mapUrl) + console.log(basemapConfig.map.url) const basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) const basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.option) @@ -99,16 +107,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