Hi! I haven't got any reaction to my previous mail, so I'm trying to point your attention to my problem again in this follow-up. The problem is: after loading a GML layer the features collection of the layer stays empty (at least for some time), which means that there's no way to handle those in the loadend-event of the layer. Is there another event, which is raised after the features collection of the loaded layer is initialized? Is there any rational workaround?
My next action would be setting up a timer with the setTimeout(...) function and trying to access the features collection after some time interval hoping that the features are finally loaded. However, this seems to be a very hardcoded solution. Cheers, Dmitri Mizerkin ---------- Forwarded message ---------- From: Dmitri Mizerkin <[EMAIL PROTECTED]> Date: 05.07.2007 10:33 Subject: Problem with GML features To: users@openlayers.org Hello everybody! I'm experiencing problems with handling the features of a GML layer, which is loaded when the page is opened. The problem is that after the 'loanend' event is raised, the features-property of the layer stays empty for some more time, so there is no way to examine the features in this handler. In my case I need to extract the bounds-properties of the features to construct an common bounds-object for zooming (the action should simulate feature selection and zooming to the selection). Any ideas, how this could work? Here's my code snapshot: function SelectFeature() { var layer = GetLayerByName(FEATURE_LAYER); //returns a MapServer layer to send a request on if (layer == null) return; var selection_url = CreateWFSGetFeatureRequest(layer, FIELD_NAME, FIELD_VALUE); //creates a WFS GetFeature-request if ((selection != null)&&(selection.map != null)) { OLMap.removeLayer (selection); selection = null; } selection = new OpenLayers.Layer.GML("Selected Objects", selection_url); OLMap.addLayer(selection); selection.displayInLayerChooser = false; selection.events.register ("loadend", selection, ZoomToSelection); selection.events.triggerEvent("loadend"); } function ZoomToSelection() { var bounds = ComputeSelectionBounds(); if (bounds == null) return; OLMap.zoomToExtent(bounds); } Thanks in advance! -- Regards, Dmitri -- Gruß, Dmitri
_______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users