diff --git a/src/objectliterals.exports b/src/objectliterals.exports index 2e348ad82d..c90a6c0a85 100644 --- a/src/objectliterals.exports +++ b/src/objectliterals.exports @@ -157,6 +157,14 @@ @exportObjectLiteralProperty ol.tilegrid.TileGridOptions.tileSize ol.Size|undefined @exportObjectLiteralProperty ol.tilegrid.TileGridOptions.tileSizes Array.|undefined +@exportObjectLiteral ol.tilegrid.WMTSOptions +@exportObjectLiteralProperty ol.tilegrid.WMTSOptions.origin ol.Coordinate|undefined +@exportObjectLiteralProperty ol.tilegrid.WMTSOptions.origins Array.|undefined +@exportObjectLiteralProperty ol.tilegrid.WMTSOptions.resolutions !Array. +@exportObjectLiteralProperty ol.tilegrid.WMTSOptions.matrixIds !Array. +@exportObjectLiteralProperty ol.tilegrid.WMTSOptions.tileSize ol.Size|undefined +@exportObjectLiteralProperty ol.tilegrid.WMTSOptions.tileSizes Array.|undefined + @exportObjectLiteral ol.tilegrid.XYZOptions @exportObjectLiteralProperty ol.tilegrid.XYZOptions.maxZoom number diff --git a/src/ol/tilegrid/wmtstilegrid.exports b/src/ol/tilegrid/wmtstilegrid.exports new file mode 100644 index 0000000000..bf723f3d17 --- /dev/null +++ b/src/ol/tilegrid/wmtstilegrid.exports @@ -0,0 +1 @@ +@exportClass ol.tilegrid.WMTS ol.tilegrid.WMTSOptions diff --git a/src/ol/tilegrid/wmtstilegrid.js b/src/ol/tilegrid/wmtstilegrid.js new file mode 100644 index 0000000000..81f2c01adf --- /dev/null +++ b/src/ol/tilegrid/wmtstilegrid.js @@ -0,0 +1,53 @@ +goog.provide('ol.tilegrid.WMTS'); + +goog.require('ol.Size'); +goog.require('ol.projection'); +goog.require('ol.tilegrid.TileGrid'); + + + +/** + * @constructor + * @extends {ol.tilegrid.TileGrid} + * @param {ol.tilegrid.WMTSOptions} wmtsOptions WMTS options. + */ +ol.tilegrid.WMTS = function(wmtsOptions) { + + goog.asserts.assert( + wmtsOptions.resolutions.length == wmtsOptions.matrixIds.length); + + /** + * @private + * @type {!Array.} + */ + this.matrixIds_ = wmtsOptions.matrixIds; + // FIXME: should the matrixIds become optionnal? + + goog.base(this, { + origin: wmtsOptions.origin, + origins: wmtsOptions.origins, + resolutions: wmtsOptions.resolutions, + tileSize: wmtsOptions.tileSize, + tileSizes: wmtsOptions.tileSizes + }); + +}; +goog.inherits(ol.tilegrid.WMTS, ol.tilegrid.TileGrid); + + +/** + * @param {number} z Z. + * @return {string} MatrixId.. + */ +ol.tilegrid.WMTS.prototype.getMatrixId = function(z) { + goog.asserts.assert(0 <= z && z < this.matrixIds_.length); + return this.matrixIds_[z]; +}; + + +/** + * @return {Array.} MatrixIds. + */ +ol.tilegrid.WMTS.prototype.getMatrixIds = function() { + return this.matrixIds_; +};