6
我想在Android設備上使用GPS繪製我的軌跡。如何在Android設備上顯示移動軌跡
我沒有問題顯示完成的路線,但我發現難以顯示跟蹤,因爲我正在移動。
到目前爲止,我找到了兩種不同的方式來做到這一點,但都不是特別令人滿意。
方法1
PolylineOptions track = new PolylineOptions();
Polyline poly;
while (moving) {
Latlng coord = new LatLng(lat,lng); // from LocationListener
track.add(coord);
if (poly != null) {
poly.remove();
}
poly = map.addPolyline(track);
}
即建立折線添加新的座標,然後將它添加回來之前刪除它。
這是非常慢。
方法2
oldcoord = new LatLng(lat,lng);;
while (moving) {
PolylineOptions track = new PolylineOptions();
LatLng coord = new (LatLng(lat,lng);
track.add(oldcoord);
track.add(coord);
map.addPolyline(track);
oldcoord = coord;
}
即繪製一系列單折線。
雖然這使得比方法1快了很多,它看起來相當參差不齊,特別是在較低的縮放級別,因爲每條線的方形,它僅僅是實際接觸的角落。
有沒有更好的方法,如果是的話,它是什麼?
感謝您的回答。我最終自己想出了這個(我的方法1)。我遇到的問題是,當我迭代構建和刪除多段線的座標的ArrayList時,處理將持續進行。但是,當我將該處理卸載到onChangeListener時,它的工作就像一個魅力。 – 2013-04-17 18:22:45
@PeteH你能不能告訴我,方法routePoints.add(mapPoint)中mapPoint是什麼? – Keshav1234 2015-05-14 12:26:15
mapPoint只是一個單獨的LatLng對象,即您的地圖顯示所需的一個點 – PeteH 2015-05-23 05:51:14