Handle aborted tiles in ol.TileQueue

This commit is contained in:
Frederic Junod
2016-03-15 17:08:39 +01:00
parent b0984070db
commit c30ecace75
3 changed files with 5 additions and 2 deletions

View File

@@ -72,6 +72,8 @@ ol.ImageTile.prototype.disposeInternal = function() {
if (this.interimTile) {
this.interimTile.dispose();
}
this.state = ol.TileState.ABORT;
this.changed();
goog.base(this, 'disposeInternal');
};

View File

@@ -15,7 +15,8 @@ ol.TileState = {
LOADING: 1,
LOADED: 2,
ERROR: 3,
EMPTY: 4
EMPTY: 4,
ABORT: 5
};

View File

@@ -95,7 +95,7 @@ ol.TileQueue.prototype.handleTileChange = function(event) {
var tile = /** @type {ol.Tile} */ (event.target);
var state = tile.getState();
if (state === ol.TileState.LOADED || state === ol.TileState.ERROR ||
state === ol.TileState.EMPTY) {
state === ol.TileState.EMPTY || state === ol.TileState.ABORT) {
ol.events.unlisten(tile, ol.events.EventType.CHANGE,
this.handleTileChange, this);
var tileKey = tile.getKey();