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 {
|
} 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) {
|
if(resolution !== serverResolution) {
|
||||||
bounds = this.map.calculateBounds(null, serverResolution);
|
bounds = this.map.calculateBounds(null, serverResolution);
|
||||||
if(forceReTile) {
|
if(forceReTile) {
|
||||||
|
|||||||
@@ -169,7 +169,7 @@
|
|||||||
|
|
||||||
function test_Layer_Grid_moveTo(t) {
|
function test_Layer_Grid_moveTo(t) {
|
||||||
|
|
||||||
t.plan(12);
|
t.plan(14);
|
||||||
|
|
||||||
var map = new OpenLayers.Map('map');
|
var map = new OpenLayers.Map('map');
|
||||||
layer = new OpenLayers.Layer.WMS(name, url, params);
|
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_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");
|
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
|
/** THIS WOULD BE WHERE THE TESTS WOULD GO FOR
|
||||||
|
|||||||
Reference in New Issue
Block a user