Hi,

I'm trying to let the user draw a line feature and deactivate the draw feature after the feature was added to the map. Here's my code:

var drawControls = {
                point: new OpenLayers.Control.DrawFeature(vectors,
                            OpenLayers.Handler.Point),
                line: new OpenLayers.Control.DrawFeature(vectors,

OpenLayers.Handler.Path,{featureAdded:                                          
toggle }
                        ),
                rectangle: new OpenLayers.Control.DrawFeature(vectors,
                            OpenLayers.Handler.Box),
                select: new OpenLayers.Control.SelectFeature(vectors),
            };

            for(var key in drawControls) {
                map.addControl(drawControls[key]);
            }


function toggle(feature){
        var linecontrol = drawControls['line'];
        linecontrol.deactivate();
}

I get an error as soon as the control gets deactivated:
this.point has no properties
-> this.point.destroy();

Here's the trace from FireBug:
destroyFeature()Point.js (line 128)
destroyFeature()Path.js (line 81)
finalize()Point.js (line 139)
dblclick(dblclick clientX=0, clientY=0)Path.js (line 240)
triggerEvent("dblclick", dblclick clientX=0, clientY=0)Events.js (line 612)
handleBrowserEvent(dblclick clientX=0, clientY=0)Events.js (line 640)
bindAsEventListener(dblclick clientX=0, clientY=0)

Looks like the control gets deactivated too early in the feature-adding process. Is there any advice on how to deactivate a draw control after drawing a feature?

Thanks,

Kevin

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

Reply via email to