我想知道是否有可能限制你在矢量层上绘制的特征数量。如果我已经画了一个多边形,然后再画一个,它会删除第一个特征。
如果没有,是否可以添加一个监听器到矢量层,这样我就可以擦除所有的特征时,点击绘制?
谢谢! !
你不能在Vector Layer上设置最大数量的特征,但它有很多事件,你可以在其中注入自己的逻辑。以下是可用的事件:
"beforefeatureadded", "beforefeaturesadded",
"featureadded", "featuresadded", "beforefeatureremoved",
"beforefeaturesremoved", "featureremoved", "featuresremoved",
"beforefeatureselected", "featureselected", "featureunselected",
"beforefeaturemodified", "featuremodified", "afterfeaturemodified",
"vertexmodified", "vertexremoved", "sketchstarted",
"sketchmodified", "sketchcomplete", "refresh"
你可以使用"beforefeatureadded",例如:
your_vectror_layer.events.on({'beforefeatureadded': function(){
//Remove first feature or whatever you want to do
}});
你可以创建一个按钮,当你点击它时,它会删除矢量图层中的所有特征:
map.layers [1] .removeAllFeatures ();
这里1是我的图层的id(我的矢量图层是OSM图层之后的第二个图层)
祝你好运