[OpenLayers-Users] Magnifier window

Steve.Toutant at inspq.qc.ca Steve.Toutant at inspq.qc.ca
Fri Feb 5 09:29:56 EST 2010


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 <adube at mapgears.com> 
04/02/2010 03:36 PM

A
Steve.Toutant at inspq.qc.ca
cc
users at openlayers.org
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

Steve.Toutant at inspq.qc.ca 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
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
> 


-- 
Alexandre Dubé
Mapgears
www.mapgears.com




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100205/8368a353/attachment.html


More information about the Users mailing list