2016-07-27 3 views
1

MapKit Directions Requestを使用して、2つの座標間の通過方向を取得しようとしています。Transit MKDirectionsRequestはnullエラーを生成します。Error Domain = MKErrorDomain Code = 5 "(null)"

他の(Transit以外の)タイプに切り替えると、以下のコードは機能しますが、私がTransitに切り替えると、Appleのドキュメントのどこにも表示されないエラーが発生します。

2つの場所(出発地と目的地)は両方ともニューヨークにありますので、確実に通過可能な方向があるはずです。

エラーメッセージ:

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

私は特定のトランジットの場合のために間違っているかもしれないもの上の任意のアドバイスは?ありがとうございました!

答えて

2

現在、中継の経路指定はサポートされていません(iOS 9)。あなたが観察したようにMKDirectionsRequestはヌルエラーを返します。

これは、MapKitのヘッダーに直接記述されているようです。 Transitタイプのコメントを見てください。

// 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 } 
} 
+0

うん..それは迷惑です。クイックヘルプをありがとう!あなたの答えを受け入れました。 – bayyar

関連する問題