From 3eda2a49edc60f3961604223f557dcd6ab6db94f Mon Sep 17 00:00:00 2001 From: wangrui <zephyrs0894@163.com> Date: 星期三, 23 十二月 2020 16:52:54 +0800 Subject: [PATCH] 底图切换组件开发完成 --- src/components/helpers/BasemapHelper.js | 50 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 30 insertions(+), 20 deletions(-) diff --git a/src/components/helpers/BasemapHelper.js b/src/components/helpers/BasemapHelper.js index 6ff5085..652c7e8 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,37 +31,46 @@ * 鑾峰彇鎵�鏈夌殑搴曞浘鍒楄〃 * @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) } /** * 鏄剧ず鏌愪釜鍥惧眰 - * @param map 鍦板浘瀵硅薄 * @param layer 寰呮樉绀哄浘灞傚紩鐢� * @param isHideOthers 鏄惁鍏堝叧闂叾浠栧浘灞傦紝榛樿鏄痶rue */ - showBasemap = (map, layer, isHideOthers) => { - console.log(map, layer, isHideOthers) + showBasemap = (code, isHideOthers = true) => { + debugger + let 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.map.addLayer(basemap.layer) + this.map.addLayer(basemap.annotation) } /** * 闅愯棌鏌愪釜鍥惧眰 - * @param map 鍦板浘瀵硅薄 * @param layer 寰呭叧闂浘灞傚紩鐢� */ - hideBasemap = (map, layer) => { - console.log(map, layer) + hideBasemap = (code) => { + debugger + let basemap = this.basemapMap.get(code) + this.map.removeLayer(basemap.layer) + this.map.removeLayer(basemap.annotation) } // 鍏綉鍒涘缓鍦板浘閮ㄥ垎 @@ -71,12 +79,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 +113,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