如何在openLayers中绘制水平线?

时间:2011-11-21 20:13:18

标签: openlayers

我正在使用openlayers并能够使用DrawFeature和OpenLayers.Handler.Path绘制线条。现在我需要提供一个能够绘制水平/垂直线的选项。这意味着当用户开始绘制线条并将鼠标移动到一个角度时,如果角度与x轴小于45度,它将仅绘制水平,如果角度大于45度,它将开始绘制垂直线。

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:1)

这是一个棘手的问题。我想你应该以某种方式结合多个控件

我想尝试在你想要开始绘画时绘制两个隐藏的向量。一个矢量用于水平轴,一个用于垂直轴。当然,他们在你的起点相交

您想要绘制的实际线应该捕捉到其中一个向量。 http://dev.openlayers.org/docs/files/OpenLayers/Control/Snapping-js.html

你可以看一下对齐的例子: http://www.openlayers.org/dev/examples/snap-grid.html,  http://www.openlayers.org/dev/examples/wfs-snap-split.html

唯一的区别是,如果您知道原点,则只能绘制“网格”。我将从一个假设你的例子开始。