[OpenLayers-Users] Deactivate Draw-Control after feature added

Kevin Kempfer mail at kevinkempfer.de
Mon Apr 7 04:13:28 EDT 2008


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3249 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.osgeo.org/pipermail/openlayers-users/attachments/20080407/7511700e/smime.bin


More information about the Users mailing list