你好 Stack Overflow 社区,
我是一个 Java 新手,我正在做一个简单的 Java 项目,我从(动态)源获取坐标(纬度和经度)并使用 JMapViewer(是的,不是 JXMapViewer)在地图上显示标记。我已将所有坐标放在两个 ArrayList(s) 中。它看起来像这样:
for(int i = 0; i < latArrayList.size(); i++){
map.addMapMarker(new MapMarkerDot((double)latArrayList.get(i), (double)longArrayList.get(i)));
}
编辑:地图是一个 jMapViewer 对象。
它工作得很好。问题是我需要这张地图使用计时器每 20 秒刷新一次,我发现的唯一方法是关闭和打开地图,如下所示:
theMap.setVisible(false);
theMap = new Map();
theMap.setVisible(true);
编辑:theMap 是我在主函数中创建的对象(jFrame 不是 jMapViewer)(如在演示中),我不能在其上使用 addMapMarker(如 theMap.addMapMarker(150.2,150.2))
好吧,正如您可以想象的那样,这很烦人(每 20 秒窗口关闭和打开一次,并且之前的“浏览”会话会丢失)。那么有没有办法刷新呢?通过动态添加标记还是仅刷新内容?
非常感谢。