/**
|
* 加载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
|