2011-11-21 200 views
6

我使用的是openlayers,能夠使用DrawFeature和OpenLayers.Handler.Path來繪製線條。現在我需要提供一個可以繪製水平/垂直線的選項。這意味着當用戶開始繪製線並將鼠標移動到某個角度時,如果角度小於x軸的45度,則只繪製水平線,如果角度大於45度,則將開始繪製垂直線。如何在openLayers中繪製水平線?

有關如何做到這一點的任何想法?

回答

1

這是一個棘手的問題。我想你應該以某種方式結合多個控件

我會嘗試繪製兩個隱藏的矢量,在你想開始繪製的時刻。一個水平軸矢量和一個垂直軸。當然它們相交在你的出發點

你想繪製的實際線條應該捕捉到這些向量之一。 http://dev.openlayers.org/docs/files/OpenLayers/Control/Snapping-js.html

你可以看看的捕捉例子: http://www.openlayers.org/dev/examples/snap-grid.htmlhttp://www.openlayers.org/dev/examples/wfs-snap-split.html

唯一的區別是,你可以只畫「網格」,如果你知道的起源。我會從假設你的例子開始。