[GIS] How to remove a layer from the Layerswitcher in Openlayers

openlayers-2

I have an init-Function, there some layers are added with the option displayInLayerSwitcher = false; Thats ok, but in some situations i need to set this later in the application to true. So i want to reset the option. The ways i tried to figure out:

1:

my_layer.displayInLayerSwitcher = true;
my_layers_switcher.redraw();
// Result is, that my_layer is resetted and in the LayerSwitcher nothing changed.

2:

my_layer.displayInLayerSwitcher = true;
my_layers_switcher.destroy();
map.removeControll(my_layers_switcher);
my_layers_switcher = new OpenLayers.Control.LayerSwitcher();
map.addControll(my_layers_switcher);
// Same Result as by way 1

Anyone, who have an idea for this?

Best Answer

map.layers[i].displayInLayerSwitcher = false; //i is your layer number.
map.layers[].setVisibility();

i hope it helps you...