派生自 wuyushui/SewerAndRainNetwork

chenyabin
2021-04-15 8f327155ec6a3d5ad1f1ff4e170ed85747439373
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) {
@@ -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) {
    // 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. 实例化具体service
        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:newLayer is null,please 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) {