在OpenLayers3 v3.5中,你如何始终启用徒手画?启用徒手绘制的默认设置是通过freehandCondition
的{{1}}属性完成的,默认情况下该属性当前设置为shift键。
ol.interaction.Draw
但我不想那样。我不希望按下shift键来启用徒手画。我希望通过单击并拖动来启用徒手画,而不使用任何键修饰符。
我试过了:
draw = new ol.interaction.Draw({
source: drawLayer.getSource(),
type: 'LineString',
freehandCondition: ol.events.condition.shiftKeyOnly
});
freehandCondition: ol.events.condition.always
freehandCondition: ol.events.condition.click
但这些都不起作用。
你可能想知道通过这样做可以平移地图,但我已经通过更改默认交互来禁用平移,以便freehandCondition: ol.events.condition.noModifierKeys
答案 0 :(得分:4)
您错过了the documentation,condition
的{{1}}参数。它与ol.interaction.Draw
冲突。
应该如下(测试)
freehandCondition
查看this Fiddle进行演示。
我可能错过了一个更好的选择。如果行为不完全符合预期的行为,您可能还需要尝试其他条件。