我正在尝试将JXMapViewer(来自swingx-ws)用于Open Street Maps。我想知道是否有可能在JXMapViewer中基于航向而不是向北显示地图图块。例如,普通的汽车GPS导航系统可让您做到这一点。
我仔细阅读了文档,似乎没有一种简单的方法可以做到这一点。除了JXMapViewer之外,还有其他事情可以做到这一点吗?
最佳答案
没关系,我找到了解决方案。这是我的操作方式(如果有人感兴趣):
我继承了JXMapViewer,并覆盖了paint方法。
在绘画方法中,JPanel的内容被转换为BufferedImage,然后根据角度旋转,然后在面板顶部绘画。
所以super.paint()-> BufferedImage->对它应用affineTransformation->绘制新图像。
当然,考虑到图像已旋转的事实,您还需要重写convertGeoPositionToPoint和convertPointToGeoPosition方法。