我通过在每个位置更新上传递坐标数组来使用谷歌 Map 并在其上绘制折线 . 在绘制折线后,我首先删除前一个,然后我根据更新的坐标数组列表绘制新的折线 . 问题是,谷歌 Map 正在绘制每个位置更新的起点到终点的单独折线 . 我知道错误是在调用事物的层次结构中的某个地方 . 任何人都可以帮我解决这个问题 .
这是我更新相机焦点和绘制折线的方法 .
private void moveCamera(Location location) {
if (location != null) {
if (polyline != null) {
polyline.remove();
}
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(location.getLatitude(), location.getLongitude()), 16));
coordList.add(new LatLng(location.getLatitude(), location.getLongitude()));
// Create polyline options with existing LatLng ArrayList
polylineOptions.addAll(coordList);
polylineOptions
.width(5)
.color(Color.RED);
// Adding multiple points in map using polyline and arraylist
polyline = mMap.addPolyline(polylineOptions);
}
}
2 回答
只是打电话
和
在添加新折线之前
得到了解决方案 . 我一次又一次地使用相同的旧PolylineOptions,将其声明为全局变量 . 现在,在每个情节之前,我创建了一个新的PolylineOptions实例,现在很好 .
这是更新的代码 .