java - JXMapViewer 将方向更改为 Heading Up

标签 java openstreetmap tiles swingx jxmapviewer

我正在尝试将 JXMapViewer(来自 swingx-ws)与 Open Street Maps 一起使用。我想知道是否可以在 JXMapViewer 中基于航向而不是北方向上显示 map 图 block 。例如,普通的汽车 GPS 导航系统可以让您做到这一点。

我查看了文档,似乎没有一种直接的方法可以做到这一点。除了 JXMapViewer 之外,还有其他东西可以实现这一点吗?

最佳答案

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

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

所以 super.paint()-> BufferedImage-> 对其应用 affineTransformation-> 绘制新图像。

当然,考虑到图像已旋转,您还需要重写 convertGeoPositionToPoint 和 convertPointToGeoPosition 方法。

关于java - JXMapViewer 将方向更改为 Heading Up,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2654503/

相关文章:

java - 使用依赖注入(inject)容器时显式依赖

java - BIRT:复杂折线图

r - 如何从R中的城市名称和国家获得经纬度坐标?

spring - Tomcat 上下文根 - 将 Spring 应用程序部署到 Tomcat 时出现 Tiles 异常

java - 休息。 Jersey 。如何以编程方式选择返回 : JSON or XML? 的类型

android - OSMDroid 中的航空照片 map - Bing?或者是什么?

api - "Search within distance"OpenStreetMap 的 API

javascript - Openlayers 4+ 使用本地矢量图 block (.pbf),无需服务器

redirect - Shiro 不会重定向到未经授权的 Url 和无效登录 - Shiro with Spring and Tiles

java - JPanel 中的组件不会自动换行