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
