OpenLayers OpenLayers

Changeset 2167

Show
Ignore:
Timestamp:
01/20/07 12:03:40 (2 years ago)
Author:
tschaub
Message:

track old extent when changing base layers - see #463

Files:

Legend:

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

    r2135 r2167  
    432432     */ 
    433433    setBaseLayer: function(newBaseLayer, noEvent) { 
    434         var oldBaseLayer = this.baseLayer; 
    435  
    436         if (newBaseLayer != oldBaseLayer) { 
     434        var oldExtent = null; 
     435        if(this.baseLayer) { 
     436            oldExtent = this.baseLayer.getExtent(); 
     437        } 
     438 
     439        if (newBaseLayer != this.baseLayer) { 
    437440           
    438441            // is newBaseLayer an already loaded layer? 
     
    440443 
    441444                // make the old base layer invisible  
    442                 if (oldBaseLayer != null) { 
    443                     oldBaseLayer.setVisibility(false, noEvent); 
     445                if (this.baseLayer != null) { 
     446                    this.baseLayer.setVisibility(false, noEvent); 
    444447                } 
    445448 
     
    451454                var center = this.getCenter(); 
    452455                if (center != null) { 
    453                     if (oldBaseLayer == null) { 
     456                    if (oldExtent == null) { 
    454457                        this.setCenter(center);             
    455458                    } else { 
    456                         this.zoomToExtent(oldBaseLayer.getExtent()); 
     459                        this.zoomToExtent(oldExtent); 
    457460                    } 
    458461                }