簡體   English   中英

相當於OpenLayers 3的beforefeatureadd事件

[英]beforefeatureadded event equivalent for OpenLayers 3

對於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);
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM