【发布时间】:2022-08-15 14:06:14
【问题描述】:
我在这里使用 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 的选项,但有时在受限道路上什么也没有。我错过了什么?
-
你能详细说明这个问题吗?例如,当您在受限路线上时,您可以简单地从当前位置(无论在哪里)开始计算新路线。起点应指示最近的“出口”,这意味着汽车路线将从下一条不受限制的路线开始。
-
@Datasun 谢谢。我试过你的建议。但是我在从受限道路启动新路线时遇到了无效路由(从高度受限的道路尝试)。
-
我只测试了较新的 Navigate Edition,所以我不能确定它在较旧的 Premium Edition 上的表现如何,但也许值得一试较新的版本:developer.here.com/documentation/android-sdk-navigate。
-
要确认,该问题在导航 SDK 上不可重现?您使用的是哪个导航 SDK 版本?高级 SDK 的版本是多少?您能否从以下 git 链接实现/分享在我们的示例应用程序之一中实现的示例:github.com/heremaps/here-android-sdk-examples
标签: android here-api heremaps-android-sdk