Make tile range calculation work with arbitrary origins

This commit is contained in:
Andreas Hocevar
2015-06-18 09:48:32 +02:00
parent a753d282cc
commit 31cfa0d952
+4 -9
View File
@@ -492,15 +492,10 @@ ol.tilegrid.TileGrid.prototype.getZForResolution = function(resolution) {
* @private * @private
*/ */
ol.tilegrid.TileGrid.prototype.calculateTileRanges_ = function(extent) { ol.tilegrid.TileGrid.prototype.calculateTileRanges_ = function(extent) {
var extentWidth = ol.extent.getWidth(extent); var length = this.resolutions_.length;
var extentHeight = ol.extent.getHeight(extent); var fullTileRanges = new Array(length);
var fullTileRanges = new Array(this.resolutions_.length); for (var z = this.minZoom; z < length; ++z) {
var tileSize; fullTileRanges[z] = this.getTileRangeForExtentAndZ(extent, z);
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);
} }
this.fullTileRanges_ = fullTileRanges; this.fullTileRanges_ = fullTileRanges;
}; };