Merge pull request #2987 from kartverket/2966

Image layer renderers use source projection if given and equivalent
This commit is contained in:
Andreas Hocevar
2014-12-01 13:06:42 +01:00
3 changed files with 24 additions and 3 deletions
@@ -9,6 +9,7 @@ goog.require('ol.ImageState');
goog.require('ol.ViewHint');
goog.require('ol.extent');
goog.require('ol.layer.Image');
goog.require('ol.proj');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.canvas.Layer');
goog.require('ol.vec.Mat4');
@@ -108,8 +109,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.isNull(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) {