diff --git a/lib/OpenLayers/Tile.js b/lib/OpenLayers/Tile.js index 3266ce7902..bc7c1baf6f 100644 --- a/lib/OpenLayers/Tile.js +++ b/lib/OpenLayers/Tile.js @@ -183,17 +183,15 @@ OpenLayers.Tile = OpenLayers.Class({ // (3) left bound negative (exceeding world), right bound positive var maxExtents = [maxExtent]; if (this.layer.map.baseLayer.wrapDateLine) { - var worldExtentWidth = this.layer.map.getMaxExtent().getWidth(); - maxExtent = this.layer.maxExtent.clone(); if (maxExtent.left > maxExtent.right) { - maxExtent.left -= worldExtentWidth; + var worldWidth = this.layer.map.getMaxExtent().getWidth(); + maxExtent = this.layer.maxExtent.clone(); + maxExtent.left -= worldWidth; + maxExtents.push(maxExtent); + maxExtent = this.layer.maxExtent.clone(); + maxExtent.right += worldWidth; + maxExtents.push(maxExtent); } - maxExtents.push(maxExtent); - maxExtent = this.layer.maxExtent.clone(); - if (maxExtent.right < maxExtent.left) { - maxExtent.right += worldExtentWidth; - } - maxExtents.push(maxExtent); } for (var i=maxExtents.length-1; i>=0; --i) { if (this.bounds.intersectsBounds(maxExtents[i], false)) { @@ -215,8 +213,8 @@ OpenLayers.Tile = OpenLayers.Class({ */ setBounds: function(bounds) { bounds = bounds.clone(); - var worldExtent = this.layer.map.getMaxExtent(); if (this.layer.map.baseLayer.wrapDateLine) { + var worldExtent = this.layer.map.getMaxExtent(); bounds = bounds.wrapDateLine(worldExtent); } this.bounds = bounds; diff --git a/tests/manual/dateline-smallextent.html b/tests/manual/dateline-smallextent.html index a0797d8773..ed80a8a9e7 100644 --- a/tests/manual/dateline-smallextent.html +++ b/tests/manual/dateline-smallextent.html @@ -28,7 +28,7 @@ function init(){ ); var extent = new OpenLayers.Bounds(15849982.183008, -11368938.517442, -14206280.326992, -1350184.3474419); var wms = new OpenLayers.Layer.WMS( "world", - "/geoserver/wms", + "http://demo.opengeo.org/geoserver/wms", {layers: 'world', transparent: true}, {maxExtent: extent} );