OpenLayers.Layer.WMTS
Instances of the WMTS class allow viewing of tiles from a service that implements the OGC WMTS specification version 1.0.0.
Inherits from
isBaseLayer
{Boolean} The layer will be considered a base layer. Default is true.
version
{String} WMTS version. Default is “1.0.0”.
requestEncoding
{String} Request encoding. Can be “REST” or “KVP”. Default is “KVP”.
url
{String|Array(String)} The base URL or request URL template for the WMTS service. Must be provided. Array is only supported for base URLs, not for request URL templates. URL templates are only supported for REST requestEncoding.
layer
{String} The layer identifier advertised by the WMTS service. Must be provided.
matrixSet
{String} One of the advertised matrix set identifiers. Must be provided.
style
{String} One of the advertised layer styles. Must be provided.
format
{String} The image MIME type. Default is “image/jpeg”.
tileOrigin
{OpenLayers.LonLat} The top-left corner of the tile matrix in map units. If the tile origin for each matrix in a set is different, the matrixIds should include a topLeftCorner property. If not provided, the tile origin will default to the top left corner of the layer maxExtent.
formatSuffix
{String} For REST request encoding, an image format suffix must be included in the request. If not provided, the suffix will be derived from the format property.
matrixIds
{Array} A list of tile matrix identifiers. If not provided, the matrix identifiers will be assumed to be integers corresponding to the map zoom level. If a list of strings is provided, each item should be the matrix identifier that corresponds to the map zoom level. Additionally, a list of objects can be provided. Each object should describe the matrix as presented in the WMTS capabilities. These objects should have the propertes shown below.
Matrix properties
identifier | {String} The matrix identifier (required). |
topLeftCorner | {OpenLayers.LonLat} The top left corner of the matrix. Must be provided if different than the layer tileOrigin. |
tileWidth | {Number} The tile width for the matrix. Must be provided if different than the width given in the layer tileSize. |
tileHeight | {Number} The tile height for the matrix. Must be provided if different than the height given in the layer tileSize. |
dimensions
{Array} For RESTful request encoding, extra dimensions may be specified. Items in this list should be property names in the params object. Values of extra dimensions will be determined from the corresponding values in the params object.
params
{Object} Extra parameters to include in tile requests. For KVP requestEncoding, these properties will be encoded in the request query string. For REST requestEncoding, these properties will become part of the request path, with order determined by the dimensions list.
zoomOffset
{Number} If your cache has more levels than you want to provide access to with this layer, supply a zoomOffset. This zoom offset is added to the current map zoom level to determine the level for a requested tile. For example, if you supply a zoomOffset of 3, when the map is at the zoom 0, tiles will be requested from level 3 of your cache. Default is 0 (assumes cache level and map zoom are equivalent). Additionally, if this layer is to be used as an overlay and the cache has fewer zoom levels than the base layer, you can supply a negative zoomOffset. For example, if a map zoom level of 1 corresponds to your cache level zero, you would supply a -1 zoomOffset (and set the maxResolution of the layer appropriately). The zoomOffset value has no effect if complete matrix definitions (including scaleDenominator) are supplied in the matrixIds property. Defaults to 0 (no zoom offset).
serverResolutions
{Array} A list of all resolutions available on the server. Only set this property if the map resolutions differ from the server. This property serves two purposes. (a) serverResolutions can include resolutions that the server supports and that you don’t want to provide with this layer; you can also look at zoomOffset, which is an alternative to serverResolutions for that specific purpose. (b) The map can work with resolutions that aren’t supported by the server, i.e. that aren’t in serverResolutions. When the map is displayed in such a resolution data for the closest server-supported resolution is loaded and the layer div is stretched as necessary.
formatSuffixMap
{Object} a map between WMTS ‘format’ request parameter and tile image file suffix
matrix
{Object} Matrix definition for the current map resolution. Updated by the updateMatrixProperties method.
OpenLayers.Layer.WMTS
Create a new WMTS layer.
Example
var wmts = new OpenLayers.Layer.WMTS({
name: "My WMTS Layer",
url: "http://example.com/wmts",
layer: "layer_id",
style: "default",
matrixSet: "matrix_id"
});
Parameters
config | {Object} Configuration properties for the layer. |
Required configuration properties
url | {String} The base url for the service. See the url property. |
layer | {String} The layer identifier. See the layer property. |
style | {String} The layer style identifier. See the style property. |
matrixSet | {String} The tile matrix set identifier. See the matrixSet property. |
Any other documented layer properties can be provided in the config object.
updateMatrixProperties
updateMatrixProperties: function() |
Called when map resolution changes to update matrix related properties.
moveTo
moveTo:function( | bounds, | | zoomChanged, | | dragging | ) |
|
Parameters
bounds | {OpenLayers.Bounds} |
zoomChanged | {Boolean} Tells when zoom has changed, as layers have to do some init work in that case. |
dragging | {Boolean} |
getIdentifier
getIdentifier: function() |
Get the current index in the matrixIds array.
getMatrix
Get the appropriate matrix definition for the current map resolution.
getTileInfo
getTileInfo: function( | loc | ) |
|
Get tile information for a given location at the current map resolution.
Parameters
loc | {<OpenLayers.LonLat} A location in map coordinates. |
Returns
{Object} An object with “col”, “row”, “i”, and “j” properties. The col and row values are zero based tile indexes from the top left. The i and j values are the number of pixels to the left and top (respectively) of the given location within the target tile.
getURL
Parameters
Returns
{String} A URL for the tile corresponding to the given bounds.
mergeNewParams
mergeNewParams: function( | newParams | ) |
|
Extend the existing layer params with new properties. Tiles will be reloaded with updated params in the request.
Parameters
newParams | {Object} Properties to extend to existing params. |