在 OpenLayers3 v3.5 中,如何始终启用徒手绘制?默认启用徒手绘制是通过freehandCondition
的财产ol.interaction.Draw
,当前默认设置为 Shift 键。
draw = new ol.interaction.Draw({
source: drawLayer.getSource(),
type: 'LineString',
freehandCondition: ol.events.condition.shiftKeyOnly
});
但我不想那样。我不想按下 Shift 键来启用徒手功能。我希望通过单击并拖动来启用徒手操作,而无需任何按键修饰符。
我试过了:
freehandCondition: ol.events.condition.always
freehandCondition: ol.events.condition.click
freehandCondition: ol.events.condition.noModifierKeys
但这些都不起作用。
您可能想知道这样做会平移地图,但我已经通过更改默认交互来禁用平移,以便dragPan: false
你错过了文档 http://openlayers.org/en/v3.5.0/apidoc/ol.interaction.Draw.html, the condition
参数为ol.interaction.Draw
。它与freehandCondition
.
应该像下面这样(经过测试)
draw = new ol.interaction.Draw({
source: drawLayer.getSource(),
type: 'LineString',
condition: ol.events.condition.singleClick,
freehandCondition: ol.events.condition.noModifierKeys
});
Look at 这个小提琴 https://jsfiddle.net/tdf08y9x/进行演示。
我可能错过了更好的选择。如果行为不完全符合预期,您可能还需要尝试其他条件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)