我目前正在开发一款带有地图视图的应用,可以打开Apple地图并发送经度和纬度,以便开始和停止位置。因此,用户可以在Apple Maps的帮助下导航。我的问题是:是否可以让Apple Maps应用程序自动运行导航功能?现在它打开Apple Maps应用程序,在起始位置和停止位置上使用正确的坐标和注释,但我必须单击导航功能才能让Apple Maps从开始到结束呈现导航路线。 / p>
以下是从我自己的应用中打开Apple Maps的代码:
// NAVIGATION ACTION SHEET
if (buttonIndex == 0) {
double toLatDouble = [to_lat doubleValue];
double toLongDouble = [to_long doubleValue];
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(toLatDouble,toLongDouble);
// Apple Maps, using the MKMapItem class
MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:location addressDictionary:nil];
MKMapItem *item = [[MKMapItem alloc] initWithPlacemark:placemark];
item.name = self.toLocation;
[item openInMapsWithLaunchOptions:nil];
}
else if (buttonIndex == 1){
double fromLatDouble = [from_lat doubleValue];
double fromLongDouble = [from_long doubleValue];
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(fromLatDouble,fromLongDouble);
// Apple Maps, using the MKMapItem class
MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:location addressDictionary:nil];
MKMapItem *item = [[MKMapItem alloc] initWithPlacemark:placemark];
item.name = self.toLocation;
[item openInMapsWithLaunchOptions:nil];
}else {
// Cancel
NSLog(@"User canceled navigation actionSheet");
}
答案 0 :(得分:3)
正如调用MKMapItem
时openInMapsWithLaunchOptions
的文档中所述:您也可以传递一些选项。其中一个激活导航模式。
例如,要开始驾驶方向,您应该写:
[item openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey :MKLaunchOptionsDirectionsModeDriving}];