JXMapViewer将方向更改为Heading Up

时间:2010-04-16 16:15:04

标签: java openstreetmap tiles swingx jxmapviewer

我正在尝试使用JXMapViewer(来自swingx-ws)和Open Street Maps。我想知道是否可以在JXMapViewer中显示基于向上的地图图块,而不是在North向上。例如,普通车载GPS导航系统可以让你这样做。

我查看了文档,似乎没有一种简单的方法可以做到这一点。除了JXMapViewer之外,还有其他什么能够实现这一目标吗?

1 个答案:

答案 0 :(得分:3)

没关系,我找到了解决方案。我是这样做的(如果有人感兴趣的话):

我将JXMapViewer子类化,并覆盖了paint方法。 在paint方法中,JPanel的内容被转换为BufferedImage,然后根据角度旋转,然后在面板的顶部绘制。

所以super.paint() - > BufferedImage->对它进行仿射转换 - >绘制新图像。

当然,您还需要覆盖convertGeoPositionToPoint和convertPointToGeoPosition方法,同时考虑到图像旋转的事实。