Changeset 2233
- Timestamp:
- 02/16/07 15:59:18 (2 years ago)
- Files:
-
- trunk/openlayers/lib/OpenLayers/Layer.js (modified) (1 diff)
- trunk/openlayers/lib/OpenLayers/Map.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/openlayers/lib/OpenLayers/Layer.js
r2227 r2233 138 138 * Destroy is a destructor: this is to alleviate cyclic references which 139 139 * the Javascript garbage cleaner can not take care of on its own. 140 */ 141 destroy: function() { 140 * 141 * @param {Boolean} setNewBaseLayer Should a new baselayer be selected when 142 * this has been removed? 143 * Default is true 144 */ 145 destroy: function(setNewBaseLayer) { 146 if (setNewBaseLayer == null) { 147 setNewBaseLayer = true; 148 } 142 149 if (this.map != null) { 143 this.map.removeLayer(this );150 this.map.removeLayer(this, setNewBaseLayer); 144 151 } 145 152 this.map = null; trunk/openlayers/lib/OpenLayers/Map.js
r2231 r2233 214 214 if (this.layers != null) { 215 215 for(var i=0; i< this.layers.length; i++) { 216 this.layers[i].destroy(); 216 //pass 'false' to destroy so that map wont try to set a new 217 // baselayer after each baselayer is removed 218 this.layers[i].destroy(false); 217 219 } 218 220 this.layers = null; … … 357 359 * 358 360 * @param {OpenLayers.Layer} layer 359 */ 360 removeLayer: function(layer) { 361 * @param {Boolean} setNewBaseLayer Default is true 362 */ 363 removeLayer: function(layer, setNewBaseLayer) { 364 if (setNewBaseLayer == null) { 365 setNewBaseLayer = true; 366 } 367 361 368 if (layer.isFixed) { 362 369 this.viewPortDiv.removeChild(layer.div); … … 368 375 369 376 // if we removed the base layer, need to set a new one 370 if ( this.baseLayer == layer) {377 if (setNewBaseLayer && (this.baseLayer == layer)) { 371 378 this.baseLayer = null; 372 379 for(i=0; i < this.layers.length; i++) {
