[OpenLayers-Users] Understanding events
Yves Moisan
yves.moisan at boreal-is.com
Tue Dec 8 11:33:43 EST 2009
Hi List,
I'm trying to wrap my head around OpenLayers events. Here's code that
works if I uncomment the first line (alert) :
// alert("Highlight on")
function selectFeature(layer, fid)
{
for(var i = 0; i<layer.features.length;++i)
{
if (layer.features[i].fid == fid)
{
FeatureSelectControl.select(layer.features[i]);
break;
}
}
}
FeatureSelectControl = new OpenLayers.Control.SelectFeature( layers[0], {});
MyMap.addControl(FeatureSelectControl);
FeatureSelectControl.activate();
if(oFeatures && oFeatures.length > 0)
{
var bounds = oFeatures[0].geometry.getBounds();
// next line works if alert is "on"
// selectFeature(layers[0],oFeatures[0].fid);
// how do I register an event to wait until layer ends loading ? Tried variations of the following commands :
// MyMap.events.register("zoomend", layers[0], selectFeature(layers[0],oFeatures[0].fid));
// layer.events.register("loadend", layers[0], selectFeature(layers[0],oFeatures[0].fid));
...
Problem is if I don't leave enough time for the layer to load, my
selectFeature function doesn't work.
I've seen there are different event types on different OL objects, so I
tried registering events on the map and the layer objects (e.g. above),
but obviously I do not understand how the event mechanism works. Any
tutorial on events that could help me understand events ?
TIA,
Yves
More information about the Users
mailing list