2016-02-07 8 views
2

я застрял с навигационной проблемой, используя файл GPX для создания маршрута навигации (по очереди)маршрута на основе GPX файла

Моего GPX файл синтаксическим, кажется, работают, так как я сумел построить массив CLLocation.

Проблема в том, что на моем представлении карты ничего не отображается. У меня нет делегата маршрутизации обратного вызова ни (с событием: didFinishRouteCalculationWithInfo)

Вот мой код:

let path: String = NSBundle.mainBundle().pathForResource(fileName, ofType: "gpx")! 
     do { 
      let root: SKGPSFileElement = try SKGPSFilesService.sharedInstance().loadFileAtPath(path) 
      let locationArray = SKGPSFilesService.sharedInstance().locationsForElement(root) 

      let route = SKRouteSettings() 
      route.shouldBeRendered = true 
      route.requestAdvices = true   
      SKRoutingService.sharedInstance().calculateRouteWithSettings(route, customLocations: locationArray) 

    // I also tried to read directly my SKGPSFileElement : 
//SKRoutingService.sharedInstance().calculateRouteWithSettings(route, GPSFileElement: root) 

     } catch { 

     } 

Я попытался получить некоторую помощь с Swift Skobbler Demo, но они также имеют проблемы ... (при выборе дорожки Берлин GPX к примеру, не появляется трек)

заранее спасибо, я в отчаянии! »(

ответ

2

Хорошо, еще раз демонстрационный проект пропустил несколько строк ... Я только приходилось добавлять эти линии, чтобы сделать его работу:

SKRoutingService.sharedInstance().navigationDelegate = self 
    SKRoutingService.sharedInstance().routingDelegate = self 
    SKRoutingService.sharedInstance().mapView = map 

Надеется, что это может помочь кому-то :)

+0

Привета. Я действительно сталкиваюсь с той же проблемой. Попытка получить треки в приложении Demo для построения маршрута. Не могли бы вы уточнить, где вы добавили эти 3 строки кода? Заранее спасибо! – miguelcaires

+1

Hi @miguelcaires! Вы можете добавить их в ViewDidLoad и до SKRoutingService.sharedInstance(). CalculateRoute (routeSetting). – GrayFox