Merge pull request #9286 from ahocevar/interim-transition
Disable transition when an interim tile is available
This commit is contained in:
@@ -170,6 +170,9 @@ class Tile extends EventTarget {
|
|||||||
// cleaned up by refreshInterimChain)
|
// cleaned up by refreshInterimChain)
|
||||||
do {
|
do {
|
||||||
if (tile.getState() == TileState.LOADED) {
|
if (tile.getState() == TileState.LOADED) {
|
||||||
|
// Show tile immediately instead of fading it in after loading, because
|
||||||
|
// the interim tile is in place already
|
||||||
|
this.transition_ = 0;
|
||||||
return tile;
|
return tile;
|
||||||
}
|
}
|
||||||
tile = tile.interimTile;
|
tile = tile.interimTile;
|
||||||
|
|||||||
@@ -41,13 +41,18 @@ describe('ol.renderer.canvas.TileLayer', function() {
|
|||||||
document.body.removeChild(target);
|
document.body.removeChild(target);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('properly handles interim tiles', function() {
|
it('properly handles interim tiles', function(done) {
|
||||||
const layer = map.getLayers().item(0);
|
const layer = map.getLayers().item(0);
|
||||||
|
source.once('tileloadend', function(e) {
|
||||||
|
expect(e.tile.inTransition()).to.be(false);
|
||||||
|
done();
|
||||||
|
});
|
||||||
source.updateParams({TIME: '1'});
|
source.updateParams({TIME: '1'});
|
||||||
map.renderSync();
|
map.renderSync();
|
||||||
const tiles = map.getRenderer().getLayerRenderer(layer).renderedTiles;
|
const tiles = map.getRenderer().getLayerRenderer(layer).renderedTiles;
|
||||||
expect(tiles.length).to.be(1);
|
expect(tiles.length).to.be(1);
|
||||||
expect(tiles[0]).to.equal(tile);
|
expect(tiles[0]).to.equal(tile);
|
||||||
|
expect(tile.inTransition()).to.be(true);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user