refactor range checking into map and store a state variable in layer so that we dont fire changelayer every time user zooms

git-svn-id: http://svn.openlayers.org/trunk/openlayers@1606 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
euzuro
2006-10-05 19:32:07 +00:00
parent 3cf66a5779
commit 2b7c6cc844
3 changed files with 20 additions and 8 deletions

View File

@@ -691,7 +691,14 @@ OpenLayers.Map.prototype = {
var bounds = this.getExtent();
for (var i = 0; i < this.layers.length; i++) {
var layer = this.layers[i];
if (zoomChanged || (layer.display && layer.inRange())) {
var inRange = layer.calculateInRange();
if (layer.inRange != inRange) {
layer.inRange = inRange;
this.events.triggerEvent("changelayer");
}
if (zoomChanged || (layer.display && layer.inRange)) {
layer.moveTo(bounds, zoomChanged, dragging);
}
}