> You can force > this by doing layerswitcher_control.layerStates = []; to clear out the > layerStates, which will cause it to redraw.
Thanks Christopher, that worked a treat. To summarize, the code sequence that works is: myLayer.displayInLayerSwitcher = false; layerSwitcher.layerStates = []; layerSwitcher.redraw(); Jon On Dec 4, 2007 9:42 PM, Christopher Schmidt <[EMAIL PROTECTED]> wrote: > On Tue, Dec 04, 2007 at 09:33:41PM +0000, Jon Blower wrote: > > OK, attached is an HTML file that shows the problem. As you can see > > from the code I'm doing the following: > > > > 1) Creating two overlay layers, only one of which is to be displayed > > in the layer switcher > > 2) Adding both overlays to the map > > 3) Toggling the displayInLayerSwitcher property of each overlay layer > > 4) Redrawing the layer switcher control > > > > Initially nothing changes as a result of (3) and (4), i.e. the layers > > that are displayed in the switcher don't change. However, if you > > click the overlay's checkbox in the layer switcher it seems to sort > > itself out and work correctly. > > > > So, it seems that the layer switcher only redraws when it is clicked. > > You need to change the state of the LayerSwitcher -- by turning a layer > on or off using setVisibility -- before it will redraw. You can force > this by doing layerswitcher_control.layerStates = []; to clear out the > layerStates, which will cause it to redraw. > > Regards, > -- > Christopher Schmidt > MetaCarta > -- -------------------------------------------------------------- Dr Jon Blower Tel: +44 118 378 5213 (direct line) Technical Director Tel: +44 118 378 8741 (ESSC) Reading e-Science Centre Fax: +44 118 378 6413 ESSC Email: [EMAIL PROTECTED] University of Reading 3 Earley Gate Reading RG6 6AL, UK -------------------------------------------------------------- _______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users