2010-04-16 50 views
3

我想在开放街道地图中使用JXMapViewer(来自swingx-ws)。我想知道是否可以根据标题在JXMapViewer中显示地图图块,而不是在北上。例如,正常的车载GPS导航系统可以让你做到这一点。JXMapViewer改变方向为标题

我查看了文档,似乎没有一个简单的方法来做到这一点。除了JXMapViewer之外,还有其他的东西能够实现吗?

回答

3

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

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

so super.paint() - > BufferedImage->将affineTransformation应用于它 - >绘制新图像。

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