# 位置服务使用指南

# 一、使用前须知

多端应用中地图与位置服务相关 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 中地理位置相关的隐私信息访问许可描述,尤其是NSLocationWhenInUseUsageDescriptionAlt text

# 2. wx.chooseLocation 打开的页面一直在 loading 中?

请检查问题1中的权限配置是否完成,再检查 qmapAPIKey 是否有周边推荐(explore)关键词输入提示 这两个接口的额度是否正常,如没有额度需要先申请额度,如额度已使用完请提升额度。