From c169ee517f0620f86689ea08db5e3e24f01446bc Mon Sep 17 00:00:00 2001 From: zhangshuaibao <15731629597@163.com> Date: 星期四, 15 四月 2021 17:58:28 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/LayerController/service/LayerFactory.js | 81 ++++++++++++++++++++++------------------ 1 files changed, 44 insertions(+), 37 deletions(-) diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js index ae561e5..d475fb6 100644 --- a/src/components/LayerController/service/LayerFactory.js +++ b/src/components/LayerController/service/LayerFactory.js @@ -1,6 +1,7 @@ import WfsLayerService from './WfsLayerService' import BusiLayerService from './BusiLayerService' import WmsLayerService from './WmsLayerService' +import EventLayerService from './EventLayerService' class LayerFactory { constructor (options) { @@ -27,9 +28,9 @@ } /** - * 鎺у埗鏄剧ず鐨勭骇鍒� - * @param layerConfig - */ + * 鎺у埗鏄剧ず鐨勭骇鍒� + * @param layerConfig + */ initEvent (layerConfig) { this.map.on('zoomend ', (e) => this.toggleZoomByLayer(layerConfig)) } @@ -67,30 +68,35 @@ var wfs = config.wfs var wms = config.wms var url = config.url + var checked = config.checked // 鍒ゆ柇鏄惁宸茬粡鍔犺浇杩囷紝鍔犺浇杩囧氨 鐩存帴寰楀埌瀵硅薄璋冪敤 鏄剧ず鍑芥暟 var layer = this.layers[code] - if (!layer) { - layer = this.L.featureGroup({}).addTo(this.map) + // todo if鏄笉鏄お澶氫簡 + if (checked) { + if ((wfs || wms || url)) { + if (layer) { + this.show(code) + } else { + layer = this.L.featureGroup({}).addTo(this.map) + this.layers[code] = layer + } + } // 2. 鍒ゆ柇绫诲瀷 if (wfs) { // 3. 瀹炰緥鍖栧叿浣搒ervice var wfsLayerService = new WfsLayerService(config) wfsLayerService.init(layer) this.setZIndex(layer) - } - if (wms) { + } else if (wms) { var wmsLayerService = new WmsLayerService(config) wmsLayerService.init(layer) - } - // 璇锋眰涓氬姟鏁版嵁鎺ュ彛 - if (url) { + } else 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) } + var eventLayerService = new EventLayerService(config) + eventLayerService.init() } show (config) { @@ -106,6 +112,7 @@ hide (config) { var layer = this.layers[config.code] layer && this.map.removeLayer(layer) + this.load(config) } toggle (code) { @@ -130,25 +137,25 @@ }) } /* for (var k in this.layers) { - var layerGroup = this.layers[k] - layerGroup.eachLayer(function (layer) { - console.log(layer) - console.log(layer.getAttribution()) - }) - var layers = layerGroup.getLayers() - if (layers) { - for (var m = 0; m < layers.length; m++) { - var layer = layers[m] - console.log(layer) - console.log(layer.getLayerId(val.id)) - /!* var feature = layer.feature - if (feature.id === layerId) { - this.map.flyToBounds(bound) - return layer - } *!/ - } - } - } */ + var layerGroup = this.layers[k] + layerGroup.eachLayer(function (layer) { + console.log(layer) + console.log(layer.getAttribution()) + }) + var layers = layerGroup.getLayers() + if (layers) { + for (var m = 0; m < layers.length; m++) { + var layer = layers[m] + console.log(layer) + console.log(layer.getLayerId(val.id)) + /!* var feature = layer.feature + if (feature.id === layerId) { + this.map.flyToBounds(bound) + return layer + } *!/ + } + } + } */ return null } @@ -164,11 +171,11 @@ } /** - * todo 杩欓噷鏃犳晥锛岃矊浼兼槸鍥犱负geojson鍔犺浇鍒板湴鍥句篃鏄釜layergroup - * - * 璁剧疆index,绾垮湪鏈�涓嬮潰锛岀偣鍦ㄤ笂闈� - * @param layerGroup 鍥惧眰缁� - */ + * todo 杩欓噷鏃犳晥锛岃矊浼兼槸鍥犱负geojson鍔犺浇鍒板湴鍥句篃鏄釜layergroup + * + * 璁剧疆index,绾垮湪鏈�涓嬮潰锛岀偣鍦ㄤ笂闈� + * @param layerGroup 鍥惧眰缁� + */ setZIndex (layer) { if (Array.isArray(layer)) { for (var i = 0; i < layer.length; i++) { -- Gitblit v1.8.0