Ios Mapkit通过按钮打开地图

Ios Mapkit通过按钮打开地图,ios,swift,mapkit,Ios,Swift,Mapkit,我已经创建了一个基于地图的应用程序,它在地图上有各种注释,当点击它时会打开一个小的信息页面,如下所示 我想知道如何链接“在地图中打开”按钮以获取注释的坐标,并打开地图以提供从用户当前位置(已编码)到注释的路线 感谢您的帮助您必须根据位置信息创建mapItem,然后使用“在地图中打开”() 如@TKearsley所说,使用openinmpswithlaunchoptions() 要使用该函数,您需要一个MKMapItem 如果在文档中查找MKMapItem,可以使用init方法init(plac

我已经创建了一个基于地图的应用程序,它在地图上有各种注释,当点击它时会打开一个小的信息页面,如下所示

我想知道如何链接“在地图中打开”按钮以获取注释的坐标,并打开地图以提供从用户当前位置(已编码)到注释的路线


感谢您的帮助

您必须根据位置信息创建mapItem,然后使用“在地图中打开”()


如@TKearsley所说,使用
openinmpswithlaunchoptions()

要使用该函数,您需要一个
MKMapItem

如果在文档中查找
MKMapItem
,可以使用init方法
init(placemark:)
创建
MKMapItem
,该方法需要
MKPlacemark

因此,下一个问题是如何创建
MKPlacemark

 init(coordinate: CLLocationCoordinate2D)
如果再次查阅文档,您会发现
MKPlacemark
的初始值设定项:

 init(coordinate: CLLocationCoordinate2D)
因此,将所有这些结合起来:

获取注释的坐标

在调用
MKPlacemark的
初始值设定项时使用坐标:

 init(coordinate: CLLocationCoordinate2D)

然后在mkmaItem的初始值设定项中使用生成的
MKPlacemark
init(placemark:)

-(BOOL)openInMapsWithLaunchOptions:(NSDictionary*)launchOptions我是否要在“地图”应用程序中的特定行为中插入我的注释名称。如标准地图/混合地图或显示交通。您还可以传入nil以获得默认行为。这里是文档链接,您能提供一个示例吗?抱歉,我真的不知道如何创建mapItem。添加了代码段。您能解释一下这是如何工作的吗?我试着在我自己的代码中使用它,但出现了缺少分号的错误。如果批注已经存在,是否仍需要为每个批注创建mapItem?谢谢您的帮助。我在网上找到了这个[教程](),我打算使用
showMap
的一个变体,然而,当他需要邮政地址时,我只是映射到坐标。我需要使用地址字典吗?不,您可以创建一个只包含坐标的MKPlacemark。我指定你在我的答案中使用的初始值设定项。它也在MKPlacemark的Xcode帮助中。好的,我已经做了以下工作:
让elephantcord:CLLocationCoordinate2D=CLLocationCoordinate2DMake(-39.069741174.078113)
大象的位置=init(placemark:elephantcord)
elephantitem=init(placemark:elephantplace)
看起来合理。证据是它是否有效。试试看,你会希望从MKAnnotation中获得坐标,而不是使用常量,但这看起来是合理的测试代码。