我正试图在导航时获取路线上的点(坐标)。 SKnavigationState在路线的持续导航中不提供任何latlon坐标。
如何在导航过程中获取用户在路线上的位置坐标?
答案 0 :(得分:1)
有很多方法可以做到这一点:
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 + "LogFileName" + 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()