2014-03-27 5 views
1

Android 프로그래밍에서 새로 생겼습니다. Google지도에 마커를 표시하고 싶습니다. 이 예제에서는 매 30 초마다 하드 코딩 된 lat, lng 및 플롯 마커를 사용했습니다. 이 응용 프로그램에 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); 
관련 문제