[OpenLayers-Dev] DrawFeature.featureAdded() - called in wrong
place?
Jeff Dege
jdege at korterra.com
Fri Apr 6 13:51:08 EDT 2007
> From: dev-bounces at openlayers.org
> [mailto:dev-bounces at openlayers.org] On Behalf Of Tim Schaub
> Sent: Friday, April 06, 2007 11:04 AM
>
> You have 3 or 4 dozen options here.
Of course I do.
> So, while the DrawFeature control is not really meant to be used to do
> anything custom with features *before* they are added to a layer (more
> on this below) - you could customize this control to do what you want.
>
> If you construct your DrawFeature control with something like:
>
> var options = {drawFeature: myDrawFeature};
> var control = new OpenLayers.Control.DrawFeature(
> layer, OpenLayers.Handler.Polygon,
> options);
>
> and myDrawFeature is something like:
>
> function myDrawFeature(geometry) {
> var feature = new OpenLayers.Feature.Vector(geometry);
> // do something with feature before it is added to the layer
> // at this point you know which control did the drawing
> layer.addFeatures([feature]);
> control.featureAdded(feature);
> }
>
> All that said, I wonder if you really need to be using the DrawFeature
> control at all. If you want users to digitize polygons, and then you
> want to do a lot of custom stuff *before* adding the features to a
> layer, then it sounds to me like you should make a custom control that
> uses the polygon handler.
Deriving my own custom control might be cleaner, but what you've
described above is working, so I expect I'll stick with it until I have
reason to revisit this section of code.
Thanks.
More information about the Dev
mailing list