From 1ba44459ed390fbcb4b05dea06923e4df99d3acc Mon Sep 17 00:00:00 2001 From: wangrui <zephyrs0894@163.com> Date: 星期三, 23 十二月 2020 15:06:11 +0800 Subject: [PATCH] basemap图层控制ui --- src/components/helpers/BasemapHelper.js | 45 +++++++++++++++++++++++++++------------------ 1 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/components/helpers/BasemapHelper.js b/src/components/helpers/BasemapHelper.js index 6ff5085..498e54b 100644 --- a/src/components/helpers/BasemapHelper.js +++ b/src/components/helpers/BasemapHelper.js @@ -18,10 +18,9 @@ * @param defBasemapName 鍒濆鍖栧畬鎴愬悗锛岄粯璁ゆ樉绀虹殑鍥惧眰 */ initBasemap = (mapConfig, isIntranet) => { - debugger - if(isIntranet) { - this._getToken(mapConfig); // 鑾峰彇token锛屽苟鎸夐厤缃姞杞藉湴鍥� - }else { + if(isIntranet) { // 鍐呯綉 + this._getToken(mapConfig); // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘 + }else { // 澶栫綉 this._createBasemapByConfig(mapConfig) } @@ -32,18 +31,17 @@ * 鑾峰彇鎵�鏈夌殑搴曞浘鍒楄〃 * @returns {null} 缁撴瀯锛歔{鍚嶇О, 鍥惧眰寮曠敤}] */ - getBasemapList = (map) => { - console.log(map) - return null + getBasemapList = () => { + return this.basemapList } /** * 閫氳繃鍚嶇О鑾峰彇搴曞浘瀵硅薄 * @param map 缁撴瀯锛歔{鍚嶇О, 鍥惧眰寮曠敤}] - * @param name 鍚嶇О + * @param code 鍚嶇О */ - getBasemap = (map, name) => { - console.log(map, name) + getBasemap = (map, code) => { + return this.basemapMap.get(code) } /** @@ -52,8 +50,15 @@ * @param layer 寰呮樉绀哄浘灞傚紩鐢� * @param isHideOthers 鏄惁鍏堝叧闂叾浠栧浘灞傦紝榛樿鏄痶rue */ - showBasemap = (map, layer, isHideOthers) => { - console.log(map, layer, isHideOthers) + 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) } /** @@ -61,8 +66,10 @@ * @param map 鍦板浘瀵硅薄 * @param layer 寰呭叧闂浘灞傚紩鐢� */ - hideBasemap = (map, layer) => { - console.log(map, layer) + hideBasemap = (map, code) => { + let basemap = this.basemapMap.get(code) + map.removeLayer(basemap.layer) + map.removeLayer(basemap.annotation) } // 鍏綉鍒涘缓鍦板浘閮ㄥ垎 @@ -71,12 +78,13 @@ 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.options) - let basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.options) + let basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) + let basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.option) let basemap = { code: basemapConfig.code, name: basemapConfig.name, + conf: basemapConfig, layer: basemapLayer, annotation: basemapAnnotationLayer } @@ -104,12 +112,13 @@ 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.options) - let basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.options) + let basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) + let basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.option) let basemap = { code: basemapConfig.code, name: basemapConfig.name, + conf: basemapConfig, layer: basemapLayer, annotation: basemapAnnotationLayer } -- Gitblit v1.8.0