diff --git a/src/ol/renderer/dom/domtilelayerrenderer.js b/src/ol/renderer/dom/domtilelayerrenderer.js index bb37352bd8..ed81826fe0 100644 --- a/src/ol/renderer/dom/domtilelayerrenderer.js +++ b/src/ol/renderer/dom/domtilelayerrenderer.js @@ -21,6 +21,7 @@ goog.require('ol.extent'); goog.require('ol.layer.Tile'); goog.require('ol.renderer.dom.Layer'); goog.require('ol.tilegrid.TileGrid'); +goog.require('ol.vec.Mat4'); @@ -207,17 +208,13 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame = } resolution = tileLayerZ.getResolution(); origin = tileLayerZ.getOrigin(); - goog.vec.Mat4.makeIdentity(transform); - goog.vec.Mat4.translate( - transform, frameState.size[0] / 2, frameState.size[1] / 2, 0); - goog.vec.Mat4.rotateZ(transform, view2DState.rotation); - goog.vec.Mat4.scale(transform, resolution / view2DState.resolution, - resolution / view2DState.resolution, 1); - goog.vec.Mat4.translate( - transform, + ol.vec.Mat4.makeTransform2D(transform, + frameState.size[0] / 2, frameState.size[1] / 2, + resolution / view2DState.resolution, + resolution / view2DState.resolution, + view2DState.rotation, (origin[0] - center[0]) / resolution, - (center[1] - origin[1]) / resolution, - 0); + (center[1] - origin[1]) / resolution); tileLayerZ.setTransform(transform); if (tileLayerZKey in newTileLayerZKeys) { for (j = tileLayerZKey - 1; j >= 0; --j) {