From 680b31c5e017568331818817898a43e99dfe4b31 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Tue, 9 Apr 2013 19:54:15 +0200 Subject: [PATCH] Eliminate an ol.TileCoord allocation --- src/ol/tilegrid/tilegrid.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/ol/tilegrid/tilegrid.js b/src/ol/tilegrid/tilegrid.js index 2035b1f7a4..577f6dec6a 100644 --- a/src/ol/tilegrid/tilegrid.js +++ b/src/ol/tilegrid/tilegrid.js @@ -92,6 +92,13 @@ ol.tilegrid.TileGrid = function(options) { }; +/** + * @private + * @type {ol.TileCoord} + */ +ol.tilegrid.TileGrid.tmpTileCoord_ = new ol.TileCoord(0, 0, 0); + + /** * @param {ol.TileCoord} tileCoord Tile coordinate. * @param {function(this: T, number, ol.TileRange): boolean} callback Callback. @@ -213,11 +220,12 @@ ol.tilegrid.TileGrid.prototype.getTileRangeExtent = */ ol.tilegrid.TileGrid.prototype.getTileRangeForExtentAndResolution = function(extent, resolution, opt_tileRange) { - var tileCoord = this.getTileCoordForXYAndResolution_( - extent.minX, extent.minY, resolution, false); + var tileCoord = ol.tilegrid.TileGrid.tmpTileCoord_; + this.getTileCoordForXYAndResolution_( + extent.minX, extent.minY, resolution, false, tileCoord); var minX = tileCoord.x; var minY = tileCoord.y; - tileCoord = this.getTileCoordForXYAndResolution_( + this.getTileCoordForXYAndResolution_( extent.maxX, extent.maxY, resolution, true, tileCoord); return ol.TileRange.createOrUpdate( minX, minY, tileCoord.x, tileCoord.y, opt_tileRange);