From cd66cc40d94e0f0845334fd15690cb93c7d50ad1 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期二, 29 十二月 2020 11:13:49 +0800 Subject: [PATCH] 图层控制 --- src/components/helpers/WmsHelper.js | 5 ++++- src/main.js | 2 +- src/components/LayerController/modules/LcServiceLayerFilter.vue | 23 ++++++++++++++++++++++- src/conf/MapConfig.js | 4 ++-- src/components/LayerController/modules/LcServiceLayer.vue | 8 ++++++-- 5 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue index 1496c2d..9b9a706 100644 --- a/src/components/LayerController/modules/LcServiceLayer.vue +++ b/src/components/LayerController/modules/LcServiceLayer.vue @@ -30,7 +30,7 @@ import {mapState, mapMutations} from "vuex"; import WmsHelper from "../../helpers/WmsHelper"; - var wmsHelper = new WmsHelper() + export default { name: "LcServiceLayer", components: {}, @@ -75,6 +75,7 @@ console.log('璇MTS鏂规硶鏈疄鐜帮紒') }, swWmsLayer(itm) { + console.log('22222222') itm.checked = !itm.checked this.updateWms() }, @@ -108,7 +109,9 @@ } }, updateWms() { + console.log('------') var mapConfig = this.mapConfig + var wmsHelper = new WmsHelper() wmsHelper.initMapConfig(mapConfig) var wmsLayersMap = wmsHelper.getWmsLayersMap() //var filterURL = wmsHelper.getFilterURL() @@ -117,7 +120,8 @@ var layers = wmsLayersMap[k] var tileLayer = this.serviceLayerHelper.getTileLayer(k) if (tileLayer) { - tileLayer.setParams({layers: layers}, true) + tileLayer.setParams({layers: layers.join(',')}, false) + tileLayer.setUrl(tileLayer.config.url,false) } } } diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue index 1749296..4fe2af2 100644 --- a/src/components/LayerController/modules/LcServiceLayerFilter.vue +++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue @@ -15,6 +15,8 @@ <script> import { mapState, mapMutations } from "vuex"; +import WmsHelper from "../../helpers/WmsHelper"; + export default { name: "LcServiceLayerFilter", components: {}, @@ -33,11 +35,14 @@ }, serviceLayerFilters: (state) => { return state.serviceLayerFilters + }, + mapConfig: (state) => { + return state.mapConfig } }), }, mounted() { - + }, methods: { ...mapMutations([]), @@ -49,6 +54,22 @@ for(let i = 0, len = item.filters.length; i < len; ++i){ item.filters[i].checked = item.checked } + + console.log('------') + var mapConfig = this.mapConfig + var wmsHelper = new WmsHelper() + wmsHelper.initMapConfig(mapConfig) + var wmsLayersMap = wmsHelper.getWmsLayersMap() + //var filterURL = wmsHelper.getFilterURL() + console.log(wmsLayersMap) + for (var k in wmsLayersMap) { + var layers = wmsLayersMap[k] + var tileLayer = this.serviceLayerHelper.getTileLayer(k) + if (tileLayer) { + tileLayer.setParams({layers: layers.join(',')}, true) + tileLayer.setUrl(tileLayer.config.url,false) + } + } } }, watch: { diff --git a/src/components/helpers/WmsHelper.js b/src/components/helpers/WmsHelper.js index b75847e..93748f2 100644 --- a/src/components/helpers/WmsHelper.js +++ b/src/components/helpers/WmsHelper.js @@ -24,8 +24,11 @@ var filters = layersGroup[i].filters for (var j = 0; j < filters.length; j++) { var layer = filters[j] + var checked = layer.checked var code = layer.code - this.addLayer(wms, code) + if (checked) { + this.addLayer(wms, code) + } } } } diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js index 5bd5ccd..98a0880 100644 --- a/src/conf/MapConfig.js +++ b/src/conf/MapConfig.js @@ -12,7 +12,7 @@ // service涓绘満閰嶇疆 const APP_GIS_HOST = 'http://xearth.cn:6299' -const APP_GIS_HOST_PIPELINE = 'http://xearth.cn:6289' +const APP_GIS_HOST_PIPELINE = 'http://xearth.cn:6288' // 鑷畾涔変富鏈洪厤缃� const BLUEMAP_HOST = APP_GIS_HOST // 鍏徃鍙戝竷鐨勫湴鍥炬湇鍔★紝鐢ㄤ簬娴嬭瘯鐨勫湴鍧� @@ -218,7 +218,7 @@ icon_actived: '', icon_deactived: '', type:'wms', - url: APP_GIS_HOST_PIPELINE + '/server/ogcserver/PipeLine/wms?version=1.1.1', + url: APP_GIS_HOST_PIPELINE + '/server/ogcserver/PipeLineTest/wms?version=1.1.1', inLegend: true, checked: true, option:{ diff --git a/src/main.js b/src/main.js index 18940fb..96479c7 100644 --- a/src/main.js +++ b/src/main.js @@ -1,5 +1,5 @@ import Vue from 'vue' -import App from './App2.vue' +import App from './App.vue' import router from './router' import store from './store' // import registerDirectives from './directive' -- Gitblit v1.8.0