var map;
var format;
function init() {
OpenLayers.ImgPath = "http://map.geo.admin.ch/main/wsgi/lib/GeoAdmin.ux/Map/img/";
// Création de la carte
map = new OpenLayers.Map({
div: "map",
projection: "EPSG:21781",
units: "m",
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.ScaleLine({maxWidth: 120})
],
maxExtent: new OpenLayers.Bounds(0, 0, 1200000, 1200000),
resolutions: [650,500,250,100,50,20,10,5,2.5]
});
addWMTSLayer();
}
function addWMTSLayer() {
// Parser spécialisé
var format = new OpenLayers.Format.WMTSCapabilities({});
// On va récupérer le fichier "getCapabilities"
OpenLayers.Request.GET({
url: "http://api.geo.admin.ch/main/wsgi/doc/data/wmts-getcapabilities.xml?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities",
params: {
SERVICE: "WMTS",
VERSION: "1.0.0",
REQUEST: "GetCapabilities"
},
success: function(request) {
var doc = request.responseXML;
if (!doc || !doc.documentElement) {
doc = request.responseText;
}
if (!doc || doc.length <1) { alert("Trouble parsing the getCapabilities document"); return false;}
var capabilities = format.read(doc);
// Si le parser a pu lire les données, on crée un layer
var layer = format.createLayer(capabilities, {
layer: "ch.swisstopo.pixelkarte-farbe",
matrixSet: "21781", //"Bgdi_lv03",
format: "image/jpeg",
opacity: 1.0,
isBaseLayer: true,
requestEncoding: "REST",
style: "default" , // must be provided
dimensions: ['TIME'],
params: {'time': '2009'},
formatSuffix: 'jpeg'
});
// Ajout du layer à la map
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(650000, 180000), 2);
},
failure: function() {
// En cas de problème de la requête XHR
alert("Trouble getting capabilities doc");
OpenLayers.Console.error.apply(OpenLayers.Console, arguments);
}
});
}