友人、 SqliteDb から緯度と経度を取得して、それぞれ Google マップにマーカーを配置できます。しかし、私の問題は1です.現在の場所からSqlite Db 2から取得した緯度と経度へのルートを描画したい.緯度と経度のdb値は2分ごとに変更され、それに応じてマーカーの場所を変更したいまた、更新された値と現在の場所の間をルーティングします。
以下のコードを実行してみました。メインクラスでは完璧に動作しますが、スレッドを使用しようとすると失敗し、タイマーを同じものに使用しました。
protected void mLocActivity() {
db.open();
class preciLoc extends TimerTask{
@Override
public void run() {
Cursor cr = db.fetchone(sLoc, "pos_mark", tblName, "pho", null, null);
if(cr.getCount()>0){
sLat = cr.getString(cr.getColumnIndex("lat"));
sLon = cr.getString(cr.getColumnIndex("lon"));
}
LatLng orgLoc = new LatLng(mLatitude,mLongitude);
LatLng desCur = new LatLng(Double.parseDouble(sLat), Double.parseDouble(sLon));
String url = getDirectionsUrl(orgLoc, desCur);
DownloadTask downloadTask = new DownloadTask();
downloadTask.execute(url);
rMap.moveCamera(CameraUpdateFactory.newLatLng(latLng))
CameraPosition camPos1 = new CameraPosition.Builder()
.target(destCurr).zoom(15).bearing(90).tilt(30).build();
rMap.animateCamera(CameraUpdateFactory
.newCameraPosition(camPos1));
drawMarker(desCur);
}
}
Timer timer = new Timer();
timer.schedule(new preciLoc(), 50000);
}