2012-03-26 88 views
1

我正在开发一个Windows桌面应用程序,它将不断显示随着车辆移动而移动的地图,从GPS单元获取位置。我写了一个快速的小演示来完成这个任务,但它总是闪烁。我需要实施一个运动顺畅的解决方案。我有几件事情,希望能够解决这个问题。GeoTools和JOGL

首先,我认为最好是在可见窗口大小的2到3倍的范围内创建地图,然后将窗口移动到地图上。当窗口靠近一侧时,将在替换当前地图的背景中构建新地图。我仍在研究如何做到这一点。 (提示欢迎!!哈哈)

我认为这将是一大进步,并为应用程序打开硬件加速的终极解决方案。根据我在论坛中读到的内容,JOGL是将硬件加速添加到Java桌面应用程序的唯一实用方式。所以我就在这里。

有没有人玩过添加JOGL到GeoTools。我现在不是在谈论3D,只是让显示效率更高。看起来这将是一个很大的工作来实现这个改变,因为它似乎会影响几乎所有来自JMapPane的代码。任何建议,代码示例和提示将不胜感激!

回答

1

您可以使用GLG2D项目使用JogAmp JOGL 2加速硬件来渲染Swing JComponent,例如JMapPane。这将允许您在对GeoTools源进行最小更改的情况下使用硬件加速。 http://brandonborkholder.github.io/glg2d/

JComponent renderPane = new JMapPane(... 

JFrame frame = new JFrame("My GeoTools application"); 
frame.setContentPane(new GLG2DCanvas(renderPane)); 
...