Anzeige in LayerSwitcher abschalten

Mit OpenLayers lasse ich mir meine Startpunkte der Tracks (teilweise in mehreren MarkerLayers) anzeigen. Das klappt auch alles.
Ich kann zwischen verschiedenen Karten (BaseLayers) bzw. zwischen 1 bis n MarkerLayers(OverlayLayers) umschalten.
Allerdings möchte ich, wenn nur ein MarkerLayer vorhanden ist, dessen Anzeige im LayerSwitcher ausblenden:

if (anz_karten + 1 == map.layers.length) { // Bedingung für nur ein MarkerLayer
map.layers[anz_karten].displayInLayerSwitcher=false;
…redraw(); //??? Welche Funktion muss hier stehen?
}

Das funktioniert aber nicht wie gewollt. Beim ersten Aufruf wird mir die eine MarkerLayer im LayerSwitcher angezeigt. Erst wenn ich die Karten (BaseLayer) umschalte, verschwindet die Anzeige für Overlay im LayerSwitcher.

Mit welchem Code erreiche ich was ich möchte?

Danke. Petra

Habe die Lösung gefunden:

Der LayerSwitcher ist wie folgt definiert:

var switcherControl = new OpenLayers.Control.LayerSwitcher();
map.addControl(switcherControl);
switcherControl.maximizeControl();

Dann muss der Code so aussehen:

if (anz_karten + 1 == map.layers.length) {
map.layers[anz_karten].displayInLayerSwitcher=false;
switcherControl.layerStates=[];
switcherControl.redraw();
}

Nun funktioniert es.