我在这里使用 maps android sdk 高级版在我的 android 应用程序中进行地图导航。
我已经成功实现了这里的地图导航。导航时,如果我偏离路线,则会发生重新路由计算,并显示到给定目的地的新路线,但如果我经过受限制的道路,那么这里的地图只显示重新路由,这是真的,因为从受限制的道路它无法计算路线。
但是有什么办法可以显示限制道路的最近出口,以便在此处的地图 android 上找到一条新的目的地路线?目前,在受限道路上,没有显示路线。
@Override
public void onRouteUpdated(@NonNull Route route) {
Log.d(TAG, "onRouteUpdated: called.");
//remake new route
map.removeMapObject(mapRoute);
// create a new MapRoute object
mapRoute = new MapRoute(route);
// display new route on the map
map.addMapObject(mapRoute);
}
上面的代码在受限道路上没有用。尝试使用监听器:
private NavigationManager.RerouteListener rerouteListener = new NavigationManager.RerouteListener() {
@Override
public void onRerouteBegin() {
super.onRerouteBegin();
Toast.makeText(activity, "reRouteListener begin...", Toast.LENGTH_SHORT).show();
}
@Override
public void onRerouteEnd(@NonNull RouteResult routeResult, RoutingError routingError) {
super.onRerouteEnd(routeResult, routingError);
StringBuilder stringBuilder = new StringBuilder();
for (RouteResult.ViolatedOption violatedOption: routeResult.getViolatedOptions()) {
stringBuilder.append(violatedOption.toString());
}
Toast.makeText(activity, "routeresult end: " + stringBuilder, Toast.LENGTH_SHORT).show();
}
};
有时违反了 START_DIRECTION 选项,有时什么也没有。但仍然坚持如何在受限道路上实现最近的路线。
[更新]:我尝试了@Datasun 的建议。但是我在从受限道路(从高度受限的道路尝试)启动新路线时遇到了无效的路线。我的问题是在导航时,如果用户进入受限道路,路线就会消失,并显示路线正在重新计算。我想向用户显示距离受限道路最近的出口或一些他们在受限道路上的通知。现在我收到了违反 START_DIRECTION 的选项,但有时在受限道路上什么也没有。我错过了什么?