【发布时间】:2015-12-31 13:50:06
【问题描述】:
在 iOS 8 中(我记不得也是 7),您可以设置导航的默认应用程序。我目前正在实现一个按钮,允许用户通过以下方式打开 Apple 地图并获取前往某个位置的路线:
- (IBAction)getDirections:(id)sender {
CLLocationCoordinate2D endingCoord = storeLocation;
MKPlacemark *endLocation = [[MKPlacemark alloc] initWithCoordinate:endingCoord addressDictionary:nil];
MKMapItem *endingItem = [[MKMapItem alloc] initWithPlacemark:endLocation];
endingItem.name = @"Cubes Pizza Sunway";
NSMutableDictionary *launchOptions = [[NSMutableDictionary alloc] init];
[launchOptions setObject:MKLaunchOptionsDirectionsModeDriving forKey:MKLaunchOptionsDirectionsModeKey];
[endingItem openInMapsWithLaunchOptions:launchOptions];
}
这很好用,可以按我的预期启动。但是,如果用户安装了 Google 地图怎么办?苹果会自动给用户一个选项吗?还是我需要实现一个活动表并检测所有导航应用程序,然后找出每个应用程序的 URL 架构?)
我将如何实施这样的事情?
这是同一个问题:iOS - run 3rd party navigation app from code 但它已经有一年了,想知道这个功能是否由 APPLE 实现,如果不是,如何实现检查应用程序是否安装等。
【问题讨论】:
标签: ios objective-c iphone mapkit