-1
我试图实现一种使用Google对齐道路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坐标,甚至略有不同,我得到一个完全不同的结果,成功地实现了方向API在我的雨燕项目。
我想要做的是每次都绘制一条用户路径,即使开始/结束坐标略有不同。
我得到的错误是
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()
}
你确定JSONObjectWithData是一个NSDictionary吗? (而不是一个数组)你可以添加一个断点到该行并检查数据,而不使用显式转换。这些数据也是零? – Konrad77
您是否遇到崩溃或“完全不同的结果”?请更清楚地解释你的问题。 – Mundi
是的,我正在崩溃。我添加了错误。我只是想能够成为道路api,而不是方向api – puks1978