gpt4 book ai didi

javascript - openlayers3如何始终启用徒手绘制

转载 作者:行者123 更新时间:2023-11-29 10:12:37 25 4
gpt4 key购买 nike

在 OpenLayers3 v3.5 中,如何始终启用徒手绘制?启用徒手绘制的默认设置是通过 ol.interaction.DrawfreehandCondition 属性完成的,目前默认设置为 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

但是这些都不起作用。

您可能想知道这样做会平移 map ,但我已经通过更改我的默认交互来禁用平移,以便 dragPan: false

最佳答案

您错过了 the documentationol.interaction.Drawcondition 参数。它与 freehandCondition 冲突。

它应该像下面这样(已测试)

draw = new ol.interaction.Draw({
source: drawLayer.getSource(),
type: 'LineString',
condition: ol.events.condition.singleClick,
freehandCondition: ol.events.condition.noModifierKeys
});

this Fiddle用于演示。

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

关于javascript - openlayers3如何始终启用徒手绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30420416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com