2012-10-06 22 views
0

這是我的問題,我有一個列表0 ... n-1。在這個列表中,我有n個覆蓋。我需要在地圖上模擬一輛mo car的汽車,由覆蓋層覆蓋。我試着做一個AsyncTask,它在主線程上產生疊加層,但是當我拖動mapview時,它會與currentmodificationexception一起崩潰。這是一個迭代器的問題,因爲我無法管理其他線程的覆蓋。我能怎麼做?在地圖上生成一個覆蓋圖,用來模擬動畫012秒N3秒,模擬動畫

回答

0

除了使用n個疊加層,您只能使用一個疊加層並重寫繪製方法來將汽車繪製在正確的位置。

您仍然可以使用異步任務來定義汽車位置(x,y),並在疊加繪圖中使用此X,Y座標來定位汽車。

doInBackground(){ 
    //.. 
    carOverlay.set(x,y); 
    //.. 
} 

public class CarOverlay extends Overlay { 
//.. 
set(intx, int y){ 
    this.x = x; 
    this.y = y; 
} 

@Override 
public void draw(Canvas canvas, MapView mapview, boolean shadow) { 
    //.. 
    darwCar(x,y); //you need to create your darwCar method ... 
} 

祝你好運。

+0

Ty man it works! – Meesta