Skip to content

Commit 2c3ed38

Browse files
committed
Fix for reprojecting opaque tile sources
1 parent 5504916 commit 2c3ed38

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

src/ol/renderer/canvas/canvastilelayerrenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
365365
/** @type {Array.<number>} */
366366
var zs = Object.keys(tilesToDrawByZ).map(Number);
367367
zs.sort(ol.array.numberSafeCompareFunction);
368-
var opaque = tileSource.getOpaque();
368+
var opaque = tileSource.getOpaque(projection);
369369
var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent(
370370
[z, canvasTileRange.minX, canvasTileRange.maxY],
371371
tmpExtent));

src/ol/source/tileimagesource.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,20 @@ ol.source.TileImage.prototype.expireCache = function(projection, usedTiles) {
120120
};
121121

122122

123+
/**
124+
* @inheritDoc
125+
*/
126+
ol.source.TileImage.prototype.getOpaque = function(projection) {
127+
if (ol.ENABLE_RASTER_REPROJECTION &&
128+
this.getProjection() && projection &&
129+
!ol.proj.equivalent(this.getProjection(), projection)) {
130+
return false;
131+
} else {
132+
return goog.base(this, 'getOpaque', projection);
133+
}
134+
};
135+
136+
123137
/**
124138
* @inheritDoc
125139
*/

src/ol/source/tilesource.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,10 @@ ol.source.Tile.prototype.getKeyZXY = ol.tilecoord.getKeyZXY;
178178

179179

180180
/**
181+
* @param {ol.proj.Projection} projection
181182
* @return {boolean} Opaque.
182183
*/
183-
ol.source.Tile.prototype.getOpaque = function() {
184+
ol.source.Tile.prototype.getOpaque = function(projection) {
184185
return this.opaque_;
185186
};
186187

0 commit comments

Comments
 (0)