派生自 wuyushui/SewerAndRainNetwork

chenzeping
2021-04-20 1abc6d35b10491214b0ad77b0e0365453b3c29cb
src/components/LayerController/service/LayerFactory.js
@@ -8,6 +8,7 @@
    this.map = window.map
    this.layers = {}
    this.layersLogic = {}
    this.minZoomLayers = {}
  }
  init (layerConfig) {
@@ -21,10 +22,17 @@
        layers && this.init(config.layers)
        childLayer && this.init(config.childLayer)
        this.initMinZoom(config)
        this.loadLogic(config)
        this.toggleZoomByConfig(config)
        checked && this.show(config)
      }
    }
  }
  initMinZoom (config) {
    const minZoom = parseInt(config.minZoom)
    if (minZoom) {
      this.minZoomLayers[minZoom] = config
    }
  }
@@ -93,32 +101,19 @@
     * @param layerConfig
     */
  initEvent (layerConfig) {
    this.map.on('zoomend ', (e) => this.toggleZoomByLayer(layerConfig))
    // this.map.on('zoomend ', () => this.toggleByZoom())
  }
  toggleZoomByLayer (layerConfig) {
    var config = layerConfig
    if (Array.isArray(layerConfig)) {
      for (var i = 0, l = layerConfig.length; i < l; i++) {
        config = layerConfig[i]
        var layers = config.layers
        var childLayer = config.childLayer
        layers && this.toggleZoomByLayer(layers)
        childLayer && this.toggleZoomByLayer(childLayer)
        this.toggleZoomByConfig(config)
      }
    } else {
      this.toggleZoomByConfig(layerConfig)
    }
  }
  toggleZoomByConfig (config) {
  toggleByZoom () {
    const zoom = this.map.getZoom()
    var checked = config.checked
    if (checked && config.minZoom) {
      if (zoom > config.minZoom) {
    for (var k in this.minZoomLayers) {
      const config = this.minZoomLayers[k]
      const checked = config.checked
      console.log(zoom)
      console.log(k)
      if (checked && zoom > k) {
        this.show(config)
      } else {
      } else if (checked && zoom < k) {
        this.hide(config)
      }
    }