From cf5ab6da9ff676fab8a10d4299bd5a04a07bf50f Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期一, 17 五月 2021 10:05:53 +0800 Subject: [PATCH] 修复默认选中图层时出现的BUG --- src/components/LayerController/service/WmsLayerService.js | 55 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 29 insertions(+), 26 deletions(-) diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js index 0094a71..3b25bc6 100644 --- a/src/components/LayerController/service/WmsLayerService.js +++ b/src/components/LayerController/service/WmsLayerService.js @@ -1,5 +1,5 @@ import AjaxUtils from '../../../utils/AjaxUtils' -import { PIPELINE_WMS } from '../../../conf/Constants' +import { WMS_URL } from '../../../conf/Constants' import Popup from '@views/popup/Popup' import WmsLayerList from '../dataset/WmsLayerList' @@ -29,9 +29,11 @@ this.featureGroup = this.L.featureGroup({}).addTo(this.map) this.wmsLayerList = new WmsLayerList() - for (var i = 0; i < layersConfig.length; i++) { - const config = layersConfig[i] - this.wmsLayerList.addConfig(config) + if (layersConfig) { + for (var i = 0; i < layersConfig.length; i++) { + const config = layersConfig[i] + this.wmsLayerList.addConfig(config) + } } this.load() } @@ -41,28 +43,24 @@ } add (config) { + console.log(config) this.wmsLayerList.addConfig(config) - const layers = this.wmsLayerList.getLayers() - const filter = this.wmsLayerList.getFilters() + const layers = this.wmsLayerList.getLayers() || '' + const filter = this.wmsLayerList.getFilters() || '' const params = {} - if (filter) { - params.cql_filter = filter - } - if (layers) { - params.layers = layers - } + params.cql_filter = filter + params.layers = layers + console.log(this.wmsLayerList) this.wmsLayer.setParams(params) } remove (config) { console.log(config) this.wmsLayerList.remove(config.typeName, config.filter) - const layers = this.wmsLayerList.getLayers() - const filter = this.wmsLayerList.getFilters() + const layers = this.wmsLayerList.getLayers() || '' + const filter = this.wmsLayerList.getFilters() || '' const params = { layers: layers } - if (filter) { - params.cql_filter = filter - } + params.cql_filter = filter this.wmsLayer.setParams(params) } @@ -80,17 +78,19 @@ if (filter.length > 0) { params.cql_filter = filter } - this.wmsLayer = this.L.tileLayer.wms(PIPELINE_WMS, params).addTo(this.map) + this.wmsLayer = this.L.tileLayer.wms(WMS_URL, params).addTo(this.map) } clickListener () { window.map.on('click', (e) => { // console.log(e) + window.layerFactory.clearHighlight() this.featureGroup.clearLayers() var point = this.map.latLngToContainerPoint(e.latlng, this.map.getZoom()) var size = this.map.getSize() // const bbox = this.L.latLngBounds(this.L.latLng(e.latlng.lng, e.latlng.lat)).toBBoxString() const layers = this.wmsLayerList.getLayers() + const filter = this.wmsLayerList.getFilters() if (layers.length > 0) { const params = Object.assign({ LAYERS: layers, @@ -101,16 +101,19 @@ Y: Math.round(point.y), BBOX: this.map.getBounds().toBBoxString() }, this.params) - AjaxUtils.get4JsonDataByUrl(PIPELINE_WMS, params, (res) => { + if (filter.length > 0) { + params.cql_filter = filter + } + AjaxUtils.get4JsonDataByUrl(WMS_URL, params, (res) => { const features = res.data.features /** - * { - * title: 'New Tab', - * name: newTabName, - * content: 'New Tab content' - * } - * @type {*[]} - */ + * { + * title: 'New Tab', + * name: newTabName, + * content: 'New Tab content' + * } + * @type {*[]} + */ const popupDatas = [] if (features) { for (var i = 0; i < features.length; i++) { -- Gitblit v1.8.0