繁体   English   中英

使用特定的MKRoute信息打开Apple Maps应用程序

[英]Open Apple Maps app with specific MKRoute information

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

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

}

这会打开地图应用程序,但我无法弄清楚如何传递特定选定的MKRoute信息,以便用户无需从Apple地图应用程序中的所有可能路线重新选择。

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

文档中没有说可以将预先配置的路径传递给本机地图应用程序。 所以不可能做你想做的事。

如果这里是无证的方式实现它我想知道。

是的,你可以使用MapLink来做到这一点:

根据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")!)

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM