Я пытаюсь сделать внутреннюю навигацию, используя сопоставление mapbox с координатами из openrouteservice.У меня проблема, при использовании NavigationRoute
все работает, но я должен использовать MapboxMapMatching
.Вот мой код
private DirectionsRoute currentRoute;
MapboxMapMatching.builder()
.accessToken(Mapbox.getAccessToken())
.coordinates(list_wayPoint)
.waypoints(0, list_wayPoint.size() - 1)
.profile(DirectionsCriteria.PROFILE_CYCLING)
.build()
.enqueueCall(new Callback<MapMatchingResponse>() {
@Override public void onResponse(Call<MapMatchingResponse> call, Response<MapMatchingResponse> response) {
if (response.isSuccessful()) {
currentRoute = response.body().matchings().get(0).toDirectionRoute();
Log.i("debug", "" + currentRoute);
if (navigationMapRoute != null)
navigationMapRoute.removeRoute();
else
navigationMapRoute = new NavigationMapRoute(null, mapView, map, R.style.NavigationMapRoute);
navigationMapRoute.addRoute(currentRoute);
} else
showAlertDialog("Warning: " + response.message());
}
@Override public void onFailure(Call<MapMatchingResponse> call, Throwable t) {
showAlertDialog("Warning: " + t.getMessage());
}
});
Но, когда я пытаюсь, он вылетает, давая мне java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
в строке navigationMapRoute.addRoute(currentRoute);
Вот текущийRoute ответ от MapMatchingResponse
Что-то не так в моем коде?