Merge pull request #4628 from klokantech/opaque-reprojection-fix
Fix for reprojecting opaque tile sources
This commit is contained in:
@@ -365,7 +365,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
|
||||
/** @type {Array.<number>} */
|
||||
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
||||
zs.sort(ol.array.numberSafeCompareFunction);
|
||||
var opaque = tileSource.getOpaque();
|
||||
var opaque = tileSource.getOpaque(projection);
|
||||
var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent(
|
||||
[z, canvasTileRange.minX, canvasTileRange.maxY],
|
||||
tmpExtent));
|
||||
|
||||
@@ -120,6 +120,20 @@ ol.source.TileImage.prototype.expireCache = function(projection, usedTiles) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
ol.source.TileImage.prototype.getOpaque = function(projection) {
|
||||
if (ol.ENABLE_RASTER_REPROJECTION &&
|
||||
this.getProjection() && projection &&
|
||||
!ol.proj.equivalent(this.getProjection(), projection)) {
|
||||
return false;
|
||||
} else {
|
||||
return goog.base(this, 'getOpaque', projection);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
|
||||
@@ -178,9 +178,10 @@ ol.source.Tile.prototype.getKeyZXY = ol.tilecoord.getKeyZXY;
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.proj.Projection} projection
|
||||
* @return {boolean} Opaque.
|
||||
*/
|
||||
ol.source.Tile.prototype.getOpaque = function() {
|
||||
ol.source.Tile.prototype.getOpaque = function(projection) {
|
||||
return this.opaque_;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user