Openlayers绘制多边形删除双击选项

问题描述 投票:0回答:1

我正在使用Openlayers 4构建UI。我收到的请求是不允许用户双击以完成当前的.Draw交互。我通过使用LineString选项在maxPoints上管理这个,并且只允许用户绘制直线(根据我的要求)。

我需要用Polygon做同样的事情,但不能让它工作。我尝试过使用finishCondition,但这没有用。

这是可以在Openlayers中完成的吗?

JS Fiddle在我的机器上抛出大量错误,我会尽快添加一个例子。

编辑

这是一个基本的jsfiddle。您可以从finishCondition切换返回布尔值,当设置为true时,单击和双击结束多边形绘图。设置为false时,绘图无法结束。

如果用户双击,我需要找到允许我返回false的条件,否则返回true。

reactjs openlayers
1个回答
1
投票

好的,经过一些进一步的调查后,我找到了一个解决方案,如jsfiddle所示。

我已经使用on drawstart事件来计算和设置多边形中第一个点的坐标,在finishCondition中我找到它所在的当前像素,然后用它来查看它是否在点击点的10px范围内,如果它如果没有结束多边形然后继续绘图。

我很高兴,如果那里的任何人都可以向我展示一种更优雅的方式来做到这一点,但是现在这似乎可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.