Я пытаюсь внедрить компонент навигации в свое приложение, следуя этому руководству MapBox:
https://docs.mapbox.com/help/tutorials/android-navigation-sdk/
Когда я пытаюсь вызвать .startNavigation(...)
, я получаю неожиданную ошибку:
2020-03-08 19:51:45.786 11394-11394/com.example.mapboxnav A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 11394 (mple.mapboxnav), pid 11394 (mple.mapboxnav)
Поскольку приложение, которое я создаю, имеет много кнопок, я реализовал View.OnClickListener
и вызываю интерфейс навигации, когда пользователь нажимает кнопку навигации (R.id.startNav
). Однако, как только пользователь нажимает кнопку, происходит сбой приложения.
currentRoute
работает и отображается на карте при вызове getRoute
, как пример . Я убедился, что currentRoute
определенно не null
. Я также попытался начать навигацию с разными координатами без удачи.
currentRoute
содержит маршрут от текущего / последнего известного местоположения пользователя до указанного пункта назначения. Для справки, строка устанавливается / генерируется следующим способом:
public void initLine(Double lng, Double lat) {
Location lastKnownLocation = mapboxMap.getLocationComponent().getLastKnownLocation();
Point origin = Point.fromLngLat(lastKnownLocation.getLongitude(), lastKnownLocation.getLatitude());
Point destination = Point.fromLngLat(lng, lat);
getRoute(origin, destination);
}
onClick:
public void onClick(View v) {
switch (v.getId()) {
...
case R.id.startNav:
boolean simulateRoute = true;
NavigationLauncherOptions options = NavigationLauncherOptions.builder()
.directionsRoute(currentRoute)
.shouldSimulateRoute(simulateRoute)
.build();
NavigationLauncher.startNavigation(MainActivity.this, options); // Causes Crash
}
}