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。 看看Transit
types的评论。
// 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 } }