/** * 加载WMS,拼接FILTER,LAYERS参数等 */ function WmsHelper () { this.filters = {} this.wmsLayersMap = {} this.initMapConfig = (mapConfig) => { var serviceLayers = mapConfig.ServiceLayers for (var i = 0; i < serviceLayers.length; i++) { var service = serviceLayers[i] var checked = service.checked if (!checked) { break } var filtersGroup = service.filtersGroup if (filtersGroup) { this.initLayer(service.code, filtersGroup) } } } this.initLayer = (wms, layersGroup) => { for (var i = 0; i < layersGroup.length; i++) { var filters = layersGroup[i].filters for (var j = 0; j < filters.length; j++) { var layer = filters[j] var checked = layer.checked // var code = layer.code var code = layer.name if (checked) { this.addLayer(wms, code) } } } } this.initFilter = () => { /* for (var i = 0; i < filters.length; i++) { var filter = filters[i] this.addFilter() } */ } this.addLayer = (wms, layer) => { var wmsLayer = this.wmsLayersMap[wms] if (wmsLayer) { wmsLayer[wmsLayer.length] = layer } else { this.wmsLayersMap[wms] = [layer] } } this.addFilter = (condition) => { // var filter = this.filters[layer] // if (filter) { this.filters[this.filters.length] = condition // } else { // this.filters[layer] = [condition] // } } this.getWmsLayersMap = () => { return this.wmsLayersMap } this.getFilterURL = () => { var filterURL = '' var conditions = '' for (var f in this.filters) { var filters = this.filters[f] for (var i = 0; i < filters.length; i++) { conditions += filters[i] if (i < filters.length) { conditions += ',' } } filterURL += f + '.(' + conditions + ');' } return filterURL.substr(0, filterURL.length - 1) } } export default WmsHelper