iOS 传名称,调用地图客户端查询位置
来源:互联网 发布:python str.format 编辑:程序博客网 时间:2024/06/06 00:00
info.plist 添加
<key>LSApplicationQueriesSchemes</key> <array> <string>baidumap</string> <string>iosamap</string> <string>qqmap</string> </array>
传一个名称,调用方法
-(void)openMap:(NSString *)address{ NSMutableArray *actionTitleArr = [[NSMutableArray alloc]init]; NSMutableArray *urlStringArr = [[NSMutableArray alloc]init]; NSURL *baiduUrl = [NSURL URLWithString:@"baidumap://"]; NSURL *gaodeUrl = [NSURL URLWithString:@"iosamap://"]; NSURL *qqUrl = [NSURL URLWithString:@"qqmap://"]; NSURL *systemUrl = [NSURL URLWithString:@"http://maps.apple.com"]; if ([[UIApplication sharedApplication] canOpenURL:gaodeUrl]) { [actionTitleArr addObject:@"高德地图"]; NSString *urlString = [[NSString stringWithFormat:@"iosamap://poi?sourceApplication=Electronicsignature&name=%@",address] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [urlStringArr addObject:urlString]; } if ([[UIApplication sharedApplication] canOpenURL:baiduUrl]) { [actionTitleArr addObject:@"百度地图"]; NSString *urlString = [[NSString stringWithFormat:@"baidumap://map/geocoder?address=%@&src=webapp.geo.fang.Electronicsignature",address] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [urlStringArr addObject:urlString]; } if ([[UIApplication sharedApplication] canOpenURL:qqUrl]) { [actionTitleArr addObject:@"腾讯地图"]; NSString *urlString = [[NSString stringWithFormat:@"qqmap://search?keyword=%@",address] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [urlStringArr addObject:urlString]; } if ([[UIApplication sharedApplication] canOpenURL:systemUrl]) { [actionTitleArr addObject:@"苹果地图"]; NSString *urlString = [[NSString stringWithFormat:@"http://maps.apple.com/?address=%@",address] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [urlStringArr addObject:urlString]; } if (actionTitleArr.count>0) { UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; for (int i = 0; i < actionTitleArr.count; i++) { NSString *title = actionTitleArr[i]; NSString *urlStr = urlStringArr[i]; NSURL *url = [NSURL URLWithString:urlStr]; UIAlertAction * mapAction = [UIAlertAction actionWithTitle:title style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { if ([[UIDevice currentDevice].systemVersion integerValue] >= 10) { [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) { NSLog(@"scheme调用结束"); }]; }else { [[UIApplication sharedApplication] openURL:url]; } }]; [alertController addAction:mapAction]; } UIAlertAction *cancleAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { }]; [alertController addAction:cancleAction]; [self presentViewController:alertController animated:YES completion:nil]; }else { UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:@"请先安装一款地图软件" preferredStyle:UIAlertControllerStyleActionSheet]; UIAlertAction * confirmAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { }]; [alertController addAction:confirmAction]; [self presentViewController:alertController animated:YES completion:nil]; }}
阅读全文
0 0
- iOS 传名称,调用地图客户端查询位置
- Scala函数传名调用
- iOS地图位置开发
- iOS 地图位置开发
- iOS地图位置开发
- iOS 地图位置处理
- iOS地图位置开发
- iOS地图位置开发
- iOS地图位置开发
- IOS 地图位置定位
- iOS地图位置开发
- iOS地图位置开发
- iOS地图位置开发
- iOS地图位置开发
- iOS地图位置开发
- iOS地图位置开发
- IOS 地图位置定位
- scala传值调用和传名调用
- 2017-8-24 java课堂笔记方法重载
- 微信开发使用access_token 获取微信的ip地址
- 男人不想打工一辈子,再忙也要读这10本书,提高情商智商
- CentOS-6.6版本防火墙的启动与关闭相关指令
- 前后、左右、去掉所有的空格的正则表达式
- iOS 传名称,调用地图客户端查询位置
- 二叉树总结(JAVA)
- spring boot注解
- mysql分组后取各组前五条
- java中启动线程的两种方式
- cocos2dx windows下的 生成安卓和iOS平台用的引擎
- h5 游戏 黑白格
- SSH免密登录是怎么玩儿的?
- 继承