From 4c684565ef9b9858428c7d0924fa9feb02488417 Mon Sep 17 00:00:00 2001 From: crschmidt Date: Thu, 25 May 2006 12:57:07 +0000 Subject: [PATCH] MapViewerService now supports additional URL args: * controls=panzoom,mouse -- set up different controls. Also allows 'layerswitcher' * layers=openlayers,nasa -- set up different layers. Only these two are supported at the moment. * center, zoom, data are all the same as before. These changes are relevant to Ticket #12. git-svn-id: http://svn.openlayers.org/trunk/openlayers@360 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- examples/mvs.html | 65 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 16 deletions(-) diff --git a/examples/mvs.html b/examples/mvs.html index 8f1b29e34e..078b95de25 100644 --- a/examples/mvs.html +++ b/examples/mvs.html @@ -48,6 +48,8 @@ function runMVS() { theArgs.center = "0,0"; theArgs.zoom = "0"; theArgs.data = "textfile.txt"; + theArgs.controls = ['panzoom','mouse']; + theArgs.layers = ['openlayers', 'nasa']; } @@ -58,7 +60,9 @@ function runMVS() { var DEFAULT_LAT = 0; var DEFAULT_LON = 0; var DEFAULT_ZOOM_LEVEL = 0; - + var DEFAULT_CONTROLS = ['panzoom','mouse']; + var DEFAULT_LAYERS = ['openlayers', 'nasa']; + var IDX_LAT = 0; var IDX_LON = 1; @@ -69,25 +73,54 @@ function runMVS() { parseFloat(theArgs.center.split(",")[IDX_LON]) : DEFAULT_LON; safeArgs.zoom = theArgs.zoom ? parseInt(theArgs.zoom) : DEFAULT_ZOOM_LEVEL; + + safeArgs.controls = theArgs.controls ? + theArgs.controls.split(",") : DEFAULT_CONTROLS; + + safeArgs.controls = theArgs.controls ? + theArgs.controls.split(",") : DEFAULT_CONTROLS; + safeArgs.layers = theArgs.layers ? + theArgs.layers.split(",") : DEFAULT_LAYERS; + safeArgs.data = theArgs.data; // TODO: Make this "safe". // ----- - var theMVS = new OpenLayers.Map($('map')); - theMVS.addLayer( - new OpenLayers.Layer.WMS("OpenLayers WMS", - "http://octo.metacarta.com/cgi-bin/mapserv", - {"map" : "/mapdata/vmap_wms.map", - layers: 'basic'} - )); - - theMVS.addLayer( - new OpenLayers.Layer.WMS("NASA Mosaic", - "http://wms.jpl.nasa.gov/wms.cgi", - {"EXCEPTIONS" : "application/vnd.ogc.se_inimage", - "format" : "image/jpeg", - layers:"modis,global_mosaic"} - )); + var theMVS = new OpenLayers.Map($('map'), {controls: []}); + for(var i = 0; i < safeArgs.controls.length; i++) { + switch(safeArgs.controls[i]) { + case 'panzoom': + theMVS.addControl(new OpenLayers.Control.PanZoom()); + break; + case 'layerswitcher': + theMVS.addControl(new OpenLayers.Control.LayerSwitcher()); + break; + case 'mouse': + theMVS.addControl(new OpenLayers.Control.MouseDefaults()); + break; + } + } + for(var i = 0; i < safeArgs.layers.length; i++) { + switch(safeArgs.layers[i]) { + case 'openlayers': + theMVS.addLayer( + new OpenLayers.Layer.WMS("OpenLayers WMS", + "http://octo.metacarta.com/cgi-bin/mapserv", + {"map" : "/mapdata/vmap_wms.map", + layers: 'basic'} + )); + break; + case 'nasa': + theMVS.addLayer( + new OpenLayers.Layer.WMS("NASA Mosaic", + "http://wms.jpl.nasa.gov/wms.cgi", + {"EXCEPTIONS" : "application/vnd.ogc.se_inimage", + "format" : "image/jpeg", + layers:"modis,global_mosaic"} + )); + break; + } + } theMVS.setCenter(new OpenLayers.LonLat(safeArgs.centerLon, safeArgs.centerLat), safeArgs.zoom); if (safeArgs.data) {