朋友们,我能够从 SqliteDb 获取纬度和经度,分别在谷歌地图中放置一个标记。但我的问题是 1. 我想绘制一条从当前位置到从 Sqlite Db 获取的纬度和经度的路线 2. 纬度和经度的 db 值将每 2 分钟更改一次,我想相应地更改标记中的位置和还在更新的值和当前位置之间路由。
我试过运行下面的代码。它在 Main 类中运行完美,但是当我尝试使用线程时它失败了,因为使用了相同的计时器。
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);
}