我想在 Android 设备上使用 GPS 绘制我的轨迹。
显示已完成的路线没有问题,但我发现在移动时很难显示轨道。
到目前为止,我已经找到了两种不同的方法来做到这一点,但都不是特别令人满意。
方法一
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);
}
即在添加新坐标之前建立折线将其删除,然后将其添加回来。
这是非常缓慢的。
方法二
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 渲染速度快得多,但它看起来非常参差不齐,尤其是在较低的缩放级别下,因为每条折线都是方形的,并且只有角实际接触。
有没有更好的方法,如果有,它是什么?