开发 高德地图手机版 入门指南

入门指南 最后更新时间: 2024年01月02日

Android 端

浏览器中打开高德地图 App

例如在 H5 页面中跳转到高德地图 App,或者在本地 App 中加载的 H5 页面跳转到高德地图 App,需要使用 scheme 调用,在 H5 中的链接中加入高德地图的 Scheme 即可,如(以导航为例):

<a href="androidamap://navi?sourceApplication=appname&amp;poiname=fangheng&amp;lat=36.547901&amp;lon=104.258354&amp;dev=1&amp;style=2">导航</a>

本地App中打开高德地图App

这种场景即在本地 App 中通过 Java 代码调用高德地图页面功能,此时就需要使用 Intent 调用。同样以导航功能为例:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);

//将功能Scheme以URI的方式传入data
Uri uri = Uri.parse("androidamap://navi?sourceApplication=appname&amp;poiname=fangheng&amp;lat=36.547901&amp;lon=104.258354&amp;dev=1&amp;style=2");
intent.setData(uri);

//启动该页面即可        
startActivity(intent);

上述URI调用参数的具体含义请参见Android URI 详细文档

iOS 端

配置白名单 

由于 iOS 的限制,iOS 系统在 9 之后的版本中,如果开发者的 App 希望调起高德地图,必须在自己 App 的设置中配置白名单。

配置方法:

  1. 找到您的 Info.plist 文件
  2. 在文件中添加key:LSApplicationQueriesSchemes,类型是 Array,如果曾经添加过,无需再次添加。
  3. Array 中添加一个 item,类型为 String,值为 iosamap。

添加完成后截图如下:

判断是否安装了高德地图

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

示例代码如下:

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

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

调起高德地图

使用 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]; 
}

返回顶部 示例中心 常见问题 智能客服 公众号
二维码