Tidy up ol.source.Zoomify tile grid calculations
This commit is contained in:
@@ -25,40 +25,32 @@ ol.source.Zoomify = function(opt_options) {
|
|||||||
var options = goog.isDef(opt_options) ? opt_options : {};
|
var options = goog.isDef(opt_options) ? opt_options : {};
|
||||||
|
|
||||||
var size = options.size;
|
var size = options.size;
|
||||||
|
var imageWidth = size[0];
|
||||||
|
var imageHeight = size[1];
|
||||||
|
|
||||||
var imageSize = size.slice();
|
var tierSizeInTiles = [];
|
||||||
var tiles = [
|
var tileSize = ol.DEFAULT_TILE_SIZE;
|
||||||
Math.ceil(imageSize[0] / ol.DEFAULT_TILE_SIZE),
|
while (imageWidth > tileSize || imageHeight > tileSize) {
|
||||||
Math.ceil(imageSize[1] / ol.DEFAULT_TILE_SIZE)
|
tierSizeInTiles.push([
|
||||||
];
|
Math.ceil(imageWidth / tileSize),
|
||||||
var tierSizeInTiles = [tiles];
|
Math.ceil(imageHeight / tileSize)
|
||||||
|
]);
|
||||||
while (imageSize[0] > ol.DEFAULT_TILE_SIZE ||
|
tileSize += tileSize;
|
||||||
imageSize[1] > ol.DEFAULT_TILE_SIZE) {
|
|
||||||
|
|
||||||
imageSize = [
|
|
||||||
Math.floor(imageSize[0] / 2),
|
|
||||||
Math.floor(imageSize[1] / 2)
|
|
||||||
];
|
|
||||||
tiles = [
|
|
||||||
Math.ceil(imageSize[0] / ol.DEFAULT_TILE_SIZE),
|
|
||||||
Math.ceil(imageSize[1] / ol.DEFAULT_TILE_SIZE)
|
|
||||||
];
|
|
||||||
tierSizeInTiles.push(tiles);
|
|
||||||
}
|
}
|
||||||
|
tierSizeInTiles.push([1, 1]);
|
||||||
tierSizeInTiles.reverse();
|
tierSizeInTiles.reverse();
|
||||||
var numberOfTiers = tierSizeInTiles.length;
|
|
||||||
var resolutions = [1];
|
var resolutions = [1];
|
||||||
var tileCountUpToTier = [0];
|
var tileCountUpToTier = [0];
|
||||||
var i;
|
var i, ii;
|
||||||
for (i = 1; i < numberOfTiers; i++) {
|
for (i = 1, ii = tierSizeInTiles.length; i < ii; i++) {
|
||||||
resolutions.unshift(Math.pow(2, i));
|
resolutions.push(1 << i);
|
||||||
tileCountUpToTier.push(
|
tileCountUpToTier.push(
|
||||||
tierSizeInTiles[i - 1][0] * tierSizeInTiles[i - 1][1] +
|
tierSizeInTiles[i - 1][0] * tierSizeInTiles[i - 1][1] +
|
||||||
tileCountUpToTier[i - 1]
|
tileCountUpToTier[i - 1]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
resolutions.reverse();
|
||||||
|
|
||||||
var createFromUrl = function(url) {
|
var createFromUrl = function(url) {
|
||||||
var template = url + '{tileIndex}/{z}-{x}-{y}.jpg';
|
var template = url + '{tileIndex}/{z}-{x}-{y}.jpg';
|
||||||
|
|||||||
Reference in New Issue
Block a user