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
This commit is contained in:
crschmidt
2006-05-25 12:57:07 +00:00
parent 2d440e36b0
commit 4c684565ef

View File

@@ -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) {