From c3f7ab6bbaf26298d2d53f5422b8281a335752b7 Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期三, 07 四月 2021 11:38:41 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/helpers/BasemapHelper.js | 34 ++++++++++++++++++++-------------- 1 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/components/helpers/BasemapHelper.js b/src/components/helpers/BasemapHelper.js index 60fc9e8..8105721 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 @@ -58,6 +60,8 @@ this.basemapLayerGroup.addLayer(basemap.layer) if (showAnnotation) { this.basemapLayerGroup.addLayer(basemap.annotation) + } else { + this.basemapLayerGroup.removeLayer(basemap.annotation) } } @@ -72,12 +76,14 @@ } // 鍏綉鍒涘缓鍦板浘閮ㄥ垎 - _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) - const basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.option) + const mapToken = utils.getRandomTDTToken() + const mapUrl = utils.changeURLArg(basemapConfig.map.url, 'tk', mapToken) + const basemapLayer = this.L.tileLayer(mapUrl, basemapConfig.map.option) + const basemapAnnotationLayer = this.L.tileLayer(mapUrl, basemapConfig.annotation.option) const basemap = { code: basemapConfig.code, @@ -98,16 +104,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