From da67953c6161f06b853b6b0b368a6b88a586db5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Brunner?= Date: Sat, 3 Mar 2012 17:54:42 +0100 Subject: [PATCH] add a REST example in wmts-capabilities --- examples/wmts-capabilities.html | 14 ++++++--- examples/wmts-capabilities.js | 52 ++++++++++++++++++++++++++++----- 2 files changed, 54 insertions(+), 12 deletions(-) diff --git a/examples/wmts-capabilities.html b/examples/wmts-capabilities.html index 21b3cae0c7..638d335a3c 100644 --- a/examples/wmts-capabilities.html +++ b/examples/wmts-capabilities.html @@ -20,15 +20,21 @@

Web Map Tile Service (WMTS) Capabilities Parsing

wmts, capabilities, getcapabilities -
+

The WMTS Capabilities format allows for parsing of capabilities - documents from OGC Web Map Tile Service (WMTS) version 1.0.0 + documents from OGC Web Map Tile Service (WMTS) version 1.0.0 implementations.

- + +

KVP version.

+
- + +

REST version.

+ +
+

This example creates an OpenLayers.Layer.WMTS layer to based diff --git a/examples/wmts-capabilities.js b/examples/wmts-capabilities.js index dc12941058..d507d1bec0 100644 --- a/examples/wmts-capabilities.js +++ b/examples/wmts-capabilities.js @@ -1,15 +1,20 @@ OpenLayers.ProxyHost = "/proxy/?url="; var map, format; +var map2, format2; function init() { - + + /* + * KVP version + */ + format = new OpenLayers.Format.WMTSCapabilities({ /** * This particular service is not in compliance with the WMTS spec and * is providing coordinates in y, x order regardless of the CRS. To - * work around this, we can provide the format a table of CRS URN that - * should be considered y, x order. These will extend the defaults on + * work around this, we can provide the format a table of CRS URN that + * should be considered y, x order. These will extend the defaults on * the format. */ yx: { @@ -38,22 +43,53 @@ function init() { isBaseLayer: false }); map.addLayer(layer); - }, + }, failure: function() { alert("Trouble getting capabilities doc"); OpenLayers.Console.error.apply(OpenLayers.Console, arguments); } }); - + map = new OpenLayers.Map({ div: "map", projection: "EPSG:900913" - }); - + }); + var osm = new OpenLayers.Layer.OSM(); map.addLayer(osm); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.setCenter(new OpenLayers.LonLat(-13677832, 5213272), 13); - + + + /* + * REST version + */ + format2 = new OpenLayers.Format.WMTSCapabilities(); + + OpenLayers.Request.GET({ + url: "http://wmts.geo.admin.ch/1.0.0/WMTSCapabilities.xml", + success: function(request) { + var doc = request.responseXML; + if (!doc || !doc.documentElement) { + doc = request.responseText; + } + var capabilities = format2.read(doc); + var layer = format2.createLayer(capabilities, { + layer: "ch.are.gemeindetyp-1990-9klassen", + // not avalable in the WMTS Capabilities in native projection + maxExtent: [485869.5728, 76443.1884, 837076.5648, 299941.7864] + }); + map2.addLayer(layer); + map2.setCenter(new OpenLayers.LonLat(540000, 160000), 17); + }, + failure: function() { + alert("Trouble getting capabilities doc"); + OpenLayers.Console.error.apply(OpenLayers.Console, arguments); + } + }); + + map2 = new OpenLayers.Map({ + div: "map2" + }); }