删除和添加途径点不能同时写
时间: 2024-03-02 17:52:07 浏览: 54
libxl 控制excel的添加和删除
非常抱歉,我的理解有误。您说得对,删除和添加途径点不能同时执行,需要先删除再添加。以下是修改后的代码:
```
boolean removed = routeList.removeIf(node -> node.get(0).getName().contains(keyWord));
if (removed) {
BaiduNaviManagerFactory.getRouteGuideManager().deleteViaNodes();
List<BNRoutePlanNode> list = new ArrayList<>();
for (List<BNRoutePlanNode> planNodeList : routeList) {
list.add(planNodeList.get(0));
}
BaiduNaviManagerFactory.getCommonSettingManager().setViaPointCount(4);
BaiduNaviManagerFactory.getRouteGuideManager().addViaNodes(list);
BaiduNaviInitHelper.setCanSpeak(false);
showFullView();
isWayPoint = false;
} else {
speakWithoutFollowStep("抱歉,当前没有" + keyWord + "途经点");
}
```
在这段代码中,首先执行了删除操作,然后将剩余的途经点用一个列表保存起来。接着,使用 `addViaNodes()` 方法将剩余的途经点重新添加到导航 SDK 中,同时设置途经点的数量为 4。最后,关闭语音播报、显示全览图,并设置 `isWayPoint` 为 false。
阅读全文