On Tue, Feb 24, 2009 at 11:07:19AM -0700, Bill Thoen wrote: > Christopher Schmidt wrote: > >On Tue, Feb 24, 2009 at 09:51:03AM -0700, Bill Thoen wrote: > > > >>Christopher Schmidt wrote: > >> > >>>map.setBaseLayer(map.layers[1]) > >>>on http://openlayers.org/dev/examples/controls.html cause the > >>>ayerSwitcher to redraw for me. Does it not do that for you? It should; > >>>if it doesn't, that's a bug. > >>> > >>> > >>Here's an example where a layer is switched under the LayerSwitcher's > >>nose, and it doesn't react to it even if you call setBaseLayer() after > >>the change: http://206.168.217.244/gallery/ToggleBaseLayer.html > >> > > > >setBaseLayer after the layer is *already* visible won't do anything, > >that is correct. That's not how setBaseLayer is designed to be used. > >Though this exposes a behavior in the LayerSwitcher, I don't think it's > >a bug, because this demonstration seems a bit like an anti-use of the > >library. > > > > > >>I realize that if I had called setBaseLayer() first I wouldn't have to > >>go through all that bit to change layer visibilities, but this "bug" > >>appeared as a result of originally wanting to change overlay layers. > >> > > > >Overlay layers should react to setVisibility -- something that base > >layers do differently. Can you find an overlay layer whiwch doesn't do > >the right thing if you setVisiblity on it (via the method, rather than > >via layer.visibility and layer.redraw() or somethign like that)? > > > No, setVisibility works as advertised on all overlay layers. This was > what I was focused on to begin with, and I was updating the property > because I didn't know any better (I'm still on the steep part of the > learning curve with this library.) It was only after I had done it that > I realized that the base layers were not being handled. So I tinkered > with the LayerSwitcher innards even more, but finally decided I was > going about this all wrong and hence my original question about what's > the right way. One problem for beginner JavaScript programmers like me > is that since everything is exposed, you're tempted to grab at the first > thing that looks good. Its sort of like giving a monkey the keys to the > banana plantation. I agree with you that calling setBaseLayer after I've > set visibility is a mistake, but because setBaseLayer didn't work as > expected in this case, I wondered if I should call attention to it anyway.
Yep. I would say that this is perhaps worth documenting, but is definitely a rare case. For teh record, the difference between: http://dev.openlayers.org/apidocs/ and http://dev.openlayers.org/docs/ Sort of acts a set of "Here's what you can monkey with safely". (It's not perfect, because the actual intention is "This won't change", but the result is pretty similar.) Best Regards, -- Christopher Schmidt MetaCarta _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
