Use tile keys instead of coord keys
This change ensures that tiles with old params or dimensions are discarded
This commit is contained in:
+1
-2
@@ -937,8 +937,7 @@ ol.Map.prototype.getTilePriority = function(tile, tileSourceKey, tileCenter, til
|
|||||||
if (!frameState || !(tileSourceKey in frameState.wantedTiles)) {
|
if (!frameState || !(tileSourceKey in frameState.wantedTiles)) {
|
||||||
return ol.structs.PriorityQueue.DROP;
|
return ol.structs.PriorityQueue.DROP;
|
||||||
}
|
}
|
||||||
var coordKey = tile.tileCoord.toString();
|
if (!frameState.wantedTiles[tileSourceKey][tile.getKey()]) {
|
||||||
if (!frameState.wantedTiles[tileSourceKey][coordKey]) {
|
|
||||||
return ol.structs.PriorityQueue.DROP;
|
return ol.structs.PriorityQueue.DROP;
|
||||||
}
|
}
|
||||||
// Prioritize the highest zoom level tiles closest to the focus.
|
// Prioritize the highest zoom level tiles closest to the focus.
|
||||||
|
|||||||
@@ -311,7 +311,7 @@ ol.renderer.Layer.prototype.manageTilePyramid = function(
|
|||||||
if (currentZ - z <= preload) {
|
if (currentZ - z <= preload) {
|
||||||
tile = tileSource.getTile(z, x, y, pixelRatio, projection);
|
tile = tileSource.getTile(z, x, y, pixelRatio, projection);
|
||||||
if (tile.getState() == ol.TileState.IDLE) {
|
if (tile.getState() == ol.TileState.IDLE) {
|
||||||
wantedTiles[tile.tileCoord.toString()] = true;
|
wantedTiles[tile.getKey()] = true;
|
||||||
if (!tileQueue.isKeyQueued(tile.getKey())) {
|
if (!tileQueue.isKeyQueued(tile.getKey())) {
|
||||||
tileQueue.enqueue([tile, tileSourceKey,
|
tileQueue.enqueue([tile, tileSourceKey,
|
||||||
tileGrid.getTileCoordCenter(tile.tileCoord), tileResolution]);
|
tileGrid.getTileCoordCenter(tile.tileCoord), tileResolution]);
|
||||||
|
|||||||
+1
-1
@@ -84,7 +84,7 @@ ol.Tile.prototype.getImage = goog.abstractMethod;
|
|||||||
* @return {string} Key.
|
* @return {string} Key.
|
||||||
*/
|
*/
|
||||||
ol.Tile.prototype.getKey = function() {
|
ol.Tile.prototype.getKey = function() {
|
||||||
return goog.getUid(this).toString();
|
return this.key + '/' + this.tileCoord;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user