From 10f8f1198b55bc48fb809ea53b77247a81695576 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Mon, 9 Jul 2012 14:22:25 +0200 Subject: [PATCH] Add ol.TileGrid.createOpenStreetMap --- src/ol/tilegrid.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/ol/tilegrid.js b/src/ol/tilegrid.js index fe29122c81..6df3de6ce2 100644 --- a/src/ol/tilegrid.js +++ b/src/ol/tilegrid.js @@ -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.