私はOpenlayersを使用しており、DrawFeatureとOpenLayers.Handler.Pathを使って線を描くことができます。今、私は水平/垂直線を描画するためのオプションを提供する必要があります。つまり、ユーザーが描画線を開始してマウスをある角度に動かすと、角度がx軸に対して45度よりも小さい場合は水平のみが描画され、角度が45度を超える場合は垂直線が描画されます。openLayersで水平線を描くにはどうすればいいですか?
これを行う方法に関するアイデアはありますか?
私はOpenlayersを使用しており、DrawFeatureとOpenLayers.Handler.Pathを使って線を描くことができます。今、私は水平/垂直線を描画するためのオプションを提供する必要があります。つまり、ユーザーが描画線を開始してマウスをある角度に動かすと、角度がx軸に対して45度よりも小さい場合は水平のみが描画され、角度が45度を超える場合は垂直線が描画されます。openLayersで水平線を描くにはどうすればいいですか?
これを行う方法に関するアイデアはありますか?
これは面倒なものです。私は何とか複数のコントロールを組み合わせるべきだと思います。
私は描画を開始したいときに2つの隠れたベクトルを描こうとします。横軸は1つ、縦軸は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
唯一の違いは、あなたが起源を知っている場合にのみ、「グリッド」を描くことができるということです。私は、あなたがそうすると仮定する例から始めます。