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

Openlayers 修改交互:如何仅移动顶点(线串或多边形)而不添加新顶点,openlayers,Openlayers,目标:我需要通过移动现有顶点而不是添加新顶点来编辑向量层,因为我有一个表,其中显示了每个顶点的坐标。当我移动顶点时,我必须更新表格 调查: 我查看了openlayers 4.6.5的文档 并选中“条件”选项 它说: 一个函数,它接受ol.MapBrowserEvent并返回一个布尔值,以指示是否将该事件视为向草图添加或移动顶点。默认值为ol.events.condition.primaryAction 所以“添加或移动”不是我想要的 是否可以只移动顶点而不添加新的顶点?OpenLayers v5

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

调查: 我查看了openlayers 4.6.5的文档 并选中“条件”选项

它说:

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

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


是否可以只移动顶点而不添加新的顶点?

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

您试图移动的几何体是点、线串还是其他?@SumanthShastry我正在绘制线串,我希望只能移动顶点。不添加新功能。目前Openlayers中不存在该功能。您必须通过实现
ol.interaction.Pointer
interaction来编写定制代码。我认为它还没有实现。你能给我一些更多的提示吗?我想知道你是否覆盖了自定义样式,并将次要顶点设置为使用空样式,如果这足够的话?