我正在使用openlayers,并且能够使用DrawFeature和OpenLayers.Handler.Path绘制线条。现在我需要提供一个能够绘制水平/垂直线的选项。这意味着当用户开始绘制直线并将鼠标移动到一个角度时,如果角度小于x轴的45度,它将只绘制水平,如果角度大于45度,它将开始绘制垂直线。
你有什么建议吗?
发布于 2012-11-26 13:29:02
这是一个棘手的问题。我想您应该以某种方式组合多个控件。
我会试着在你想要开始画的时候画两个隐藏的向量。一个向量用于水平轴,另一个向量用于垂直方向。当然,它们会在你的起点相交
您要绘制的实际直线应捕捉到这些矢量之一。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
唯一的区别是,你只能在知道原点的情况下绘制“网格”。我将从一个假设您这样做的示例开始。
https://stackoverflow.com/questions/8217939
复制相似问题