Steve,

  Instead of relying on the layer's position in the layers array, try to 
use the following the getLayersByName method (see in my first reply).  
Tell me if that worked.

Alexandre


[email protected] wrote:
>
> Almost done....Amasing how things are easy to do with OL.
>
> I have a wms layers array, "overlays[]"
> I use this code to create the layers array of the overview map and to 
> define the visibilitychanged event.
> var addLayersToMap = function()
> {        
> for( i in overlays )//overlays contains my wms layers
> {
>         map.addLayer( overlays[i] );
>         ov_overlays[i] = overlays[i].clone();
>         ov_map.addLayer( ov_overlays[i] );
>
>         //Ajoute un listener au niveau de la carte principal pour 
> gérer l'affichage sur la ov_map
>         overlays[i].events.on(
>         {
>                 'visibilitychanged': function(event)
>                 {
>                         
> ov_overlays[i].setVisibility(overlays[i].getVisibility());
>                 }
>         });
> }
> }
>
> in run time, only the visibility of the last layer of the array gets 
> updated in the other map.
> I also tried with map.addLayers after adding the overlays[i]. events 
> on...with the same result
>
> Do you see something wrong
> thanks
> Steve
>
>
>
>
> *Alexandre Dube <[email protected]>*
>
> 04/02/2010 03:36 PM
>
>       
> A
>       [email protected]
> cc
>       [email protected]
> Objet
>       Re: [OpenLayers-Users] Magnifier window
>
>
>
>       
>
>
>
>
>
>
>
> Hi Steve,
>
>  I think you could do something like that (pseudo-code) :
>
>  Create your original map
>  Create all your layers and add them to the map
>
>  Create your ov-map
>  Register a mapmove event to the map to make ov-map follow it
>  For each layer
>    Clone it and add it to ov-map
>    Register a visibilitychange event to a onVisibilityChanged function
>
>  onVisibilityChanged: function(event)
>    var layers = ov-map.getLayersByName(this.name); // this is the layer
> the visibility was changed
>    if(layers && layers.length == 1)
>      layers[0].setVisibility(this.visibility())
>
> Do you get the idea ?
>
> Best regards,
>
> Alexandre
>
> [email protected] wrote:
> >
> > Hi,
> > I'm using openlayers with geoext.
> > I would like to create a magnifier window. So it is like an overview
> > map with a fix map center and a fix zoom level, but the main map and
> > this overview map share the same geoext tree, so the layers are
> > shown/hidden on both maps.
> >
> > I think I can do it if I start with the overview map example, here
> > http://www.openlayers.org/dev/examples/example-list.html
> >
> > Does someone have a better idea or already tried this?
> >
> > thanks in advance
> > Steve
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Users mailing list
> > [email protected]
> > http://openlayers.org/mailman/listinfo/users
> >  
>
>
> -- 
> Alexandre Dubé
> Mapgears
> www.mapgears.com
>
>
>
>


-- 
Alexandre Dubé
Mapgears
www.mapgears.com

_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

Reply via email to