我创建了一个基于地图的应用程序,它在地图上有各种注释,点击后打开一个小信息页面,如下所示。
我想知道如何链接“在地图上打开”按钮以获取注释的坐标并打开地图,以提供从用户当前位置(已编码)到注释的路线。
感谢您的帮助
答案 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