位置服务使用指南
WARNING
请注意,当前域名 https://dev.weixin.qq.com/docs/framework
文档已不维护,请前往微信文档中心 找到对应的新文档继续使用
一、使用前须知
多端应用中地图与位置服务相关 JSAPI 能力,如 Map 组件
、 wx.openLocation
等 location 相关接口能力,是基于腾讯位置服务服务实现,开发者需前往腾讯位置服务控制台注册开发者账号,并创建对应以获取 LBS SDK 所需的 Key。为方便开发者更好地理解整体逻辑,需认真阅读本章节的内容:
- 首先,前往腾讯位置服务控制台注册开发者账号,并创建应用以获取 LBS SDK 所需的 Key
- 然后,在开发者工具中配置启用「LBS SDK」,并填入对应 Key
- 最后,在 JS 代码侧使用调用 location 相关 JSAPI
- 此服务是腾讯位置服务的免费服务,但如果需更高的额度则需付费提额,详情可查看配额限制说明
- 以及,如需商业化授权可查看详情腾讯位置服务商业化服务
1、关于 SDK 版本要求
- iOS SDK:需使用版本号 ≥ 1.0.14
- Android SDK :需使用版本号 ≥ 1.0.7
补充:Android core sdk 选择 1.2.0 及以上,Android 对应的 lbs sdk 也要选 1.2.0 及以上,否则构建会失败的。
2、关于合规指南
根据监管部门要求,使用 SDK 时必须在《隐私政策》中告知终端用户 SDK 使用用途,并且在终端用户未同意《隐私政策》前不得初始化任何 SDK。请确保你开发或运营的应用有符合监管要求的《隐私政策》文本。同时请你务必明确告知终端用户您的应用使用了腾讯位置服务。
3、JSAPI 列表
LBS SDK,包括地图、定位、罗盘、加速计和设备方向等能力;其中地图和定位能力需配置腾讯位置服务 Key,具体相关的 JSAPI 列表如下:
名称 | 功能说明 | 是否支持 |
---|---|---|
wx.stopLocationUpdate | 关闭监听实时位置变化,前后台都停止消息接收 | 支持 |
wx.startLocationUpdateBackground | 开启小程序进入前后台时均接收位置消息,需引导用户开启授权 | 支持 |
wx.startLocationUpdate | 开启小程序进入前台时接收位置消息 | 支持 |
wx.openLocation | 使用微信内置地图查看位置 | 支持 |
wx.onLocationChangeError | 监听持续定位接口返回失败时触发 | 支持 |
wx.onLocationChange | 监听实时地理位置变化事件,需结合 wx.startLocationUpdateBackground、wx.startLocationUpdate 使用 | 支持 |
wx.offLocationChangeError | 移除持续定位接口返回失败时触发 | 支持 |
wx.offLocationChange | 移除实时地理位置变化事件的监听函数 | 支持 |
wx.getLocation | 获取当前的地理位置、速度 | 是;此接口不涉及计费 |
wx.chooseLocation | 打开地图选择位置 | 支持 |
注意事项
- 使用该能力,构建 IPA 时不可选择「临时签名」,必须选择「证书签名」
二、操作指南
本章节的操作指南仅包含开发者工具上的操作,更多关于腾讯位置服务控制台操作可前往其官网进行查看相关指引
1、申请 LBS SDK Key
腾讯位置服务控制台注册开发者账号,并创建对应以获取 LBS SDK 所需的 Key
- 创建应用,填写应用名称以及应用类型
- 添加 Key
- 需同时勾选「WebServiceAPI」和「SDK」,但是「域名白名单」里面的内容不要填写
- 点击「添加」即可创建成功,并可查看配额信息
- 前往「我的应用」即可查看 LBS SDK 所需的 Key
- 补充说明:认证为企业开发者可获得更高配额,详情可前往「腾讯位置服务控制台 - 配额管理」进行查看
2、启用 LBS SDK 并配置 Key
- 前往微信开发者工具,打开
project.miniapp.json
并进入扩展 SDK 配置,并启用 LBS SDK 以及 填写 qmapAPIKey
- qmapAPIKey 即为步骤 1 中获取的腾讯位置服务 Key
- 其他说明:iOS 版 则无需选择 SDK 版本,只需配置 qmapAPIKey 即可
常见问题
1. iOS 中 wx.getLocation 没有回调?
请检查一下 project.miniapp.json 是否正确配置了 iOS 中地理位置相关的隐私信息访问许可描述,尤其是NSLocationWhenInUseUsageDescription
。
2. wx.chooseLocation 打开的页面一直在 loading 中?
请检查问题1中的权限配置是否完成,再检查 qmapAPIKey 是否有周边推荐(explore)
、关键词输入提示
这两个接口的额度是否正常,如没有额度需要先申请额度,如额度已使用完请提升额度。