我目前正在使用地图,每10米我使用LocationListener来刷新我的位置并获得新的纬度和经度。现在我希望用户正在使用的路线将显示为红线。因此,每次调用LocationListener类的OnLocationChange()时,我都想用最后一个位置和新位置之间的一行更新地图。
到目前为止,我添加了以下内容:
private void initializeDraw() {
lineOptions = new PolylineOptions().width(5).color(Color.RED);
lineRoute = workoutMap.addPolyline(lineOptions);
}
drawTrail();
现在应该在此函数中插入什么,以便每次将新获得的位置作为一个点添加并从最后一个点到新点绘制一条线。
由于
答案 0 :(得分:12)
首先将Location
翻译成LatLng
:
LatLng newPoint = new LatLng(location.getLatitude(), location.getLongitude());
然后在现有的点列表中添加一个点:
List<LatLng> points = lineRoute.getPoints();
points.add(newPoint);
lineRoute.setPoints(points);