[OpenLayers-Users] How to use split events

emmexx emmexx at tiscalinet.it
Thu Oct 8 10:08:48 EDT 2009


Il 08/10/2009 15:20, Andreas Hocevar scrisse:
> Hi,
>
> ok, this is something different. How about the following split handler:
>
> split: function(event) {
> 	if (event.features.length>2) {
> 		event.features = [event.original.clone()];
>         }
> }

No way! :-(

It works with a 2 steps strategy:

split = new OpenLayers.Control.Split({
	layer: vlayer,
	eventListeners: {
		split: function(event) {								if (event.features.length>2)
				this.srcFeature=event.original.clone();
			}
		},
		aftersplit: function(event) {
			if (event.features.length<=2)				
vlayer.removeFeatures(event.features[event.features.length-1]);
			else	{
				vlayer.removeFeatures(event.features);
				vlayer.addFeatures(this.srcFeature);
			}
		}
	});

I don't know if there's a faster or cleaner way. Suggestions are welcome.

Thanks
   maxx



More information about the Users mailing list