2016-08-09 80 views
1

Ich navigiere zu einer großen Anzahl von Punkten oder Route in einer Karte, die Umleitung folgt, aber wenn Benutzer das Ziel erreichen, erreicht es weder die Navigation Rückruf-Methode onDestinationReached zeigt jetzt any Wirkung auf der Karte.Navigation auf dem Ziel erreichte erreicht nicht seinen Rückruf

Ist es das Problem der SKobbler Karte auf die lange Route zu navigieren? Ein weiteres Problem, wenn die Route wie in der Figur gezeigt ist, stoppt die Navigation bei der Simulation ohne Benutzerinterferenz.

route

Antwort

1

Wenn Sie am Ziel angekommen sind (oder in dessen Nähe), dann sollte der Rückruf ausgelöst werden.

Die einzige Möglichkeit zu wissen, was passiert, wäre, die tatsächliche Reise zu protokollieren und sie dann erneut abzuspielen, um zu sehen, was das SDK denkt.

die Reise Um sich einzuloggen Sie die SKPositionLoggingManager Klasse

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); 
     } 

verwenden können Hinweis, dass:

  1. In diesem Beispiel Bauteilpositionen Anmeldung gestartet wird, bevor die Navigation gestartet.
  2. Es gibt Optionen zum Pausieren, Fortsetzen und Stoppen der Protokollierung der aktuellen Datei. Bitte stellen Sie sicher, dass Sie rufen auch SKPositionLoggingManager(). StopLoggingPositions(), wenn die Protokollierung
  3. gestoppt werden sollte

Nachdem Sie das Protokoll haben, können Sie dann das Protokoll wiederholen die „simulate from log“ Navigationsoption. Ein Blick auf die Reise im Vergleich zur realen Route wird auf das Problem hinweisen.