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中获得坐标,而不是使用常量,但这看起来是合理的测试代码。