openlayers3如何始终启用徒手绘制

时间:2015-05-24 05:36:15

标签: javascript openlayers-3

在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

1 个答案:

答案 0 :(得分:4)

您错过了the documentationcondition的{​​{1}}参数。它与ol.interaction.Draw冲突。

应该如下(测试)

freehandCondition

查看this Fiddle进行演示。

我可能错过了一个更好的选择。如果行为不完全符合预期的行为,您可能还需要尝试其他条件。