From a2c3dfd5de56069e025c8771dc10346bf5fa09ac Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Wed, 13 Apr 2016 17:18:27 +0200 Subject: [PATCH] Add a temporary ol.TileCoord in ol.renderer.canvas.TileLayer Avoid garbage creation --- src/ol/renderer/canvas/canvastilelayerrenderer.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ol/renderer/canvas/canvastilelayerrenderer.js b/src/ol/renderer/canvas/canvastilelayerrenderer.js index 983c61f3bf..34ef387313 100644 --- a/src/ol/renderer/canvas/canvastilelayerrenderer.js +++ b/src/ol/renderer/canvas/canvastilelayerrenderer.js @@ -43,6 +43,12 @@ ol.renderer.canvas.TileLayer = function(tileLayer) { */ this.tmpExtent_ = ol.extent.createEmpty(); + /** + * @private + * @type {ol.TileCoord} + */ + this.tmpTileCoord_ = [0, 0, 0]; + /** * @private * @type {!goog.vec.Mat4.Number} @@ -125,7 +131,7 @@ ol.renderer.canvas.TileLayer.prototype.composeFrame = function( // Calculate all insert points by tile widths from a common origin to avoid // gaps caused by rounding var origin = ol.extent.getBottomLeft(tileGrid.getTileCoordExtent( - tileGrid.getTileCoordForCoordAndZ(center, currentZ))); + tileGrid.getTileCoordForCoordAndZ(center, currentZ, this.tmpTileCoord_))); var w = Math.round(ol.extent.getWidth(tileExtent) * pixelScale); var h = Math.round(ol.extent.getHeight(tileExtent) * pixelScale); var left = Math.round((tileExtent[0] - origin[0]) * pixelScale / w) * w +