Transit MKDirectionsRequest产生空错误Error Domain = MKErrorDomain Code = 5“(null)”

我正在尝试使用MapKit方向请求获取两个坐标之间的公交路线。

当我切换到其他(非过境)types,下面的代码工作,但是当我切换到过渡,它会抛出一个错误,不会出现在苹果的文档中的任何地方。

这两个地点(来源和目的地)都在纽约市,所以肯定有转机路线。

错误信息:

Error Domain=MKErrorDomain Code=5 "(null)" 

代码片段:

 override func viewDidLoad() { super.viewDidLoad() let request = MKDirectionsRequest() // Set request parameters request.source = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 40.7127, longitude: -74.0059), addressDictionary: nil)) request.destination = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 40.6761, longitude: -73.9521), addressDictionary: nil)) request.requestsAlternateRoutes = true // Set tranport type parameter (anything other than .Transit works) request.transportType = .Transit let directions = MKDirections(request: request) directions.calculateDirectionsWithCompletionHandler { response, error in print(response) guard let routes = response?.routes else { print(error?.description) return } // Prints step-by-step directions for r in routes { print("New route") for step in r.steps { print(" " + step.instructions) } } } } 

任何关于我可能在特定的Transit案件中做错的build议? 谢谢!

目前不支持中转路线指引(iOS 9)。 正如你所观察到的, MKDirectionsRequest将返回一个空错误。

这似乎只是直接在MapKit的头文件中logging。 看看Transittypes的评论。

 // MKDirectionsTypes.h @available(iOS 7.0, *) public struct MKDirectionsTransportType : OptionSetType { public init(rawValue: UInt) public static var Automobile: MKDirectionsTransportType { get } public static var Walking: MKDirectionsTransportType { get } @available(iOS 9.0, *) public static var Transit: MKDirectionsTransportType { get } // Only supported for ETA calculations public static var Any: MKDirectionsTransportType { get } }