在斯威夫特抓住道路

时间:2015-07-20 08:10:52

标签: swift

我正在尝试实现一个使用Googles snap to roads API的方法,但是我无法取得任何结果。

我能够使用

在我的Swift项目中成功实现Directions API
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

有什么建议吗?

由于

编辑:

我正在尝试这个,但这是导致错误的原因

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

}

1 个答案:

答案 0 :(得分:0)

我找到这篇文章后发现了NSURL found nil while unwraping an Optional value

基本上不得不逃避字符串。