Merge pull request #97 from ahocevar/retile
It turns out we really want to retile sometimes. r=@fredj
This commit is contained in:
@@ -319,6 +319,18 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
||||
}
|
||||
} else {
|
||||
|
||||
// if the bounds have changed such that they are not even
|
||||
// *partially* contained by our tiles (e.g. when user has
|
||||
// programmatically panned to the other side of the earth on
|
||||
// zoom level 18), then moveGriddedTime could potentially have
|
||||
// to run through thousands of cycles, so we want to reTile
|
||||
// instead (thus, partial true).
|
||||
forceReTile = forceReTile ||
|
||||
!tilesBounds.intersectsBounds(bounds, {
|
||||
worldBounds: this.map.baseLayer.wrapDateLine &&
|
||||
this.map.getMaxExtent()
|
||||
});
|
||||
|
||||
if(resolution !== serverResolution) {
|
||||
bounds = this.map.calculateBounds(null, serverResolution);
|
||||
if(forceReTile) {
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
|
||||
function test_Layer_Grid_moveTo(t) {
|
||||
|
||||
t.plan(12);
|
||||
t.plan(14);
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
layer = new OpenLayers.Layer.WMS(name, url, params);
|
||||
@@ -300,6 +300,14 @@
|
||||
t.ok(g_WhichFunc == "MoveGridded", "if tiles not drastically out of bounds, we call moveGriddedTile()");
|
||||
t.ok(g_Bounds.equals(b), "if tiles not drastically out of bounds, we call moveGriddedTile() with correct bounds");
|
||||
});
|
||||
|
||||
// drastic pan
|
||||
clearTestBounds();
|
||||
tilesBounds = new OpenLayers.Bounds(-150,-150,-120,-120);
|
||||
layer.moveTo(null, zoomChanged);
|
||||
t.ok(g_WhichFunc == "InitGridded", "if tiles drastically out of bounds, we call initGriddedTile()");
|
||||
t.ok(g_Bounds.equals(b), "if tiles drastically out of bounds, we call initGriddedTile() with correct bounds");
|
||||
|
||||
}
|
||||
|
||||
/** THIS WOULD BE WHERE THE TESTS WOULD GO FOR
|
||||
|
||||
Reference in New Issue
Block a user