From 48986a9e1c74b27776122c20997b95924d711157 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期三, 31 三月 2021 16:51:33 +0800 Subject: [PATCH] 图层配置 --- src/conf/layers/LayerHbss.js | 69 ++++++++++------------- src/conf/Constants.js | 3 - src/conf/MapConfig.js | 4 + src/conf/layers/LayerArea.js | 8 +- src/conf/layers/LayerPk.js | 6 + src/components/LayerController/service/LayerFactory.js | 75 ++++++++++++++---------- src/components/LayerController/modules/LcServiceLayer.vue | 7 +- 7 files changed, 88 insertions(+), 84 deletions(-) diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue index 87ea4a7..01bfe83 100644 --- a/src/components/LayerController/modules/LcServiceLayer.vue +++ b/src/components/LayerController/modules/LcServiceLayer.vue @@ -6,8 +6,7 @@ <div class="wms-panel"> <div v-for="item in serviceLayers" :key="item.code" class="layerbox"> <div><input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code" - @change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)" v-if="item.childLayer" - class="btn-filter">杩囨护</span> + @change="swAllLayers(item)"/>{{ item.name }} </div> <div class="layerbox-item"> <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox" @@ -66,9 +65,9 @@ swWmsLayer (itm) { itm.checked = !itm.checked if (itm.checked) { - window.layerFactory.show(itm.code) + window.layerFactory.show(itm) } else { - window.layerFactory.hide(itm.code) + window.layerFactory.hide(itm) } // this.updateWms() }, diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js index e7a585c..484d6e2 100644 --- a/src/components/LayerController/service/LayerFactory.js +++ b/src/components/LayerController/service/LayerFactory.js @@ -18,44 +18,55 @@ var layers = config.layers for (var j = 0; j < layers.length; j++) { var childConfig = layers[j] - var code = childConfig.code - var wfs = childConfig.wfs - var wms = childConfig.wms - var url = childConfig.url - // 鍒ゆ柇鏄惁宸茬粡鍔犺浇杩囷紝鍔犺浇杩囧氨 鐩存帴寰楀埌瀵硅薄璋冪敤 鏄剧ず鍑芥暟 - var layer = this.layers[code] - if (!layer) { - layer = this.L.featureGroup({}).addTo(this.map) - // 2. 鍒ゆ柇绫诲瀷 - if (wfs) { - // 3. 瀹炰緥鍖栧叿浣搒ervice - var wfsLayerService = new WfsLayerService(childConfig) - wfsLayerService.init(layer) - } - if (wms) { - var wmsLayerService = new WmsLayerService(childConfig) - wmsLayerService.init(layer) - } - // 璇锋眰涓氬姟鏁版嵁鎺ュ彛 - if (url) { - var busiLayerService = new BusiLayerService(childConfig) - busiLayerService.init(layer) - } - layer ? (this.layers[code] = layer) : console.log('LayerFactory锛歯ewLayer is null锛宲lease check !!!') - } else { - this.show(code) - } + var checked = childConfig.checked + checked && this.load(childConfig) } } } - show (code) { - var _layer = this.layers[code].addTo(this.map) - this.setZIndex(_layer) + load (config) { + var code = config.code + var wfs = config.wfs + var wms = config.wms + var url = config.url + // 鍒ゆ柇鏄惁宸茬粡鍔犺浇杩囷紝鍔犺浇杩囧氨 鐩存帴寰楀埌瀵硅薄璋冪敤 鏄剧ず鍑芥暟 + var layer = this.layers[code] + if (!layer) { + layer = this.L.featureGroup({}).addTo(this.map) + // 2. 鍒ゆ柇绫诲瀷 + if (wfs) { + // 3. 瀹炰緥鍖栧叿浣搒ervice + var wfsLayerService = new WfsLayerService(config) + wfsLayerService.init(layer) + this.setZIndex(layer) + } + if (wms) { + var wmsLayerService = new WmsLayerService(config) + wmsLayerService.init(layer) + } + // 璇锋眰涓氬姟鏁版嵁鎺ュ彛 + if (url) { + var busiLayerService = new BusiLayerService(config) + busiLayerService.init(layer) + } + layer ? (this.layers[code] = layer) : console.log('LayerFactory锛歯ewLayer is null锛宲lease check !!!') + } else { + this.show(code) + } } - hide (code) { - var layer = this.layers[code] + show (config) { + var layer = this.layers[config.code] + if (layer) { + layer.addTo(this.map) + this.setZIndex(layer) + } else { + this.load(config) + } + } + + hide (config) { + var layer = this.layers[config.code] layer && this.map.removeLayer(layer) } diff --git a/src/conf/Constants.js b/src/conf/Constants.js index 92212b0..ef780e6 100644 --- a/src/conf/Constants.js +++ b/src/conf/Constants.js @@ -5,9 +5,6 @@ } export const logicMapper = { - // fsqy: 'Sample.js', - fspfk: 'Sample.js', - fsjcd: 'Sample.js', wasteGasJcd: 'WasteGas.js', wasteWaterJcd: 'WasteWater.js', solidWasteJcd: 'SolidWaste.js', diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js index ea8b7fb..ef799e2 100644 --- a/src/conf/MapConfig.js +++ b/src/conf/MapConfig.js @@ -7,6 +7,8 @@ import { LayerPipeLine } from './layers/LayerPipeLine' import { LayerArea } from './layers/LayerArea' import { LayerPk } from './layers/LayerPk' +import { LayerFsss } from './layers/LayerFsss' +import { LayerHbss } from './layers/LayerHbss' const curWwwPath = window.document.location.href const pathname = window.document.location.pathname @@ -46,7 +48,7 @@ IntranetBaseMaps: TDT.intranet, InternetBaseMaps: TDT.internet, Layers: { - LayerSewersLine: [LayerPipeLine, LayerArea, LayerPk, LayerWasteWater, LayerWasteGas, LayerSolidWaste], + LayerSewersLine: [LayerPipeLine, LayerFsss, LayerHbss, LayerArea, LayerPk, LayerWasteWater, LayerWasteGas, LayerSolidWaste], layerSewersPoint: LayerSewersPoint } // 姹¢洦姘村浘灞傞厤缃� } diff --git a/src/conf/layers/LayerArea.js b/src/conf/layers/LayerArea.js index b4dd2b9..f3b9da5 100644 --- a/src/conf/layers/LayerArea.js +++ b/src/conf/layers/LayerArea.js @@ -1,6 +1,8 @@ /** * 鍖哄煙 */ +const APP_GIS_HOST_2 = 'http://xearth.cn:8088' +const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' export const LayerArea = { code: 'sewersArea', name: '鍖哄煙淇℃伅', @@ -11,7 +13,7 @@ name: '鍏徃', sname: '鍏徃', // 琛ㄥ悕 checked: true, // 榛樿閫変腑鐘舵�� - url: '?TYPENAME=绠$綉', + wfs: WFS_URL + '?TYPENAME=鍏徃', minZoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀� childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, @@ -20,7 +22,7 @@ name: '鐮佸ご', sname: '鐮佸ご', checked: true, // 榛樿閫変腑鐘舵�� - wfs: '?TYPENAME=鍚补姹℃按', + wfs: WFS_URL + '?TYPENAME=鐮佸ご', minZoom: 10, childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, @@ -29,7 +31,7 @@ name: '瑁呯疆鍖�', sname: '瑁呯疆鍖�', checked: true, // 榛樿閫変腑鐘舵�� - wfs: '?TYPENAME=鍚洂姹℃按', + wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�', minZoom: 10 } ] diff --git a/src/conf/layers/LayerHbss.js b/src/conf/layers/LayerHbss.js index c77b633..d5193d2 100644 --- a/src/conf/layers/LayerHbss.js +++ b/src/conf/layers/LayerHbss.js @@ -3,77 +3,68 @@ */ const APP_GIS_HOST_2 = 'http://xearth.cn:8088' const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' -export const LayerFsss = { - code: 'sewersFsss', +export const LayerHbss = { + code: 'sewersHbss', name: '鐜繚璁炬柦', checked: false, // 榛樿閫変腑鐘舵�� layers: [ { - code: 'fourlink', - name: '鍥涢��', - sname: '鍥涢��', + code: 'yj', + name: '绐ㄤ簳', + sname: '绐ㄤ簳', checked: true, minZoom: 10, - wfs: WFS_URL + '?TYPENAME=鍥涢��', + wfs: WFS_URL + '?TYPENAME=绐ㄤ簳', icon: 'sewers/鍥涢��.png' }, { - code: 'tee', - name: '涓夐��', - sname: '涓夐��', + code: 'ybz', + name: '闆ㄧ瀛�', + sname: '闆ㄧ瀛�', checked: false, minZoom: 10, - wfs: WFS_URL + '?TYPENAME=涓夐��', + wfs: WFS_URL + '?TYPENAME=闆ㄧ瀛�', icon: 'sewers/涓夐��.png' }, { - code: 'piperack', - name: '绠℃灦(澧�)', - sname: 'PipeRack', + code: 'fht', + name: '闃茬伀鍫�', + sname: '闃茬伀鍫�', minZoom: 10, - wfs: WFS_URL + '?TYPENAME=绠℃灦', + wfs: WFS_URL + '?TYPENAME=闃茬伀鍫�', checked: false }, { - code: 'pipegallery', - name: '绠″粖(甯�)', - sname: 'PipeGallery', + code: 'jsc', + name: '闆嗘按姹�', + sname: '闆嗘按姹�', minZoom: 10, - wfs: WFS_URL + '?TYPENAME=绠″粖', + wfs: WFS_URL + '?TYPENAME=闆嗘按姹�', checked: false }, { - code: 'pipesegment', - name: '娴佸悜', - sname: 'ywslx', - wfs: WFS_URL + '?TYPENAME=娴佸悜', + code: 'jlz', + name: '鎴祦闂�', + sname: '鎴祦闂�', + wfs: WFS_URL + '?TYPENAME=鎴祦闂�', checked: false }, { - code: 'pipeline', - name: '绠$綉', + code: 'yly', + name: '婧㈡祦鍫�', + sname: '婧㈡祦鍫�', minZoom: 10, - sname: 'pipeline', - wfs: WFS_URL + '?TYPENAME=绠$綉', + wfs: WFS_URL + '?TYPENAME=婧㈡祦鍫�', checked: false }, { - code: 'valve', - name: '闃�闂�', + code: 'gyd', + name: '闅旀补姹�', + sname: '闅旀补姹�', minZoom: 10, - sname: 'valve', checked: false, - wfs: WFS_URL + '?TYPENAME=闃�闂�', + wfs: WFS_URL + '?TYPENAME=闅旀补姹�', icon: 'sewers/闃�闂�.png' - }, - { - code: 'elbow', - name: '寮ご', - sname: 'Elbow', - minZoom: 10, - checked: false, - wfs: WFS_URL + '?TYPENAME=寮ご', - icon: 'sewers/寮ご.png' } ] } diff --git a/src/conf/layers/LayerPk.js b/src/conf/layers/LayerPk.js index ab13cdf..62bbee9 100644 --- a/src/conf/layers/LayerPk.js +++ b/src/conf/layers/LayerPk.js @@ -1,6 +1,8 @@ /** * 鎺掑彛 */ +const APP_GIS_HOST_2 = 'http://xearth.cn:8088' +const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' export const LayerPk = { code: 'sewersPk', name: '鎺掑彛', @@ -11,7 +13,7 @@ name: '鍐呮帓鍙�', sname: '鍐呮帓鍙�', checked: true, - wfs: '?TYPENAME=绠$綉', + wfs: WFS_URL + '?TYPENAME=鍐呮帓鍙�', minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀� }, { @@ -19,7 +21,7 @@ name: '澶栨帓鍙�', sname: '澶栨帓鍙�', checked: true, // 榛樿閫変腑鐘舵�� - wfs: '?TYPENAME=浜嬫晠姘�', + wfs: WFS_URL + '?TYPENAME=澶栨帓鍙�', minZoom: 10 } ] -- Gitblit v1.8.0