//导航路线描述信息类 AMapNaviPath naviPath = mAMapNavi.getNaviPath(); List<NaviLatLng> wayPoint = naviPath.getWayPoint(); int size = wayPoint.size(); Log.d("TAGAA", "onClick: 途径点有几个 "+size); 现在有3个途经点, 我怎么删除其中一个?
时间: 2024-03-09 09:48:42 浏览: 131
删除多段线上的指定节点
3星 · 编辑精心推荐
你可以通过以下步骤来删除一个途经点:
1. 获取当前导航路径的途经点列表 `wayPoint`。
2. 找到需要删除的途经点的索引,例如要删除第二个途经点,可以使用以下代码:
```
int indexToRemove = 1; // 索引从0开始
```
3. 将需要删除的途经点从列表中移除:
```
wayPoint.remove(indexToRemove);
```
注意,这个操作会改变原有的途经点列表 `wayPoint`,所以如果需要保留原有的途经点列表,可以先将其复制一份再进行操作。
4. 更新导航路径:
```
mAMapNavi.calculateDriveRoute(startList, endList, wayPoint, strategy);
```
这个函数会重新计算导航路径并更新地图显示。
总的代码示例:
```
AMapNaviPath naviPath = mAMapNavi.getNaviPath();
List<NaviLatLng> wayPoint = new ArrayList<>(naviPath.getWayPoint());
int indexToRemove = 1;
wayPoint.remove(indexToRemove);
mAMapNavi.calculateDriveRoute(startList, endList, wayPoint, strategy);
```
阅读全文