示例中心
功能在线体验
控制台

高德 开发 高德地图手机版 开发指南 iOS iOS URI 调用说明

更新时间:2017年01月21日

iOS URI 调用说明

适用环境

iOS 移动设备网页端或移动应用 APP。

支持版本

支持 iOS 高德地图 APP V2.3.0 及以上版本。

术语约定

scheme 调用:该术语同 iOS 平台的 scheme 术语,指代第三方应用程序调用高德地图 iPhone 客户端方式。 Intent 调用:同 Android 平台术语,指代第三方应用调用高德地图 iOS 客户端的方式。

协议格式

高德地图注册 scheme:iosamap。

用例说明

步骤 1:配置白名单 由于iOS的限制,iOS9之后app想调起高德地图,必须在自己app设置中配置白名单。

配置方法:

1、找到您的Info.plist文件

2、在文件中添加key:LSApplicationQueriesSchemes,类型是Array,如果曾经添加过,无需再次添加。

3、Array中添加一个item,类型为String,值为iosamap。

添加完成后截图如下:

步骤 1:通过查看是否可以打开该 scheme, 判断是否安装高德地图

- (BOOL)canOpenURL:(NSURL*)url

步骤 2:判断是否安装了高德地图

配置完成后,您就可以在自己的app中判断高德地图是否已安装。

示例代码如下:

NSURL *scheme = [NSURL URLWithString:@"iosamap://"];
BOOL canOpen = [[UIApplication sharedApplication] canOpenURL:scheme];

如果canOpen为YES,则安装了高德地图;如果canOpen为NO,则未安装高德地图。

步骤 3:调起高德地图

使用iOS提供高德API即可调起高德地图,需要注意的是从iOS10版本起,API有更新。

NSURL *myLocationScheme = [NSURL URLWithString:@"iosamap://myLocation?sourceApplication=applicationName"];
        if ([[UIDevice currentDevice].systemVersion integerValue] >= 10) {
            //iOS10以后,使用新API
            [[UIApplication sharedApplication] openURL:myLocationScheme options:@{} completionHandler:^(BOOL success) {
                NSLog(@"scheme调用结束");
            }];
        } else {
            //iOS10以前,使用旧API
            [[UIApplication sharedApplication] openURL:myLocationScheme];
        }
示例中心 功能
在线体验
常见问题