这是我的问题,我有一个列表 0...n-1。在这个列表中,我有 n 个叠加层。我需要在地图上模拟一辆移动的汽车,它由覆盖层表示。我尝试做一个 AsyncTask,它在主线程上生成覆盖,但是当我拖动 mapview 时,它会因 currentmodificationexception 而崩溃。这是一个迭代器的问题,因为我无法管理来自其他线程的任何覆盖。我能怎么做?
问问题
88 次
1 回答
0
除了使用 n 个叠加层,您可以只使用一个叠加层并覆盖 draw 方法以将汽车绘制在正确的位置。
您仍然可以使用异步任务来定义汽车位置 (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 ...
}
祝你好运。
于 2012-10-06T15:28:06.460 回答