Kri*_*ris 5 android google-maps-android-api-2
我想知道使用 Google Maps API v2 在地图上绘制动态路线的最佳做法是什么。我想要一张能够在用户移动时延长路线的地图。使用 Polyline 和 PolylineOptions 似乎有明显的解决方案。但是在实例化折线后,我找不到一种简单的方法来添加点。绘制折线是这样的:
PolylineOptions polylineOptions = new PolylineOptions();
polylineOptions.add(POINT1, POINT2, POINT3);
Polyline line = googleMap.addPolyline(polylineOptions);
Run Code Online (Sandbox Code Playgroud)
但是在我将这条线传递给 GoogleMap 之后,我无法向它添加任何新点。就像是
polylineOptions.add(POINT1, POINT2, POINT3);
Run Code Online (Sandbox Code Playgroud)
不会向我的路线添加任何内容。
我可以添加完整的新折线。但难道没有一种方法可以延长现有的时间吗?我找到了一种方法,获取折线的所有点,添加新点,然后将它们写回线:
List<LatLng> points = line.getPoints();
points.add(POINT4);
line.setPoints(points);
Run Code Online (Sandbox Code Playgroud)
但对我来说似乎很麻烦。有任何想法吗?
查看文档,似乎polylineOptions.add(LatLng)和 googleMap.addPolyline(polylineOptions)方法返回该polylineOptions对象。第一个方法还将返回polylineOptions 添加到末尾的点。
我认为您必须再次添加polylineOptions或googleMap.addPolyline(polylineOptions)在googleMap.clear()第二次添加之前使用。像这样的东西:
polylineOptions = googleMap.addPolyline(polylineOptions);
// googleMap.clear();
googleMap.addPolyline(polylineOptions.add(point));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14479 次 |
| 最近记录: |