Files
openlayers/examples/mvs.html
crschmidt cbd921f643 Add the ability to add a 'marker=true' option to URL queries, so that you
can have a marker at your center point, a la gmaps.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@1220 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2006-08-15 17:48:07 +00:00

122 lines
3.8 KiB
HTML

<html>
<!--
OpenLayers Map Viewer Service
Copyright 2005-2006 MetaCarta, Inc., released under the BSD License.
-->
<!--
This probably needs to be renamed index.html for deployment.
Specifically, it needs to be the default page for whatever
directory it is in.
-->
<head>
<script src="http://openlayers.org/dev/lib/OpenLayers.js"></script>
<script>
function runMVS() {
OpenLayers.ProxyHost = '/proxy/?url=';
if (document.location.protocol != "file:") {
theArgs = OpenLayers.Util.getArgs();
} else {
theArgs = {};
theArgs.center = "0,0";
theArgs.zoom = "0";
theArgs.data = "textfile.txt";
theArgs.controls = 'panzoom,mouse';
theArgs.layers = 'openlayers';
}
// ----
// TODO: Handle all this parsing better.
var safeArgs = {}
var DEFAULT_LAT = 0;
var DEFAULT_LON = 0;
var DEFAULT_ZOOM_LEVEL = 0;
var DEFAULT_CONTROLS = ['panzoom','mouse'];
var DEFAULT_LAYERS = ['openlayers'];
var IDX_LAT = 0;
var IDX_LON = 1;
safeArgs.centerLat = theArgs.center ?
parseFloat(theArgs.center.split(",")[IDX_LAT]) : DEFAULT_LAT;
safeArgs.centerLon = theArgs.center ?
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.layers = theArgs.layers ?
theArgs.layers.split(",") : DEFAULT_LAYERS;
safeArgs.data = theArgs.data; // TODO: Make this "safe".
safeArgs.marker = theArgs.marker; // TODO: Make this "safe".
// -----
var theMVS = new OpenLayers.Map($('map'), {controls: [], maxResolution: 'auto'});
for(var i = 0; i < safeArgs.controls.length; i++) {
switch(safeArgs.controls[i]) {
case 'panzoombar':
theMVS.addControl(new OpenLayers.Control.PanZoomBar());
break;
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://labs.metacarta.com/wms/vmap0",
{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.marker) {
var m = new OpenLayers.Layer.Markers("Marker");
m.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(safeArgs.centerLon, safeArgs.centerLat)));
theMVS.addLayer(m);
}
if (safeArgs.data) {
theMVS.addLayer(new OpenLayers.Layer.Text("Data", {location: safeArgs.data}));
}
}
</script>
</head>
<body style="margin:0px;"
onload="runMVS();">
<div id="map"
style="width: 100%; height: 100%;
background: lightyellow;
"></div>
</body>
</html>