android - Android Google maps-v2 以前的折线未删除
问题描述
在尝试了所有以前的答案后,StackOverflow
我发布了这个答案。
我正在显示驾驶员的实时位置以及从该位置到特定目的地的路径。我想要的是尽快删除旧的折线,驱动程序的实时位置会发生变化,但它并没有变,而且折线的数量正在增加。
这是我要删除折线但它不起作用的代码。
private void drawRouteOnMap(GoogleMap map, List<LatLng> positions) {
PolylineOptions options = new PolylineOptions().width(12).color(Color.GREEN).geodesic(true);
options.addAll(positions);
if (polyline != null) {
polyline.remove();
Log.e("Old Poly", "Removed");
}
Log.e("Poly", "Added");
polyline = mMap.addPolyline(options);
}
解决方案
像这样试试。
// decleare it globally
List<Polyline> polylines = new ArrayList<Polyline>();
private void drawRouteOnMap(GoogleMap map, List<LatLng> positions) {
PolylineOptions options = new PolylineOptions().width(12).color(Color.GREEN).geodesic(true);
for(Polyline polyline: polylines){
polyline.remove();
}
polylines.clear();
for(LatLng latlng: positions){
options.add(latlng);
polylines.add(mMap.addPolyline(options);
}
}
推荐阅读
- arrays - 从结构数组中查找最旧的日期(C 代码)
- c# - 尝试添加水印时,iText7 文档没有页面
- javascript - 我想在我的联系表格 7 下拉菜单中呈现图像值我正在使用 Wordpress
- sql - 如何使用 SQL 根据计数列取消分组记录
- android - 如何调整android渐变背景?
- azure - 无法通过 VPN 从本地专用 IP 网络访问 Azure Key Vault。IP 私有地址范围被禁止
- javascript - Javascript:同一顶级域上的浏览器选项卡之间的通信
- meshlab - 2020.12 Meshlabserver.exe在哪里
- c - Timing Quake III hack 仅在使用优化编译时有效
- python - 如何在 GridLayout 中拉伸 QSvgWidget