您好堆棧溢出社區動態更新標記,在JMapViewer
我是一個Java新手,我做的,我拿座標從(動態)源一個簡單的Java項目(緯度和經度),並使用JMapViewer(是的而不是JXMapViewer)在地圖上顯示標記。我已經把所有的座標放在兩個ArrayList中。 它看起來像這樣:
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秒後窗口關閉並打開,之前的「瀏覽」會話丟失)。那麼有沒有辦法刷新它?通過動態添加標記或只刷新內容?
非常感謝。
感謝您的名單提示。 關於removeAllMapMarkers,對不起我的錯我使用了相同的名字,但一個是jMapViewer對象,另一個是我在main中創建的對象。 (就像他們給出的演示)。真對不起。將編輯說明。 –
爲什麼不在'map'上調用該方法?看看代碼後,它應該重新繪製自己。我不認爲有必要修改你的JFrame。 – assylias
+1'removeAllMapMarkers()'可以減少對'repaint()'的調用次數。 – trashgod