2014-03-27 36 views
1

我是Android編程新手。我想在谷歌地圖上繪製標記。在這個例子中,我每30秒就使用硬編碼經緯度和繪圖標記。我爲這個應用程序使用了ScheduledExecutorService。但標記在我的地圖上不可見。在logcat上,日誌是可見的。有人可以幫助我或指出我正確的解決方案。以下是我的代碼片段。如何使用ScheduledExecutorService每30秒在地圖上添加標記

scheduleTaskExecutor= Executors.newScheduledThreadPool(5); 

    scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() { 
     public void run() { 

      Log.d("scheduleTaskExecutor log : ","run every 10 seconds"); 

     mMap.addMarker(new MarkerOptions() 
     .position(defaultLatLng) 
     .title("T69") 
     .snippet("Your're here")); 


     } 
    }, 0, 30, TimeUnit.SECONDS); 

TQ。

回答

0

好的..我得到了解決方案。剛剛使用runOnUiThread。示例如下:

scheduleTaskExecutor= Executors.newScheduledThreadPool(5); 

    scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() { 
     public void run() { 
      Log.d("RUN RUN RUN ","run every 10 seconds"); 
      runOnUiThread(new Runnable() { 
      public void run() { 
       // update your UI component here. 
      try { 
       mMap.addMarker(new MarkerOptions() 
       .position(defaultLatLng) 
       .title("T69)); 
      } catch (Exception e) { 
       // TODO Auto-generated catch block 
       Log.d("MAP" ,e.getMessage()); 
      } 
      } 
      }); 
     } 
    }, 0, 10, TimeUnit.SECONDS); 
相關問題