各种地图跳转导航

之前写过跳转百度地图,如下链接,但是还有腾讯地图,高德地图等

http://www.jianshu.com/p/2f633921c7c8

高德地图:
NSString *urlString = [[NSString stringWithFormat:@"iosamap://path?sourceApplication=applicationName&sid=BGVIS1&slat=%f&slon=%f&sname=%@&did=BGVIS2&dlat=%f&dlon=%f&dname=%@&dev=0&m=0&t=0",_currentLatitude,_currentLongitute,@"我的位置",_targetLatitude,_targetLongitute,_name] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *r = [NSURL URLWithString:urlString];
 [[UIApplication sharedApplication] openURL:r];
腾讯地图:
NSString *urlStr = [NSString stringWithFormat:@"qqmap://map/routeplan?type=drive&fromcoord=%f,%f&tocoord=%f,%f&policy=1",_currentLatitude,_currentLongitute,_targetLatitude,_targetLongitute];
NSURL *r = [NSURL URLWithString:urlStr];
[[UIApplication sharedApplication] openURL:r];
苹果原生地图
CLLocationCoordinate2D from = CLLocationCoordinate2DMake(_currentLatitude, _currentLongitute);
MKMapItem *currentLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:from addressDictionary:nil]];
            currentLocation.name = @"我的位置";
            
//终点
CLLocationCoordinate2D to = CLLocationCoordinate2DMake(_targetLatitude, _targetLongitute);
            MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:to addressDictionary:nil]]; 
toLocation.name = name;
NSArray *items = [NSArray arrayWithObjects:currentLocation, toLocation, nil];
NSDictionary *options = @{
                                      MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
                                      MKLaunchOptionsMapTypeKey:
                                          [NSNumber numberWithInteger:MKMapTypeStandard],
                                      MKLaunchOptionsShowsTrafficKey:@YES
                                      };
//打开苹果自身地图应用
[MKMapItem openMapsWithItems:items launchOptions:options];
google地图:
NSString *urlStr = [NSString stringWithFormat:@"comgooglemaps://?saddr=%.8f,%.8f&daddr=%.8f,%.8f&directionsmode=transit",_currentLatitude,_currentLongitute,_targetLatitude,_targetLongitute];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];

跳转时候再判断是否可以跳转(安装该地图)
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:xxx]];
//xxx对应相对应的
@"comgooglemaps://",@"iosamap://navi",@"qqmap://"

对应的info配置如下:
各种地图跳转导航_第1张图片

你可能感兴趣的:(各种地图跳转导航)