Merge pull request #639 from ahocevar/grid-align
When using a buffer, the grid lacks rows/columns at the top/left. r=@bartvde
This commit is contained in:
@@ -983,9 +983,9 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
||||
|
||||
var viewSize = this.map.getSize();
|
||||
var minRows = Math.ceil(viewSize.h/this.tileSize.h) +
|
||||
Math.max(1, 2 * this.buffer);
|
||||
2 * this.buffer + 1;
|
||||
var minCols = Math.ceil(viewSize.w/this.tileSize.w) +
|
||||
Math.max(1, 2 * this.buffer);
|
||||
2 * this.buffer + 1;
|
||||
|
||||
var origin = this.getTileOrigin();
|
||||
var resolution = this.getServerResolution();
|
||||
@@ -1193,7 +1193,7 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
||||
);
|
||||
return;
|
||||
}
|
||||
var buffer = this.buffer || 1;
|
||||
var buffer = this.buffer + 1;
|
||||
var scale = this.getResolutionScale();
|
||||
while(true) {
|
||||
var tlViewPort = {
|
||||
|
||||
@@ -76,8 +76,8 @@
|
||||
layer = new OpenLayers.Layer.WMS(name, url, params, {buffer:2});
|
||||
map.addLayer(layer);
|
||||
map.setCenter(new OpenLayers.LonLat(0,0),5);
|
||||
t.eq( layer.grid.length, 7, "Grid rows is correct." );
|
||||
t.eq( layer.grid[0].length, 6, "Grid cols is correct." );
|
||||
t.eq( layer.grid.length, 8, "Grid rows is correct." );
|
||||
t.eq( layer.grid[0].length, 7, "Grid cols is correct." );
|
||||
|
||||
}
|
||||
|
||||
@@ -239,6 +239,23 @@
|
||||
t.eq( zoom, 2, "getZoomForExtent() returns correct value");
|
||||
}
|
||||
|
||||
function test_moveGriddedTiles(t) {
|
||||
t.plan(1);
|
||||
var map = new OpenLayers.Map('map');
|
||||
layer = new OpenLayers.Layer.WMS(name, url, params, {buffer: 2});
|
||||
map.addLayer(layer);
|
||||
map.setCenter([0, 0], 5);
|
||||
var count = 0;
|
||||
layer.shiftColumn = function(prepend) {
|
||||
++count;
|
||||
OpenLayers.Layer.WMS.prototype.shiftColumn.apply(this, arguments);
|
||||
}
|
||||
map.moveTo([15, 0]);
|
||||
t.delay_call(.5, function() {
|
||||
t.eq(count, 1, "column shifted once");
|
||||
});
|
||||
}
|
||||
|
||||
function test_Layer_Grid_moveTo(t) {
|
||||
|
||||
t.plan(17);
|
||||
@@ -695,17 +712,17 @@
|
||||
map.setCenter(new OpenLayers.LonLat(0, 0), 4);
|
||||
t.eq( layer0.grid.length, 3, "Grid rows with buffer:0" );
|
||||
map.setBaseLayer(layer1);
|
||||
t.eq( layer1.grid.length, 4, "Grid rows with buffer:1" );
|
||||
t.eq( layer1.grid.length, 5, "Grid rows with buffer:1" );
|
||||
map.setBaseLayer(layer2);
|
||||
t.eq( layer2.grid.length, 6, "Grid rows with buffer:2" );
|
||||
t.eq( layer2.grid.length, 7, "Grid rows with buffer:2" );
|
||||
|
||||
// zooming in on Greenland exercises the bug from pre-r4313
|
||||
map.setCenter(new OpenLayers.LonLat(0, 90), 4);
|
||||
t.eq( layer0.grid.length, 3, "Grid rows with buffer:0" );
|
||||
map.setBaseLayer(layer1);
|
||||
t.eq( layer1.grid.length, 4, "Grid rows with buffer:1" );
|
||||
t.eq( layer1.grid.length, 5, "Grid rows with buffer:1" );
|
||||
map.setBaseLayer(layer2);
|
||||
t.eq( layer2.grid.length, 6, "Grid rows with buffer:2" );
|
||||
t.eq( layer2.grid.length, 7, "Grid rows with buffer:2" );
|
||||
}
|
||||
|
||||
function test_Layer_Grid_destroy (t) {
|
||||
|
||||
Reference in New Issue
Block a user