美文网首页
各种地图跳转导航

各种地图跳转导航

作者: 马戏团小丑 | 来源:发表于2016-12-29 10:23 被阅读335次
    之前写过跳转百度地图,如下链接,但是还有腾讯地图,高德地图等

    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配置如下:

    相关文章

      网友评论

          本文标题:各种地图跳转导航

          本文链接:https://www.haomeiwen.com/subject/ewbuvttx.html