美文网首页
iOS - 应用内部调用第三方地图进行搜索导航

iOS - 应用内部调用第三方地图进行搜索导航

作者: Immensity_G | 来源:发表于2018-09-28 19:10 被阅读0次
判断手机应用是否包含相关地图应用,有就显示,没有就不显示相关跳转按钮
- (void)showSheet {
   
   UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"选择地图" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:nil, nil];
   if ( [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"http://maps.apple.com/"]]) {
       [sheet addButtonWithTitle:@"苹果地图"];
   }
   if ( [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"baidumap://"]]){
       [sheet addButtonWithTitle:@"百度地图"];
   }
   if ( [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"iosamap://"]]) {
       [sheet addButtonWithTitle:@"高德地图"];
   }
   [sheet showInView:self.view];
}
跳转对应地图应用内进行导航
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    NSString *title = [actionSheet buttonTitleAtIndex:buttonIndex];
    
    if ([title isEqualToString:@"苹果地图"]) {
        MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];
         CLLocationCoordinate2D coords2 = CLLocationCoordinate2DMake(23.05,113.15);
        MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords2 addressDictionary:nil]];
        //目的地名字
        toLocation.name = self.addressString;
        [MKMapItem openMapsWithItems:@[currentLocation, toLocation]
                       launchOptions:@{MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving,MKLaunchOptionsShowsTrafficKey: [NSNumber numberWithBool:YES]}];
    
    } else if ([title isEqualToString:@"高德地图"]) {
        NSString *urlString = [[NSString stringWithFormat:@"iosamap://path?sourceApplication=applicationName&sid=BGVIS1&did=BGVIS2&dname=%@&dev=0&t=0",@"浙医二院"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
    } else if ([title isEqualToString:@"百度地图"]) {
        NSString *urlString = [[NSString stringWithFormat:@"baidumap://map/geocoder?src=%@&address=%@",@"andr.baidu.openAPIdemo",@"浙医二院"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
    }
}

相关文章

  • 地图导航

    URI跳转方式地图导航的代码实践iOS调用第三方地图路线导航IOS实现应用内打开第三方地图app进行导航 高德 i...

  • iOS - 应用内部调用第三方地图进行搜索导航

    判断手机应用是否包含相关地图应用,有就显示,没有就不显示相关跳转按钮 跳转对应地图应用内进行导航

  • 最详细的iOS应用内调用第三方地图进行导航

    iOS应用内调用第三方地图进行导航看我这篇就够了,所有的问题都能在这里找到答案 调用第三方地图主要是分三步 1、配...

  • Android应用内打开高德、百度、腾讯地图app

    最近在项目中需要地图导航功能,但是导入第三方地图导航包的话,应用打出包后会很大,所以考虑到可以通过调用外部地图应用...

  • iOS跳转第三方地图导航

    在iOS开发应用过程中,会遇到跳转第三方应用地图进行导航的场景,例如跳转到高德地图,百度地图.如图所示 首先,如果...

  • 开发问题笔记(十三)

    目录 1.App内打开第三方地图进行导航 1.App内打开第三方地图进行导航 App内打开第三方地图进行导航;举例...

  • 2019-03-26

    iOS 调起第三方地图导航

  • iOS在应用内跳转第三方导航

    最近做到这个需求要求应用内用户导航时根据手机手机内安装的地图来选择什么地图进行跳转到第三方地图导航功能。这个功能实...

  • ios开发使用的第三方资料

    ios开发使用的第三方资料 自己搜索使用过的一些资料,仅供参考。 室内地图-室内三维地图引擎导航及制作|易景地图:...

  • iOS 中打开外带地图进行导航

    参考资料 iOS实现应用外自带地图、高德地图、百度地图导航 检查本地的地图 app 主要对国内主流的地图进行检测 ...

网友评论

      本文标题:iOS - 应用内部调用第三方地图进行搜索导航

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