Add ol.TileGrid.createOpenStreetMap

This commit is contained in:
Tom Payne
2012-07-09 14:22:25 +02:00
committed by Tom Payne
parent 3050268eb0
commit 10f8f1198b

View File

@@ -4,6 +4,7 @@ goog.require('goog.array');
goog.require('goog.asserts');
goog.require('goog.math.Size');
goog.require('ol.Extent');
goog.require('ol.Projection');
goog.require('ol.TileBounds');
goog.require('ol.TileCoord');
@@ -85,6 +86,28 @@ ol.TileGrid =
};
/**
* @param {number} maxZoom Maximum zoom.
* @return {ol.TileGrid} Tile grid.
*/
ol.TileGrid.createOpenStreetMap = function(maxZoom) {
var resolutions = new Array(maxZoom + 1);
var z;
for (z = 0; z <= maxZoom; ++z) {
resolutions[z] = ol.Projection.EPSG_3857_HALF_SIZE / (128 << z);
}
var extent = ol.Projection.EPSG_3857_EXTENT;
var origin = new goog.math.Coordinate(
-ol.Projection.EPSG_3857_HALF_SIZE, ol.Projection.EPSG_3857_HALF_SIZE);
var tileSize = new goog.math.Size(256, 256);
return new ol.TileGrid(resolutions, extent, origin, true, true, tileSize);
};
/**
* @param {ol.TileCoord} tileCoord Tile coordinate.
* @param {function(number, ol.TileBounds): boolean} callback Callback.