Mapkit Open Maps via Button

时间:2017-01-13 22:09:28

标签: ios swift mapkit

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

Display Page

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

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您必须从位置信息创建mapItem,然后在地图中使用open(count

CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(37.7749,-122.4194);

MKPlacemark *placeMark = [[MKPlacemark alloc] initWithCoordinate:coord addressDictionary:nil];
MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:placeMark];

NSMutableDictionary *launchOptions = [[NSMutableDictionary alloc] init];
[launchOptions setObject:MKLaunchOptionsDirectionsModeDriving forKey:MKLaunchOptionsMapTypeKey];
[mapItem openInMapsWithLaunchOptions:launchOptions];

答案 1 :(得分:0)

使用with TADODataSet.Create(nil) do try Connection := MyADOConnection; CommandText := 'SELECT Foo ' + 'FROM FooBar ' + 'WHERE Bar = :Bar '; if Parameters.FindParam('Bar') = nil then Parameters.ParseSQL(CommandText, True); {<- THIS IS THE FIX } Parameters.ParamByName('Bar').Value := 'value'; Open; finally Free; end; ,正如@TKearsley所说。

要使用该功能,您需要openInMapsWithLaunchOptions()

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

接下来的问题是如何创建MKPlacemark

如果您再次查阅文档,则会找到MKPlacemark的初始化程序:

MKPlacemark

所以,把它们放在一起:

获取注释的坐标。

使用 init(coordinate: CLLocationCoordinate2D) 初始化程序调用中的坐标:

MKPlacemark's

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