OpenLayers OpenLayers

Changeset 2539

Show
Ignore:
Timestamp:
03/08/07 14:58:20 (2 years ago)
Author:
sderle
Message:

Map.addLayer() will return false when adding duplicate layers. Fixes #248.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/openlayers/lib/OpenLayers/Map.js

    r2532 r2539  
    300300    */     
    301301    addLayer: function (layer) { 
     302        for(var i=0; i < this.layers.length; i++) { 
     303            if (this.layers[i] == layer) { 
     304                return false; 
     305            } 
     306        }     
     307         
    302308        layer.div.style.overflow = ""; 
    303309        this.setLayerZIndex(layer, this.layers.length); 
  • trunk/openlayers/tests/test_Map.html

    r1643 r2539  
    219219 
    220220        t.ok( gotLayer == null, "getLayer correctly returns null when layer not found"); 
     221    } 
     222     
     223    function test_11_Map_double_addLayer(t) { 
     224        t.plan( 1 );     
     225        map = new OpenLayers.Map($('map')); 
     226        layer = new OpenLayers.Layer.WMS('Test Layer',  
     227                    "http://octo.metacarta.com/cgi-bin/mapserv",  
     228                    {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'}  
     229                    ); 
     230 
     231        map.addLayers([layer,layer]); 
     232         
     233        t.eq( map.layers.length, 1, "Map does not allow double adding of layers." ); 
     234     
    221235    } 
    222236