作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 openlayers 并且能够使用 DrawFeature 和 OpenLayers.Handler.Path 绘制线条。现在我需要提供一个选项来绘制水平/垂直线。这意味着当用户开始绘制线条并将鼠标移动到某个角度时,如果该角度与 x 轴的夹角小于 45 度,它将仅绘制水平线,如果该角度大于 45 度,它将开始绘制垂直线。
关于如何做到这一点的任何想法?
最佳答案
这是一个棘手的问题。我想你应该以某种方式组合多个控件
我会在你想开始绘制的那一刻尝试绘制两个隐藏向量。一个向量用于水平轴,一个用于垂直轴。当然它们在你的起点相交
您要绘制的实际线条应捕捉到这些向量之一。
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
唯一的区别是,如果您知道原点,您只能绘制“网格”。我将从一个假设你这样做的例子开始。
关于openlayers - 如何在openLayers中绘制水平线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8217939/
我是一名优秀的程序员,十分优秀!