对于 openlayers 2,您有一个名为 beforefeatureadded 的事件,您可以在实际添加新功能之前进行验证。什么是 OpenLayers 3 的 beforefeatureadded 事件?
OpenLayers 2 示例:
layer.events.register("beforefeatureadded", layer, validationFunction);
最佳答案
与 OpenLayers 2 beforefeatureadded
事件等效的是为绘制的要素使用暂存集合:
var source = new ol.source.Vector();
var features = new ol.Collection();
features.on('add', function(evt) {
var feature = evt.element;
if (conditionMet(feature)) {
source.addFeature(evt.element);
}
// clear the staging collection
features.pop();
});
也可以使用 Draw 条件,这正是 @robert-smith 在这里真正想要的:
var draw = new ol.interaction.Draw({
condition: function(evt) {
return ol.events.condition.noModifierKeys(evt) && conditionMet(evt);
}
});
关于javascript - beforefeatureadded 事件等效于 OpenLayers 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35344121/