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>} */
|
/** @type {Array.<number>} */
|
||||||
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
||||||
zs.sort(ol.array.numberSafeCompareFunction);
|
zs.sort(ol.array.numberSafeCompareFunction);
|
||||||
var opaque = tileSource.getOpaque();
|
var opaque = tileSource.getOpaque(projection);
|
||||||
var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent(
|
var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent(
|
||||||
[z, canvasTileRange.minX, canvasTileRange.maxY],
|
[z, canvasTileRange.minX, canvasTileRange.maxY],
|
||||||
tmpExtent));
|
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
|
* @inheritDoc
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -178,9 +178,10 @@ ol.source.Tile.prototype.getKeyZXY = ol.tilecoord.getKeyZXY;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param {ol.proj.Projection} projection
|
||||||
* @return {boolean} Opaque.
|
* @return {boolean} Opaque.
|
||||||
*/
|
*/
|
||||||
ol.source.Tile.prototype.getOpaque = function() {
|
ol.source.Tile.prototype.getOpaque = function(projection) {
|
||||||
return this.opaque_;
|
return this.opaque_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user