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);