diff --git a/src/ol/renderer/canvas/canvasimagelayerrenderer.js b/src/ol/renderer/canvas/canvasimagelayerrenderer.js index c223d84f1c..290f641a1d 100644 --- a/src/ol/renderer/canvas/canvasimagelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasimagelayerrenderer.js @@ -108,8 +108,14 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] && !ol.extent.isEmpty(renderedExtent)) { + var projection = viewState.projection; + var sourceProjection = imageSource.getProjection() + if (goog.isDefAndNotNull(sourceProjection)) { + goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); + projection = sourceProjection; + } image = imageSource.getImage( - renderedExtent, viewResolution, pixelRatio, viewState.projection); + renderedExtent, viewResolution, pixelRatio, projection); if (!goog.isNull(image)) { var imageState = image.getState(); if (imageState == ol.ImageState.IDLE) { diff --git a/src/ol/renderer/dom/domimagelayerrenderer.js b/src/ol/renderer/dom/domimagelayerrenderer.js index ce2ca367c7..5cd126f67c 100644 --- a/src/ol/renderer/dom/domimagelayerrenderer.js +++ b/src/ol/renderer/dom/domimagelayerrenderer.js @@ -104,8 +104,14 @@ ol.renderer.dom.ImageLayer.prototype.prepareFrame = if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] && !ol.extent.isEmpty(renderedExtent)) { + var projection = viewState.projection; + var sourceProjection = imageSource.getProjection() + if (goog.isDefAndNotNull(sourceProjection)) { + goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); + projection = sourceProjection; + } var image_ = imageSource.getImage(renderedExtent, viewResolution, - frameState.pixelRatio, viewState.projection); + frameState.pixelRatio, projection); if (!goog.isNull(image_)) { var imageState = image_.getState(); if (imageState == ol.ImageState.IDLE) { diff --git a/src/ol/renderer/webgl/webglimagelayerrenderer.js b/src/ol/renderer/webgl/webglimagelayerrenderer.js index 8579d2cc9c..39df83f58d 100644 --- a/src/ol/renderer/webgl/webglimagelayerrenderer.js +++ b/src/ol/renderer/webgl/webglimagelayerrenderer.js @@ -124,8 +124,14 @@ ol.renderer.webgl.ImageLayer.prototype.prepareFrame = } if (!hints[ol.ViewHint.ANIMATING] && !hints[ol.ViewHint.INTERACTING] && !ol.extent.isEmpty(renderedExtent)) { + var projection = viewState.projection; + var sourceProjection = imageSource.getProjection() + if (goog.isDefAndNotNull(sourceProjection)) { + goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection)); + projection = sourceProjection; + } var image_ = imageSource.getImage(renderedExtent, viewResolution, - frameState.pixelRatio, viewState.projection); + frameState.pixelRatio, projection); if (!goog.isNull(image_)) { var imageState = image_.getState(); if (imageState == ol.ImageState.IDLE) {