DCloud_App_Array
DCloud_App_Array
  • 发布:2014-07-22 11:31
  • 更新:2020-03-23 10:07
  • 阅读:304060

地图插件配置

分类:HTML5+

概述

HBuilderX集成了常用的原生地图控件,相对于Web地图(H5地图),使用原生地图控件有更流畅的操作速度,可以提升APP的用户体验。
目前支持百度地图和高德地图,
如需使用其它地图控件可参考Uni原生插件开发扩展支持。

使用须知

最新版本HBuilderX中自带的真机运行基座默认内置高德地图,使用的是DCloud向高德LBS开放平台申请的配置参数。
如果使用开发者自己申请的配置参数生成请使用自定义基座真机运行。

云端打包地图功能需要到第三方地图平台申请应用后获取相关配置参数:

  1. 高德LBS开放平台
  2. 百度LBS开放平台
    配置参数需要提交云端打包后才能生效,如果需要真机运行生效请使用自定义基座

高德LBS开放平台申请应用

登录 高德LBS开放平台,点击有上角的“控制台”按钮,在控制台界面左侧导航列表选择“应用管理”下的“我的应用”。

创建应用

如果已经创建应用可忽略此步骤
在“我的应用”页面,点击右侧“创建新应用”按钮,输入应用名称、选择应用类型,点击“创建”按钮创建应用。
创建应用

添加Android平台应用的KEY

需要打包为Android平台原生应用时操作,否则跳过此步骤
在创建应用项的右侧点击“+”按钮,添加Key:
添加Android平台Key

  • Key名称
    根据规则而填入Key名称,如“uniapp-android”
  • 服务平台
    选择“Android平台”
  • 发布版安全码SHA1
    应用打包时使用证书的指纹字符串(SHA1)
    HBuilderX云端打包选择“使用自有证书”或本地离线打包时,填写应用使用证书的SHA1,查看证书的信息获取指纹中SHA1值,参考:https://ask.dcloud.net.cn/article/35777#keyinfo
    HBuilderX云端打包选择“公共测试证书”时,SHA1值为:BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7,详情参考:https://ask.dcloud.net.cn/article/36522
    HBuilderX云端打包选择“老版本DCloud公用证书”时,SHA1值为:BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58,详情参考:https://ask.dcloud.net.cn/article/68
    注意:必须添写实际打包使用证书的SHA1值,否则可能无法显示地图或无法定位
  • PackageName
    应用包名,在提交App云端打包时设置的Android包名,如“uni.UNI4D6B11E”
    注意:必须填写实际打包使用的包名,否则可能无法显示地图或无法定位

点击“提交”后生产新Key,在应用下可获取:
获取Android平台Key
在HBuilderX中将此Key填入到manifest.json文件“(App)SDK配置”页面的“高德定位或地图”项下的“appkey_android”编辑框中

添加iOS平台应用的KEY

需要打包为iOS平台原生应用时操作,否则跳过此步骤
在创建应用项的右侧点击“+”按钮,添加Key:
添加iOS平台Key

  • Key名称
    根据规则而填入Key名称,如“uniapp-ios”;
  • 服务平台
    选择“iOS平台”
  • 安全码Bundle ID
    iOS平台应用包名Bundle ID(AppID),在提交App云端打包时设置的Bundle ID,如“uni.UNI4D6B11E”
    注意:必须填写实际打包使用的Bundle ID,否则可能无法显示图片或无法定位

点击“提交”后生成新Key,在应用下可获取:
获取iOS平台Key
在HBuilderX中将此Key填入到manifest.json文件“(App)SDK配置”页面的“高德定位或地图”项下的“appkey_ios”编辑框中

百度LBS开放平台申请应用

登录 百度LBS开放平台,点击有上角的“控制台”按钮,在控制台看板界面左侧导航列表选择“我的应用”下的“创建应用”。

创建Android平台应用

需要打包为Android平台原生应用时操作,否则跳过此步骤
在创建应用界面选择“Android SDK”:
创建Android平台应用

  • 应用名称
    根据规则而填入应用名称,如“uniapp-android”
  • 应用类型
    选择“Android SDK”
  • 启用服务
    至少勾选“Android地图SDK(含境内外底图)”、“Android定位SDK”,建议全部勾选
  • 发布版SHA1
    应用打包时使用证书的指纹字符串(SHA1)
    HBuilderX云端打包选择“使用自有证书”或本地离线打包时,填写应用使用证书的SHA1,查看证书的信息获取指纹中SHA1值,参考:https://ask.dcloud.net.cn/article/35777#keyinfo
    HBuilderX云端打包选择“公共测试证书”时,SHA1值为:BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7,详情参考:https://ask.dcloud.net.cn/article/36522
    HBuilderX云端打包选择“老版本DCloud公用证书”时(HBuilderX 2.3.8之前的版本叫DCloud公共证书),SHA1值为:BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58,详情参考:https://ask.dcloud.net.cn/article/68
    注意:必须添写实际打包使用证书的SHA1值,否则可能无法显示地图或无法定位
  • PackageName
    应用包名,在提交App云端打包时设置的Android包名,如“uni.UNI4D6B11E”
    注意:必须填写实际打包使用的包名,否则可能无法显示地图或无法定位

点击“提交”后生成新应用,在应用列表界面会添加新创建的应用项,在“访问应用(AK)”列中点击复制按钮获取AppKey:
获取Android平台Key
在HBuilderX中将此Key填入到manifest.json文件“(App)SDK配置”页面的“百度定位或地图”项下的“appkey_android”编辑框中

创建iOS平台应用

需要打包为iOS平台原生应用时操作,否则跳过此步骤
在创建应用界面选择“iOS SDK”:
创建iOS平台应用

  • 应用名称
    根据规则而填入应用名称,如“uniapp-ios”
  • 应用类型
    选择“iOS SDK”
  • 启用服务
    至少勾选“IOS地图SDK(含境内外底图)”,建议全部勾选
  • 安全码
    iOS平台应用包名Bundle ID(AppID),在提交App云端打包时设置的Bundle ID,如“uni.UNI4D6B11E”
    注意:必须填写实际打包使用的Bundle ID,否则可能无法显示图片或无法定位

点击“提交”后生成新应用,在应用列表界面会添加新创建的应用项,在“访问应用(AK)”列中点击复制按钮获取AppKey:
获取iOS平台Key
在HBuilderX中将此Key填入到manifest.json文件“(App)SDK配置”页面的“百度定位或地图”项下的“appkey_ios”编辑框中

HBuilderX中配置使用地图

从百度/高德开放平台申请获取配置参数后,需在HBuilderX中配置并提交云端打包才能生效。
老版本HBuilder配置界面有差异,逻辑是一样的,建议更新使用HBuilderX

配置使用地图模块

打开应用的manifest.json文件,在“模块权限配置”项中勾选“Maps(地图)”:
HBuilderX中配置使用地图模块

配置地图参数AppKey

高德地图

在应用manifest.json文件的“SDK配置”页面,勾选“高德定位地图”项,并输入从高德开放平台申请的参数:
HBuilderX中配置使用高德地图
appkey_ios: 高德地图iOS平台应用的AppKey';
appkey_android: 高德地图Android平台应用的AppKey。

百度地图

在应用manifest.json文件的“SDK配置”页面,勾选“百度定位或地图”项,并输入从百度开放平台申请的参数:
HBuilderX中配置使用百度地图
appkey_ios: 百度地图iOS平台应用的AppKey;
appkey_android: 百度地图Android平台应用的AppKey。

注意
uni-app中仅支持高德地图,暂时还不支持百度地图。

配置完成后Ctrl+S保存提交App云端打包生效。

14 关注 分享
唐糖 Riant 半杯可乐 蔡繁荣 BruceAn Trust yuhezheng 1620252366@qq.com 1156565863@qq.com 1931130013@qq.com 616761951@qq.com 雪山虫 studio 407256288@qq.com

要回复文章请先登录注册

菜鸟一枚2号

菜鸟一枚2号

我想集成高德地图的地图缓存功能,应该怎么做呢
2020-03-23 10:07
771889579@qq.com

771889579@qq.com

哈哈
2020-01-15 00:27
拓荒

拓荒

nvue页面中map组件的markers属性设置成空数组了清不掉,怎样才能清除marker标记点呢?
2019-12-20 17:49
zqxqm@163.com

zqxqm@163.com

回复 cl9000@126.com:
请问你解决了,我也需要h5嵌入百度地图。。。
2019-11-30 10:07
790077908@qq.com

790077908@qq.com

配置好了getLocation可以获取位置了 但是chooseLocation ,h5正常, app端提示请求的页面无法打开:file:///storage/emulated/0/Android/data/uni.UNIA5707AD/apps/__UNI__A5707AD/www/__uniappchooselocation.html at file:///android_asset/data/dcloud_error.html:41 手机是小米k20pro miui11 请问是什么问题,
2019-11-24 00:37
1466107086@qq.com

1466107086@qq.com

回复 huohuoyi:
我当时是key可以配置的有问题
2019-11-16 09:12
huohuoyi

huohuoyi

回复 1466107086@qq.com:
我也遇到一样的问题,你有解决吗?
2019-11-01 12:28
903481307@qq.com

903481307@qq.com

解决打包之后getlocation不能获取到当前位置的问题,大部分人应该是key没配置对,packagename是你云打包的时候的Android包名,不是自己定义的名字
2019-10-18 11:29
cl9000@126.com

cl9000@126.com

有个需求,H5端使用百度地图,怎么配置,那百度官方的JS不生效,百度JS报错,是不支持吗?
2019-09-20 15:33
cl9000@126.com

cl9000@126.com

回复 DCloud_App_Array:
H5端有没有直接修改配置文件就可以使用其他地图,例如百度地图
2019-09-11 15:43