想要唤醒导航软件 app打包前需要在Info.plist的文件里加入白名单 否则不能使用
key叫做LSApplicationQueriesSchemes ,键值内容是对应应用程序的URL Schemes;
<key>LSApplicationQueriesSchemes</key>
<array>
<string>baidumap</string>
<string>iosamap</string>
<string>qqmap</string>
</array>
引入 #import "AppDelegate.h"
百度地图
// tName 目的地 latitude 纬度 longitude 经度
NSString *urlString = [[NSString stringWithFormat:@"baidumap://map/direction?origin={{我的位置}}&destination=name:%@|latlng:%@,%@&mode=driving&coord_type=bd09ll&src=ios.jianghu.jianhao",tName,latitude, longitude] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
腾讯地图
// tName 目的地 latitude 纬度 longitude 经度
NSString *urlString = [[NSString stringWithFormat:@"qqmap://map/routeplan?from=我的位置&type=drive&tocoord=%@,%@&to=%@&coord_type=1&policy=0",latitude, longitude, tName] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
高德地图
// tName 目的地 latitude 纬度 longitude 经度
NSString *urlString = [[NSString stringWithFormat:@"iosamap://path?sourceApplication=%@&backScheme=%@&lat=%@&lon=%@&dname=%@&dev=0&style=2",@"导航功能",@"nav123456",latitude, longitude, tName] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
苹果手机自带的导航
引入 #import <MapKit/MapKit.h>
// tName 目的地 latitude 纬度 longitude 经度
double dlong = [longitude doubleValue];
double dLat = [latitude doubleValue];
CLLocationCoordinate2D loc = CLLocationCoordinate2DMake(dLat, dlong);
//用户位置
MKMapItem *currentLoc = [MKMapItem mapItemForCurrentLocation];
//终点位置
MKMapItem *toLocation = [[MKMapItem alloc]initWithPlacemark:[[MKPlacemark alloc]initWithCoordinate:loc addressDictionary:**nil**] ];
// 目的地名称
toLocation.name = tName;
NSArray *items = @[currentLoc,toLocation];
NSDictionary *dic = @{
MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving,
MKLaunchOptionsMapTypeKey : @(MKMapTypeStandard),
MKLaunchOptionsShowsTrafficKey : @(**YES**)
};
[MKMapItem openMapsWithItems:items launchOptions:dic];