diff --git a/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js b/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js index 5bf9527093..b436615ae4 100644 --- a/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +++ b/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js @@ -191,7 +191,14 @@ OpenLayers.Format.WMTSCapabilities.v1_0_0 = OpenLayers.Class( }, "MatrixHeight": function(node, obj) { obj.matrixHeight = parseInt(this.getChildValue(node)); - }, + }, + "ResourceURL": function(node, obj) { + obj.resourceUrl = obj.resourceUrl || {}; + obj.resourceUrl[node.getAttribute("resourceType")] = { + format: node.getAttribute("format"), + template: node.getAttribute("template") + }; + }, // not used for now, can be added in the future though /*"Themes": function(node, obj) { obj.themes = []; diff --git a/tests/Format/WMTSCapabilities/v1_0_0.html b/tests/Format/WMTSCapabilities/v1_0_0.html index 867066772b..74925378fa 100644 --- a/tests/Format/WMTSCapabilities/v1_0_0.html +++ b/tests/Format/WMTSCapabilities/v1_0_0.html @@ -36,7 +36,7 @@ } function test_layers(t) { - t.plan(21); + t.plan(25); var xml = document.getElementById("ogcsample").firstChild.nodeValue; var doc = new OpenLayers.Format.XML().read(xml); @@ -75,7 +75,14 @@ t.eq(wgs84Bbox.right, 180.0, "wgs84BoudingBox right is correct"); t.eq(wgs84Bbox.bottom, -90.0, "wgs84BoudingBox bottom is correct"); t.eq(wgs84Bbox.top, 90.0, "wgs84BoudingBox top is correct"); - + + t.eq(layer.resourceUrl.tile.format, "image/png", "resourceUrl.tile.format is correct"); + t.eq(layer.resourceUrl.tile.template, "http://www.example.com/wmts/coastlines/{TileMatrix}/{TileRow}/{TileCol}.png", + "resourceUrl.tile.template is correct"); + + t.eq(layer.resourceUrl.FeatureInfo.format, "application/gml+xml; version=3.1", "resourceUrl.FeatureInfo.format is correct"); + t.eq(layer.resourceUrl.FeatureInfo.template, "http://www.example.com/wmts/coastlines/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}/{J}/{I}.xml", + "resourceUrl.FeatureInfo.template is correct"); } function test_tileMatrixSets(t) { @@ -240,6 +247,10 @@ http://schemas.opengis.net/wmts/1.0/examples/wmtsGetCapabilities_response.xml 180 90 coastlines + +