Open Street Maps で JXMapViewer (swingx-ws から) を使用しようとしています。北上ではなく、上向きに基づいて JXMapViewer にマップ タイルを表示できるかどうか疑問に思っていました。たとえば、通常の車の GPS ナビゲーション システムではそれが可能です。
私はドキュメントに目を通しましたが、これを行う簡単な方法はないようです。JXMapViewer 以外にこれを実現するものはありますか?
Open Street Maps で JXMapViewer (swingx-ws から) を使用しようとしています。北上ではなく、上向きに基づいて JXMapViewer にマップ タイルを表示できるかどうか疑問に思っていました。たとえば、通常の車の GPS ナビゲーション システムではそれが可能です。
私はドキュメントに目を通しましたが、これを行う簡単な方法はないようです。JXMapViewer 以外にこれを実現するものはありますか?
気にしないで、解決策を見つけました。これが私がやった方法です(誰かが興味を持っている場合):
JXMapViewer をサブクラス化し、ペイント メソッドをオーバーライドしました。Paint メソッドでは、JPanel のコンテンツが BufferedImage に変換され、角度に従って回転され、パネルの上にペイントされます。
そのため、super.paint()-> BufferedImage-> affineTransformation をそれに適用します-> 新しい画像を描画します。
もちろん、画像が回転していることを考慮して、convertGeoPositionToPoint メソッドと convertPointToGeoPosition メソッドもオーバーライドする必要があります。