目标:我需要通过移动现有顶点而不是添加新顶点来编辑矢量图层,因为我有一个表格,其中我显示每个顶点的坐标。当我移动一个顶点时,我必须更新表格。
研究: 我检查了openlayers 4.6.5 Interaction Modify docs的文档 并检查了“条件”选项。
它说:
一个函数,它接受ol.MapBrowserEvent并返回一个布尔值,以指示是否将该事件视为添加或移动顶点到草图。默认为ol.events.condition.primaryAction。
所以“添加或移动”不是我想要的。
是否有可能只移动顶点而不添加新顶点?
答案 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);