From 08712b287466b47d4d4d6b39c17c920a20f7d6c3 Mon Sep 17 00:00:00 2001 From: sp13adt Date: Tue, 13 Dec 2016 10:37:11 +0200 Subject: [PATCH] Matrix & Res able to use options from config --- .../map/openlayers/plugins/WMTSLayer.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/web/client/components/map/openlayers/plugins/WMTSLayer.js b/web/client/components/map/openlayers/plugins/WMTSLayer.js index f3af188c98..2cd8dc6e49 100644 --- a/web/client/components/map/openlayers/plugins/WMTSLayer.js +++ b/web/client/components/map/openlayers/plugins/WMTSLayer.js @@ -32,16 +32,20 @@ function getWMSURLs( urls ) { return urls.map((url) => url.split("\?")[0]); } +function getMatrixId(options) { + let matrixIds = new Array(22); + for (let z = 0; z < 22; ++z) { + // generate matrixIds arrays for this WMTS + matrixIds[z] = options.tileMatrixPrefix + z; + } + return matrixIds; +} + Layers.registerType('wmts', { create: (options) => { const urls = getWMSURLs(isArray(options.url) ? options.url : [options.url]); const queryParameters = wmtsToOpenlayersOptions(options) || {}; urls.forEach(url => SecurityUtils.addAuthenticationParameter(url, queryParameters)); - let matrixIds = new Array(22); - for (let z = 0; z < 22; ++z) { - // generate matrixIds arrays for this WMTS - matrixIds[z] = options.tileMatrixPrefix + z; - } return new ol.layer.Tile({ opacity: options.opacity !== undefined ? options.opacity : 1, source: new ol.source.WMTS(objectAssign({ @@ -51,8 +55,8 @@ Layers.registerType('wmts', { format: 'image/png', tileGrid: new ol.tilegrid.WMTS({ origin: [options.originY, options.originX], - resolutions: mapUtils.getResolutions(), - matrixIds: matrixIds + resolutions: options.resolutions || mapUtils.getResolutions(), + matrixIds: options.matrixIds || getMatrixId(options) }), style: '', wrapX: true