Eliminate an ol.TileCoord allocation

This commit is contained in:
Tom Payne
2013-04-09 19:54:15 +02:00
parent fe03ebe99c
commit 680b31c5e0
+11 -3
View File
@@ -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 {ol.TileCoord} tileCoord Tile coordinate.
* @param {function(this: T, number, ol.TileRange): boolean} callback Callback. * @param {function(this: T, number, ol.TileRange): boolean} callback Callback.
@@ -213,11 +220,12 @@ ol.tilegrid.TileGrid.prototype.getTileRangeExtent =
*/ */
ol.tilegrid.TileGrid.prototype.getTileRangeForExtentAndResolution = ol.tilegrid.TileGrid.prototype.getTileRangeForExtentAndResolution =
function(extent, resolution, opt_tileRange) { function(extent, resolution, opt_tileRange) {
var tileCoord = this.getTileCoordForXYAndResolution_( var tileCoord = ol.tilegrid.TileGrid.tmpTileCoord_;
extent.minX, extent.minY, resolution, false); this.getTileCoordForXYAndResolution_(
extent.minX, extent.minY, resolution, false, tileCoord);
var minX = tileCoord.x; var minX = tileCoord.x;
var minY = tileCoord.y; var minY = tileCoord.y;
tileCoord = this.getTileCoordForXYAndResolution_( this.getTileCoordForXYAndResolution_(
extent.maxX, extent.maxY, resolution, true, tileCoord); extent.maxX, extent.maxY, resolution, true, tileCoord);
return ol.TileRange.createOrUpdate( return ol.TileRange.createOrUpdate(
minX, minY, tileCoord.x, tileCoord.y, opt_tileRange); minX, minY, tileCoord.x, tileCoord.y, opt_tileRange);