我正在使用HERE Android SDK来执行转弯导航项目。但我没有得到类似于图像的结果。
我有这个代码来获取当前的manauver
private NavigationManager.NewInstructionEventListener newInstructionEventListener = new NavigationManager.NewInstructionEventListener() {
@Override
public void onNewInstructionEvent() {
Maneuver maneuver = navigationManager.getNextManeuver();
if (maneuver != null) {
if (maneuver.getAction() == Maneuver.Action.END) {
}
tvManeuver.setText(navigationManager.getNextManeuver().getTurn().name() + " " + maneuver.getIcon().value());
ivTitle.setImageBitmap(maneuver.getNextRoadImage().getBitmap());
tvStreet.setText(maneuver.getRoadName());
tvMeters.setText("durante " + maneuver.getDistanceFromPreviousManeuver() + " m");
if (maneuver.getDistanceToNextManeuver() == 0) {
tvMeters.setVisibility(View.GONE);
} else {
tvMeters.setVisibility(View.VISIBLE);
}
}
}
};
但我没有得到正确的机动文本。例如"在下一个角落右转"和相应的箭头图标放在IMAGEVIEW内。
任何人都可以帮助我吗?
问候。
答案 0 :(得分:0)
我认为您提供的图片来自Google商店提供的HERE地图,这是使用HERE SDK的自定义实现。
您可以从Maneuver获取的说明,查看文档 https://developer.here.com/mobile-sdks/documentation/android-hybrid-plus/topics_api_nlp_hybrid_plus/com-here-android-mpa-routing-maneuver.html#topic-apiref__getinstruction-void
也应该从getIcon()中检索图标,它提供了一个枚举,你需要在图标中为可能的枚举创建图像,检查文档 https://developer.here.com/mobile-sdks/documentation/android-hybrid-plus/topics_api_nlp_hybrid_plus/com-here-android-mpa-routing-maneuver-icon.html#topic-apiref
答案 1 :(得分:0)
如果你想获得动作列表,你就无法在NewInstructionEvent上获得它。 由于您已经在导航中,因此您应该已经拥有路径对象。在路由对象上,您可以调用getManeuvers()。这将为您提供当前路线的所有演习列表。
您还可以参考他们的UI工具包https://developer.here.com/blog/build-beautiful-interfaces-with-the-here-mobile-sdk-ui-kit-for-android-and-ios。
希望这会有所帮助。我知道这是一个较旧的主题。