到达目的地的导航无法到达其回调

时间:2016-08-09 07:11:31

标签: android routes navigation skmaps skobbler-maps

我正在导航到地图中的大量点或路线,这是在重新路由之后,但是当用户到达目的地时,它既没有到达导航回叫方法onDestinationReached现在在地图上显示任何效果。< / p>

SKobbler地图导航到长路线的问题是什么?路线如图所示的另一个问题是,模拟导航在没有用户干扰的情况下停止。

route

1 个答案:

答案 0 :(得分:1)

如果您已到达目的地(或其附近),则应触发回叫。

了解正在发生的事情的唯一方法是记录实际行程,然后重播以查看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); 
      } 

请注意:

  1. 在此示例中,在导航开始之前启动记录设备位置。
  2. 有暂停,恢复和停止记录过程到当前文件的选项。请确保在停止记录时也调用SKPositionLoggingManager()。stopLoggingPositions()
  3. 获得日志后,您可以使用&#34; simulate from log&#34;重播日志。导航选项。观察旅行与真实路线将指出问题。