Нарисуйте маршрут в картах Android

В следующем коде:

если (c.moveToFirst())

    {


     do{


   longitude=Integer.parseInt(c.getString(0));


   latitude=Integer.parseInt(c.getString(1));


    p = new GeoPoint(latitude,longitude);


   geoPointsArray.add(p);


   theRouteDraw();


   }while(c.moveToNext());


     }

Где c - курсор, полученный из базы данных, где я хранил данные GPS (долгота, широта)

          Cursor c=db.getAllData();

А также:

theRouteDraw(); это метод, который рисует линию между двумя точками GPS

Как я уже говорил выше в моем geoPointsArray[], у меня есть все эти пункты, а затем

Я передаю его в theRouteDraw(); где линия между этими точками проведена мгновенно!!!!

Теперь я хочу установить задержку в приведенном выше коде, чтобы поместить точку в geoPointsArray[] и вызвать theRouteDraw()....... линию, которая будет рисоваться шаг за шагом

Если я не использую задержку, мое приложение будет заблокировано на некоторое время (не FC), пока не будет проведена линия...... потому что оно достигает многих точек, которые необходимо подключить на карте!!

Любая идея, как это сделать?????????????????

1 ответ

Решение

Вы должны использовать отдельный поток для выполнения theRouteDraw() функция: см. AsyncTask класс и примеры (такие как http://labs.makemachine.net/2010/05/android-asynctask-example/), как это сделать.

Это предотвратит блокировку вашего приложения.

Другие вопросы по тегам