2015-07-20 7 views
-1

Я пытаюсь реализовать метод, который использует привязку Googles к API дорог, но мне не удалось добиться каких-либо результатов.Snap to Roads in Swift

Я был в состоянии успешно реализовать направление API в мой Swift проект с помощью

https://maps.googleapis.com/maps/api/directions/json?origin=xyz 

let request = NSURLRequest(URL: NSURL(string:directionURL)!) 
    let session = NSURLSession.sharedSession() 
    session.dataTaskWithRequest(request, 
     completionHandler: {(data: NSData!, response: NSURLResponse!, error: NSError!) in 

      if error == nil { 
       let object = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil) as! NSDictionary 
       println(object) 

       let routes = object["routes"] as! [NSDictionary] 
       for route in routes { 
        println(route["summary"]) 
       } 
       dispatch_async(dispatch_get_main_queue()) { 
        //update your UI here 
       } 
      } 
      else { 
       println("Direction API error") 
      } 

    }).resume() 

Однако если координаты GPS даже немного разные я получаю совершенно иной результат.

То, что я пытаюсь сделать, - это построить путь пользователей одинаково каждый раз, даже если координаты начала и конца немного отличаются.

Ошибка я получаю

fatal error: unexpectedly found nil while unwrapping an Optional value 

Любые предложения?

Благодаря

EDIT:

Я пытаюсь это, но это то, что вызывает ошибку

func directionAPITest() { 

    let directionURL = "https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907|-35.28099,149.12929|-35.28144,149.12984|-35.28194,149.13003|-35.28282,149.12956|-35.28302,149.12881|-35.28473,149.12836&interpolate=true&key=xyz" 

    let request = NSURLRequest(URL: NSURL(string:directionURL)!) 
    let session = NSURLSession.sharedSession() 

} 
+0

Вы уверены, что JSONObjectWithData является NSDictionary? (а не массив) Можете ли вы добавить точку останова на эту строку и проверить данные без использования явного литья. Эти данные также ноль? – Konrad77

+0

Вы получаете крах или «совершенно разные результаты»? Пожалуйста, объясните свою проблему более четко. – Mundi

+0

Да, я получаю сбой. Я добавил ошибку. Я просто хочу, чтобы были дороги api, а не направления api – puks1978

ответ