use tolerance for crosses right / force left

This commit is contained in:
ahocevar
2011-09-29 13:35:00 -06:00
parent 516914c935
commit c2582c1970

View File

@@ -623,20 +623,21 @@ OpenLayers.Bounds = OpenLayers.Class({
if (maxExtent) {
var width = maxExtent.getWidth();
//shift right?
while ( newBounds.left < maxExtent.left &&
(newBounds.right - rightTolerance) <= maxExtent.left ) {
//shift right?
while (newBounds.left < maxExtent.left &&
newBounds.right - rightTolerance <= maxExtent.left ) {
newBounds = newBounds.add(width, 0);
}
}
//shift left?
while ( (newBounds.left + leftTolerance) >= maxExtent.right &&
//shift left?
while (newBounds.left + leftTolerance >= maxExtent.right &&
newBounds.right > maxExtent.right ) {
newBounds = newBounds.add(-width, 0);
}
}
// crosses right? force left
if (newBounds.left < maxExtent.right && newBounds.right > maxExtent.right) {
// crosses right? force left
if (newBounds.left + leftTolerance < maxExtent.right &&
newBounds.right - rightTolerance > maxExtent.right) {
newBounds = newBounds.add(-width, 0);
}
}