From 31cfa0d9526a9e7b74d9c4bde8b59409caccd4b9 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Thu, 18 Jun 2015 09:48:32 +0200 Subject: [PATCH] Make tile range calculation work with arbitrary origins --- src/ol/tilegrid/tilegrid.js | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/ol/tilegrid/tilegrid.js b/src/ol/tilegrid/tilegrid.js index fa64282323..16318df216 100644 --- a/src/ol/tilegrid/tilegrid.js +++ b/src/ol/tilegrid/tilegrid.js @@ -492,15 +492,10 @@ ol.tilegrid.TileGrid.prototype.getZForResolution = function(resolution) { * @private */ ol.tilegrid.TileGrid.prototype.calculateTileRanges_ = function(extent) { - var extentWidth = ol.extent.getWidth(extent); - var extentHeight = ol.extent.getHeight(extent); - var fullTileRanges = new Array(this.resolutions_.length); - var tileSize; - for (var z = 0, zz = fullTileRanges.length; z < zz; ++z) { - tileSize = ol.size.toSize(this.getTileSize(z), this.tmpSize_); - fullTileRanges[z] = new ol.TileRange( - 0, Math.ceil(extentWidth / tileSize[0] / this.resolutions_[z]) - 1, - 0, Math.ceil(extentHeight / tileSize[1] / this.resolutions_[z]) - 1); + var length = this.resolutions_.length; + var fullTileRanges = new Array(length); + for (var z = this.minZoom; z < length; ++z) { + fullTileRanges[z] = this.getTileRangeForExtentAndZ(extent, z); } this.fullTileRanges_ = fullTileRanges; };