OpenLayers OpenLayers

Changeset 9530

Show
Ignore:
Timestamp:
06/30/09 13:35:16 (9 months ago)
Author:
bartvde
Message:

combine layers from the same WMS

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/bartvde/owscontext/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js

    r9529 r9530  
    250250 
    251251    /** 
     252     * Method: findLayer 
     253     * Check if there is already a layer from the same WMS, if so return it. 
     254     * 
     255     * Parameters: 
     256     * layerArray - {Array} layer array to search in 
     257     * url - {String} url the search for 
     258     * 
     259     * Returns: 
     260     * {<OpenLayers.Layer.WMS>} or {Boolean} 
     261     */ 
     262    findLayer: function(layerArray, url) { 
     263        for (var i=0, len=layerArray.length; i<len; i++) { 
     264            var layer = layerArray[i]; 
     265            if (layer instanceof OpenLayers.Layer.WMS && layer.url === url) { 
     266                return layer; 
     267            } 
     268        } 
     269        return false; 
     270    }, 
     271 
     272    /** 
    252273     * Method: processLayer 
    253274     * Recursive function to process a layer and their childLayers 
     
    262283                var layerObj  = this.getLayerFromInfo(l); 
    263284                if (layerObj != null) { 
    264                     layerArray.push(layerObj); 
     285                    // group layers according to WMS url 
     286                    var lyr = this.findLayer(layerArray, layerObj.url); 
     287                    if (lyr !== false) { 
     288                        lyr.params.LAYERS += "," + layerObj.params.LAYERS; 
     289                    } else { 
     290                        layerArray.push(layerObj); 
     291                    } 
    265292                } 
    266293                if (l.layerInfo) {