Ios 打开包含特定路线信息的Apple Maps应用程序

Ios 打开包含特定路线信息的Apple Maps应用程序,ios,swift,ios8,mapkit,apple-maps,Ios,Swift,Ios8,Mapkit,Apple Maps,我正在尝试在我的Swift应用程序(iOS 8+目标)中显示A点和B点之间的所有可能路线。我允许用户在我的应用程序中选择任何一条可能的路线。接下来,我希望用户能够在Apple Maps应用程序中使用 var fullRouteResponse:MKDirectionsResponse? //This variable has MKRoute information @IBAction func openInAppleMaps(sender: AnyObject) { let place

我正在尝试在我的Swift应用程序(iOS 8+目标)中显示A点和B点之间的所有可能路线。我允许用户在我的应用程序中选择任何一条可能的路线。接下来,我希望用户能够在Apple Maps应用程序中使用

var fullRouteResponse:MKDirectionsResponse? //This variable has MKRoute information

@IBAction func openInAppleMaps(sender: AnyObject)
{
    let placemark = MKPlacemark(coordinate: destinationCoordinate!, addressDictionary: nil)

    mapItem = MKMapItem(placemark: placemark)

    mapItem.openInMapsWithLaunchOptions(
        [MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving,
        MKLaunchOptionsMapTypeKey: MKMapType.Standard.rawValue,
        MKLaunchOptionsShowsTrafficKey: true ])

}
这将打开地图应用程序,但我无法确定如何传递特定的选定路线信息,以便用户不必在Apple地图应用程序中重新选择所有可能的路线

我不确定这是否可能,所以任何指针都会很有帮助。谢谢

“请勿”中的表示可以将预配置的路径传递到本机地图应用程序。所以你不可能做你想做的事


如果这里有未记录的实现方法,我想知道。

是的,您可以使用MapLink:

根据,您可以轻松地填充'saddr'和'daddr'参数。像这样:

if (UIApplication.sharedApplication().canOpenURL(NSURL(string:"http://maps.apple.com")!)) {
      UIApplication.sharedApplication().openURL(NSURL(string:
        "http://maps.apple.com:/?saddr=\(YOUR_SOURCE_LATITUDE),\(YOUR_SOURCE_LONGITUDE)&daddr=\(YOUR_DESTINATION_LATITUDE),\(YOUR_DESTINATION_LONGITUDE)&dirflg=d")!)

    }

类似:@Raptor仍然没有回答:(我可以打开地图应用程序并选择前往目的地的路线(地图应用程序询问我选择哪条路线)。它没有考虑到我已经在我的应用程序中选择了一条特定的路线这一事实。我无法将该信息传递到地图应用程序。你解决过它吗?没有,还没有发现这不允许你打开一条特定的路线。它只是添加了两个位置,虽然这不是我想要的答案,但它是正确的;)