Если вы прибыли в пункт назначения (или в его окрестностях), то обратный вызов должен срабатывают.
Единственный способ узнать, что происходит, - это зарегистрировать фактическое путешествие, а затем воспроизвести его, чтобы увидеть, что SDK считает, что это происходит.
Для входа в поездку вы можете использовать SKPositionLoggingManager класс
private void startNavigation() {
//..... navigation settings
if (configuration.getNavigationType() == SKNavigationSettings.SKNavigationType.REAL) {
navigationSettings.setNavigationType(SKNavigationSettings.SKNavigationType.REAL);
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
final File navigationLogsFolder =
new File(Environment.getExternalStorageDirectory() + File.separator + "YourFileName"
+ File.separator);
if (!navigationLogsFolder.exists()) {
navigationLogsFolder.mkdirs();
}
final String fileName = navigationLogsFolder.getAbsolutePath() + "/" + dateFormat.format(date);
SKPositionLoggingManager.getInstance().startLoggingPositions(fileName, SKPositionLoggingManager.SPositionLoggingType.SK_POSITION_LOGGING_TYPE_LOG);
}
navigationManager.startNavigation(navigationSettings);
}
Обратите внимание, что:
- В этом примере, протоколирование позиции устройства запускается перед запуском навигации.
- Есть варианты приостановки, возобновления и остановки процесса ведения журнала в текущем файле. Пожалуйста, убедитесь, что вы также называете SKPositionLoggingManager(). StopLoggingPositions() при регистрации должна быть остановлена
После того, как бревно, то вы можете повторить журнал с помощью «simulate from log» навигационного варианта. Глядя на поездку против реального маршрута, мы укажем на проблему.