修改交互:如何只移动(线段或多边形)顶点而不添加新顶点

时间:2017-04-14 09:55:14

标签: openlayers

目标:我需要通过移动现有顶点而不是添加新顶点来编辑矢量图层,因为我有一个表格,其中我显示每个顶点的坐标。当我移动一个顶点时,我必须更新表格。

研究: 我检查了openlayers 4.6.5 Interaction Modify docs的文档 并检查了“条件”选项。

它说:

  

一个函数,它接受ol.MapBrowserEvent并返回一个布尔值,以指示是否将该事件视为添加或移动顶点到草图。默认为ol.events.condition.primaryAction。

所以“添加或移动”不是我想要的。

是否有可能只移动顶点而不添加新顶点?

1 个答案:

答案 0 :(得分:0)

OpenLayers v5.3.0 现在具有以下功能:

只需将insertVertexCondition: ol.events.condition.never(或您想要的任何条件)作为修改交互的选项即可。

完整示例:

var modify = new ol.interaction.Modify({
    features: selection,
    insertVertexCondition: ol.events.condition.never
});
map.addInteraction(modify);