[OpenLayers-Users] Overriding overlay select to force a reload of the toggled layer

Adrian Popa adrian_gh.popa at romtelecom.ro
Thu Jul 16 08:41:09 EDT 2009


Hello Jay,

Thanks for your help. I ended up doing:

markers.events.on({ "featureselected": onMarkerSelect, 
"featureunselected": onMarkerUnselect, *"visibilitychanged": 
onMarkerToggle* });

     function onMarkerToggle(event) 
{                                                                                                                                              

        //ask for this layers refresh if visibility becomes 
true                                                                                                                  

        if(markers.visibility == 
true){                                                                                                                                           

//          alert("requesting marker 
refresh");                                                                                                                                   

            updateActiveAlarms(); //this refreshes the layer
        
}                                                                                                                                                                         

    }                                        

It works perfectly. Thanks again,
Adrian

Jay Douillard wrote:
> Adrian,
>
> You need to register events to fire when want refreshing to occur.
> You can use the visibility property of a layer to test if it is visible and only refresh those layers that are.
> http://dev.openlayers.org/releases/OpenLayers-2.8/doc/apidocs/files/OpenLayers/Layer-js.html#OpenLayers.Layer.visibility
>
> http://dev.openlayers.org/apidocs/files/OpenLayers/Events-js.html
> ----
> Jay 
>
>
> ----- Original Message -----
> From: "Adrian Popa" <adrian_gh.popa at romtelecom.ro>
> To: users at openlayers.org
> Sent: Tuesday, July 14, 2009 11:27:17 PM GMT -08:00 US/Canada Pacific
> Subject: [OpenLayers-Users] Overriding overlay select to force a reload of the toggled layer
>
> Hi everybody,
>
> I have several overlay vector layers that get their data in KML format 
> from some server-side scripts. The data is highly dynamic, so it needs 
> to be refreshed constantly (this is solved). The problem appears if only 
> one overlay layer is selected (visible), I need to refresh all overlay 
> layers so that if the user toggles another overlay, he will have the 
> most recent data. I would like to reduce the overhead on the server and 
> client side and only refresh the visible overlay layers, and to force a 
> refresh of a layer whenever the user makes it visible. For this I would 
> have to override the function that runs when a layer is selected in the 
> layer switcher and call another refresh function before the layer is 
> made visible. Can anyone point me in the right direction?
>
> P.S. I would like to do this without editing the openlayers code; 
> instead I would like to override/overload the function for my objects only.
>
> Thanks,
> Adrian
>
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20090716/4414839a/attachment.html


More information about the Users mailing list