Merge pull request #8042 from ahocevar/only-loaded-tiles
Only process loaded tiles
This commit is contained in:
@@ -176,7 +176,7 @@ CanvasVectorTileLayerRenderer.prototype.createReplayGroup_ = function(tile, fram
|
|||||||
const zIndexKeys = {};
|
const zIndexKeys = {};
|
||||||
for (let t = 0, tt = tile.tileKeys.length; t < tt; ++t) {
|
for (let t = 0, tt = tile.tileKeys.length; t < tt; ++t) {
|
||||||
const sourceTile = tile.getTile(tile.tileKeys[t]);
|
const sourceTile = tile.getTile(tile.tileKeys[t]);
|
||||||
if (sourceTile.getState() == TileState.ERROR) {
|
if (sourceTile.getState() != TileState.LOADED) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -286,7 +286,7 @@ CanvasVectorTileLayerRenderer.prototype.forEachFeatureAtCoordinate = function(co
|
|||||||
}
|
}
|
||||||
for (let t = 0, tt = tile.tileKeys.length; t < tt; ++t) {
|
for (let t = 0, tt = tile.tileKeys.length; t < tt; ++t) {
|
||||||
const sourceTile = tile.getTile(tile.tileKeys[t]);
|
const sourceTile = tile.getTile(tile.tileKeys[t]);
|
||||||
if (sourceTile.getState() == TileState.ERROR) {
|
if (sourceTile.getState() != TileState.LOADED) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
replayGroup = sourceTile.getReplayGroup(layer, tile.tileCoord.toString());
|
replayGroup = sourceTile.getReplayGroup(layer, tile.tileCoord.toString());
|
||||||
@@ -395,7 +395,7 @@ CanvasVectorTileLayerRenderer.prototype.postCompose = function(context, frameSta
|
|||||||
let transform = undefined;
|
let transform = undefined;
|
||||||
for (let t = 0, tt = tile.tileKeys.length; t < tt; ++t) {
|
for (let t = 0, tt = tile.tileKeys.length; t < tt; ++t) {
|
||||||
const sourceTile = tile.getTile(tile.tileKeys[t]);
|
const sourceTile = tile.getTile(tile.tileKeys[t]);
|
||||||
if (sourceTile.getState() == TileState.ERROR) {
|
if (sourceTile.getState() != TileState.LOADED) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const replayGroup = sourceTile.getReplayGroup(layer, tileCoord.toString());
|
const replayGroup = sourceTile.getReplayGroup(layer, tileCoord.toString());
|
||||||
@@ -500,7 +500,7 @@ CanvasVectorTileLayerRenderer.prototype.renderTileImage_ = function(
|
|||||||
const tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent);
|
const tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent);
|
||||||
for (let i = 0, ii = tile.tileKeys.length; i < ii; ++i) {
|
for (let i = 0, ii = tile.tileKeys.length; i < ii; ++i) {
|
||||||
const sourceTile = tile.getTile(tile.tileKeys[i]);
|
const sourceTile = tile.getTile(tile.tileKeys[i]);
|
||||||
if (sourceTile.getState() == TileState.ERROR) {
|
if (sourceTile.getState() != TileState.LOADED) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const pixelScale = pixelRatio / resolution;
|
const pixelScale = pixelRatio / resolution;
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
|||||||
feature2.setStyle(featureStyle);
|
feature2.setStyle(featureStyle);
|
||||||
const TileClass = function() {
|
const TileClass = function() {
|
||||||
VectorTile.apply(this, arguments);
|
VectorTile.apply(this, arguments);
|
||||||
this.setState('loaded');
|
this.setState(TileState.LOADED);
|
||||||
this.setFeatures([feature1, feature2, feature3]);
|
this.setFeatures([feature1, feature2, feature3]);
|
||||||
this.setProjection(getProjection('EPSG:4326'));
|
this.setProjection(getProjection('EPSG:4326'));
|
||||||
tileCallback(this);
|
tileCallback(this);
|
||||||
@@ -292,8 +292,9 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
|||||||
let layer, renderer, replayGroup;
|
let layer, renderer, replayGroup;
|
||||||
const TileClass = function() {
|
const TileClass = function() {
|
||||||
VectorImageTile.apply(this, arguments);
|
VectorImageTile.apply(this, arguments);
|
||||||
this.setState('loaded');
|
this.setState(TileState.LOADED);
|
||||||
const sourceTile = new VectorTile([0, 0, 0]);
|
const sourceTile = new VectorTile([0, 0, 0]);
|
||||||
|
sourceTile.setState(TileState.LOADED);
|
||||||
sourceTile.setProjection(getProjection('EPSG:3857'));
|
sourceTile.setProjection(getProjection('EPSG:3857'));
|
||||||
sourceTile.getReplayGroup = function() {
|
sourceTile.getReplayGroup = function() {
|
||||||
return replayGroup;
|
return replayGroup;
|
||||||
|
|||||||
Reference in New Issue
Block a user