Files
openlayers/examples/controls.html
crschmidt b78e26e9f0 break out post-rendering into seperate function to be defined in page. This
removes the tie between the LayerSwitcher and Ext that I had in my first
commit. 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7381 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-06-19 18:44:25 +00:00

96 lines
4.5 KiB
HTML

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers Map Controls Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="http://www.extjs.com/deploy/dev//resources/css/ext-all.css">
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script><script type="text/javascript">_uacct = "UA-1396058-1";urchinTracker();</script>
<link rel="stylesheet" type="text/css" href="http://www.extjs.com/deploy/dev//resources/css/xtheme-default.css" /><!-- LIBS -->
<script type="text/javascript" src="http://www.extjs.com/deploy/dev//adapter/ext/ext-base.js"></script>
<!-- ENDLIBS -->
<script type="text/javascript" src="http://www.extjs.com/deploy/dev//ext-all.js"></script>
<!-- Common Styles for the examples -->
<link rel="stylesheet" type="text/css" href="../shared/examples.css">
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map;
function layerRenderAdditional(layerDiv, layer) {
var sliderDiv = document.createElement("div");
sliderDiv.className = "olControlLayerSwitcherLayerDivSlider";
layerDiv.appendChild(sliderDiv);
sliderDiv.style.height="20px";
var sliderValue = layer.opacity == null ? 100 : layer.opacity * 100;
var slider = new Ext.Slider({renderTo: sliderDiv, width: 100, minValue: 0, maxValue: 100, animate: false});
slider.on("change", function(slider, newValue) {
this.layer.setOpacity(newValue/100);
}, {layer: layer, control: this});
slider.on("dragstart", function(slider, e) {
this.control.isMouseDown = false;
}, {control: this});
if (this.maximizeDiv.style.display != "none") {
this.maximizeControl();
slider.setValue(sliderValue);
this.minimizeControl();
} else {
slider.setValue(sliderValue);
}
}
function init(){
map = new OpenLayers.Map('map', {
controls: [
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.MouseToolbar(),
new OpenLayers.Control.LayerSwitcher({'ascending':false, layerRenderAdditional: layerRenderAdditional}),
new OpenLayers.Control.Permalink(),
new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.Permalink('permalink'),
new OpenLayers.Control.MousePosition(),
new OpenLayers.Control.OverviewMap(),
new OpenLayers.Control.KeyboardDefaults()
],
numZoomLevels: 6
});
var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'} );
var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://t1.hypercube.telascience.org/cgi-bin/landsat7",
{layers: "landsat7"});
var dm_wms = new OpenLayers.Layer.WMS( "DM Solutions Demo",
"http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
{layers: "bathymetry,land_fn,park,drain_fn,drainage," +
"prov_bound,fedlimit,rail,road,popplace",
transparent: "true", format: "image/png" });
jpl_wms.setVisibility(false);
dm_wms.setVisibility(false);
map.addLayers([ol_wms, jpl_wms, dm_wms]);
if (!map.getCenter()) map.zoomToMaxExtent();
}
</script>
</head>
<body onload="init()">
<h1 id="title">Map Controls Example</h1>
<div id="tags">
</div>
<p id="shortdesc">
Attach zooming, panning, layer switcher, overview map, and permalink map controls to an OpenLayers window.
</p>
<a style="float:right" href="" id="permalink">Permalink</a>
<div id="map" class="smallmap"></div>
<div id="docs"></div>
</body>
</html>