2011-11-21 30 views
6

私はOpenlayersを使用しており、DrawFeatureとOpenLayers.Handler.Pathを使って線を描くことができます。今、私は水平/垂直線を描画するためのオプションを提供する必要があります。つまり、ユーザーが描画線を開始してマウスをある角度に動かすと、角度がx軸に対して45度よりも小さい場合は水平のみが描画され、角度が45度を超える場合は垂直線が描画されます。openLayersで水平線を描くにはどうすればいいですか?

これを行う方法に関するアイデアはありますか?

答えて

1

これは面倒なものです。私は何とか複数のコントロールを組み合わせるべきだと思います。

私は描画を開始したいときに2つの隠れたベクトルを描こうとします。横軸は1つ、縦軸は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

唯一の違いは、あなたが起源を知っている場合にのみ、「グリッド」を描くことができるということです。私は、あなたがそうすると仮定する例から始めます。

関連する問題