76 lines
2.0 KiB
JavaScript
76 lines
2.0 KiB
JavaScript
goog.require('goog.testing.jsunit');
|
|
goog.require('ol.Coordinate');
|
|
goog.require('ol.TileCoord');
|
|
goog.require('ol.tilestore.createXYZ');
|
|
|
|
|
|
function testXYZ() {
|
|
|
|
var tileStore = ol.tilestore.createXYZ(6, ['{z}/{x}/{y}']);
|
|
var tileGrid = tileStore.getTileGrid();
|
|
|
|
var coordinate = new ol.Coordinate(829330.2064098881, 5933916.615134273);
|
|
var tileUrl;
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(
|
|
tileGrid.getTileCoordForCoordAndZ(coordinate, 0));
|
|
assertEquals('0/0/0', tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(
|
|
tileGrid.getTileCoordForCoordAndZ(coordinate, 1));
|
|
assertEquals('1/1/0', tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(
|
|
tileGrid.getTileCoordForCoordAndZ(coordinate, 2));
|
|
assertEquals('2/2/1', tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(
|
|
tileGrid.getTileCoordForCoordAndZ(coordinate, 3));
|
|
assertEquals('3/4/2', tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(
|
|
tileGrid.getTileCoordForCoordAndZ(coordinate, 4));
|
|
assertEquals('4/8/5', tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(
|
|
tileGrid.getTileCoordForCoordAndZ(coordinate, 5));
|
|
assertEquals('5/16/11', tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(
|
|
tileGrid.getTileCoordForCoordAndZ(coordinate, 6));
|
|
assertEquals('6/33/22', tileUrl);
|
|
|
|
}
|
|
|
|
|
|
function testXYZWrapX() {
|
|
|
|
var tileStore = ol.tilestore.createXYZ(6, ['{z}/{x}/{y}']);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(new ol.TileCoord(6, -31, -23));
|
|
assertEquals('6/33/22', tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(new ol.TileCoord(6, 33, -23));
|
|
assertEquals('6/33/22', tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(new ol.TileCoord(6, 97, -23));
|
|
assertEquals('6/33/22', tileUrl);
|
|
|
|
}
|
|
|
|
|
|
function testXYZCropY() {
|
|
|
|
var tileStore = ol.tilestore.createXYZ(6, ['{z}/{x}/{y}']);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(new ol.TileCoord(6, 33, -87));
|
|
assertUndefined(tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(new ol.TileCoord(6, 33, -23));
|
|
assertEquals('6/33/22', tileUrl);
|
|
|
|
tileUrl = tileStore.getTileCoordUrl(new ol.TileCoord(6, 33, 41));
|
|
assertUndefined(tileUrl);
|
|
|
|
}
|