有没有办法在NavigationStarted上获得SKPostion?

时间:2016-07-21 09:34:38

标签: android routes navigation skmaps skobbler-maps

我正试图在导航时获取路线上的点(坐标)。 SKnavigationState在路线的持续导航中不提供任何latlon坐标。

如何在导航过程中获取用户在路线上的位置坐标?

1 个答案:

答案 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()

  • 在收到位置更新(或任何其他时间)时,您可以询问&通过getCurrentGPSPosition API记录当前已知的位置(通过匹配的参数,您可以询问实际位置或“在路上匹配”位置)