[ol.layer.XYZ] a tiling fix
This commit is contained in:
@@ -130,26 +130,22 @@ ol.layer.XYZ.prototype.getData = function(bounds, resolution) {
|
|||||||
offsetY = Math.floor(
|
offsetY = Math.floor(
|
||||||
(tileOriginY - boundsMaxY) / tileHeightGeo),
|
(tileOriginY - boundsMaxY) / tileHeightGeo),
|
||||||
|
|
||||||
gridWidth = Math.ceil(
|
gridLeft = tileOriginX + tileWidthGeo * offsetX,
|
||||||
(boundsMaxX - boundsMinX) / tileWidthGeo),
|
gridTop = tileOriginY - tileHeightGeo * offsetY;
|
||||||
gridHeight = Math.ceil(
|
|
||||||
(boundsMaxY - boundsMinY) / tileHeightGeo);
|
|
||||||
|
|
||||||
var tiles = [],
|
var tiles = [], tile, url, i = 0, j;
|
||||||
tile,
|
while (gridTop - (i * tileHeightGeo) > boundsMinY) {
|
||||||
url,
|
|
||||||
i, ii,
|
|
||||||
j, jj;
|
|
||||||
|
|
||||||
for (i=0, ii=gridWidth; i<ii; i++) {
|
|
||||||
tiles[i] = [];
|
tiles[i] = [];
|
||||||
for (j=0, jj=gridHeight; j<jj; j++) {
|
j = 0;
|
||||||
|
while (gridLeft + (j * tileWidthGeo) < boundsMaxX) {
|
||||||
url = me.url_.replace('{x}', offsetX + i + '')
|
url = me.url_.replace('{x}', offsetX + i + '')
|
||||||
.replace('{y}', offsetY + j + '')
|
.replace('{y}', offsetY + j + '')
|
||||||
.replace('{z}', zoom);
|
.replace('{z}', zoom);
|
||||||
tile = new ol.Tile(url);
|
tile = new ol.Tile(url);
|
||||||
tiles[i][j] = tile;
|
tiles[i][j] = tile;
|
||||||
|
j++;
|
||||||
}
|
}
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ol.TileSet(tiles, tileWidth, tileHeight, resolution);
|
return new ol.TileSet(tiles, tileWidth, tileHeight, resolution);
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ describe('ol.layer.XYZ', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
|
||||||
describe('extent -64,-64,64,64, resolution 0.5', function() {
|
describe('extent -64,-64,64,64, resolution 0.5', function() {
|
||||||
|
|
||||||
it('returns the expected data', function() {
|
it('returns the expected data', function() {
|
||||||
@@ -94,6 +93,6 @@ describe('ol.layer.XYZ', function() {
|
|||||||
expect(tile.getImg()).toBeDefined();
|
expect(tile.getImg()).toBeDefined();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
*/
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user