9

我目前有一张地图,每 10 米我使用 LocationListener 刷新我的位置并获取新的纬度和经度。现在我希望用户所走的路线会用红线显示。所以每次调用 LocationListener 类的 OnLocationChange() 时,我想用最后一个位置和新位置之间的一条线来更新地图。

到目前为止,我已经添加了以下内容:

private void initializeDraw() {
    lineOptions = new PolylineOptions().width(5).color(Color.RED);
    lineRoute = workoutMap.addPolyline(lineOptions);
}

在 OnLocationChanged 期间,我称之为:

drawTrail();

现在我应该在这个函数中插入什么,以便每次它将新获得的位置添加为一个点并从最后一个点到新点画一条线。

谢谢

4

1 回答 1

14

First translate Location into LatLng:

LatLng newPoint = new LatLng(location.getLatitude(), location.getLongitude());

Then add a point to existing list of points:

List<LatLng> points = lineRoute.getPoints();
points.add(newPoint);
lineRoute.setPoints(points);
于 2013-06-17T22:08:00.297 回答