Vector类是继承了OpenLayers.Layer的,Layer的所有事件类型都能在Vector中被使用。


一、事件类型的注册


vector_layer.event.register(type,obj,listener);


vector_layer是矢量图层的名字,上面的代码能够将事件注册到事件类型中去,除了Layer的事件类型外,矢量图层还支持以下事件:


1.afterfeaturemodified:在要素改动后后触发;


2.beforefeatureadded:在要素添加到地图上去的时候;


3.featuremoved:在单个要素移动后触发;


还有一些在这里就不介绍了,API中都有详细的说明。



二、Vector Layer事件应用实例


1.新建地图,添加vetor layer和EditingToolbar;


2.定义函数


function before_feature_added(feature){console.log('before adding a feature',feature)};


3.事件注册


map.layers[1].events.register('beforefeatureadded',this,before_feature_added);


4.事件取消注册


map.layers[1].events.unregister('beforefeatureadded',this,before_feature_added);