| | |
| | | this.map = window.map |
| | | this.layers = {} |
| | | this.layersLogic = {} |
| | | this.minZoomLayers = {} |
| | | } |
| | | |
| | | init (layerConfig) { |
| | |
| | | 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) { |
| | | var configs = this.minZoomLayers[minZoom] |
| | | if (configs) { |
| | | configs[configs.length] = config |
| | | } else { |
| | | configs = [config] |
| | | } |
| | | this.minZoomLayers[minZoom] = configs |
| | | } |
| | | } |
| | | |
| | |
| | | * @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) { |
| | | this.show(config) |
| | | } else { |
| | | this.hide(config) |
| | | for (var k in this.minZoomLayers) { |
| | | const configs = this.minZoomLayers[k] |
| | | for (var j in configs) { |
| | | const config = configs[j] |
| | | const checked = config.checked |
| | | // console.log(zoom) |
| | | // console.log(k) |
| | | if (checked && zoom > k) { |
| | | this.show(config) |
| | | } else if (checked && zoom < k) { |
| | | this.hide(config) |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | this.findLayerById(layer.getLayers(), id) |
| | | } else { |
| | | layer.eachLayer(function (layer) { |
| | | console.log(layer) |
| | | // console.log(layer) |
| | | }) |
| | | } |
| | | } |