LineStringの始点/終点の変更とOpenLayersでの接続の維持


8

ユーザーが都市のストリートグリッドを表示および編集できるアプリケーションを開発しています。通りはベクターレイヤー上のフィーチャとして提示され、ユーザーは要素(属性と、(フィーチャのLineStringである)ジオメトリの両方)を変更できる必要があります。ジオメトリの編集は、少なくとも現時点では、ラインストリングの端点のドラッグに限定されています。

トリックは、新しいエンドポイントがフィーチャの現在のジオメトリと交差する必要があるため、ユーザーが道路をドラッグしてストリートグリッドの外側から開始できないようにすることです。また、ジオメトリを変更すると、隣接するジオメトリがあれば、それに影響するはずです。つまり、別の道路が一方の終点から始まる場合、両方の始点/終点を変更する必要があります。

OpenLayersがすぐにこれをサポートするとは思わないので、これをどのように実装し始めればよいですか?


openlayersでスナップを使用しようとしましたか?
アラゴン

「自分」ではなく、他の要素にのみスナップできると思います。ただし、フィーチャを一時的に別のベクターレイヤーにクローンし、スナップ機能を使用してクローンを元のフィーチャにスナップし、変更したフィーチャを元のレイヤーにクローンして戻すことができると思います。ただし、隣接するジオメトリの変更に関する問題は解決しません。
mrLite 2013年

その良い質問です。賛成票。
マグノC

私はこれを行うことができるカスタムのコード化されたプロプライエタリエディターを使用していましたが、残念ながら、それは私が知らないオープンソースライブラリを使用していました。GDTと呼ばれる会社が使用した非常に便利でした
ルイス

回答:


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.