diff --git a/example.html b/example.html
index 1834c7ef2e..02439724ef 100644
--- a/example.html
+++ b/example.html
@@ -24,6 +24,7 @@
{map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'} );
map.addLayer(layer);
+ map.addControl( new OpenLayers.Control.LayerSwitcher() );
map.setCenter(new OpenLayers.LatLon(lat, lon), zoom);
}
// -->
diff --git a/google.html b/google.html
index b85048cc3e..9e9a12c3af 100644
--- a/google.html
+++ b/google.html
@@ -29,6 +29,7 @@
map.setCenter(new OpenLayers.LatLon(lat, lon), zoom);
map.addLayer(layer);
map.addLayer(gmap);
+ map.addControl( new OpenLayers.Control.LayerSwitcher() );
}
// -->
diff --git a/lib/OpenLayers.js b/lib/OpenLayers.js
index ecdd363d7a..4f015b563c 100644
--- a/lib/OpenLayers.js
+++ b/lib/OpenLayers.js
@@ -45,7 +45,8 @@ catch(e){
"OpenLayers/Layer/Grid.js",
"OpenLayers/Layer/WMS.js",
"OpenLayers/Control.js",
- "OpenLayers/Control/PanZoom.js"
+ "OpenLayers/Control/PanZoom.js",
+ "OpenLayers/Control/LayerSwitcher.js"
); // etc.
var allScriptTags = "";
diff --git a/lib/OpenLayers/Control/LayerSwitcher.js b/lib/OpenLayers/Control/LayerSwitcher.js
new file mode 100644
index 0000000000..273c795d7b
--- /dev/null
+++ b/lib/OpenLayers/Control/LayerSwitcher.js
@@ -0,0 +1,41 @@
+OpenLayers.Control.LayerSwitcher = Class.create();
+OpenLayers.Control.LayerSwitcher.prototype =
+ Object.extend( new OpenLayers.Control(), {
+ initialize: function() {
+ OpenLayers.Control.prototype.initialize.apply(this, arguments);
+ },
+
+ draw: function() {
+ // initialize our internal div
+ OpenLayers.Control.prototype.draw.apply(this);
+ var pixel = new OpenLayers.Pixel(this.map.div.clientWidth-200,4);
+ for(i=0; i