北斗定位

北斗卫星导航系统(BDS)是我国自主研制的全球卫星导航系统。 腾讯定位 SDK 提供了优先使用北斗卫星系统的定位能力。

在 GPS 卫星系统完全失效的情况下,依靠腾讯全自研的卫星解算、差分定位、网络定位和传感器推算等多源融合定位能力, 仍能保证定位精度:开阔场景:约 5 米、城市 CBD:约 10 米。

北斗定位属于定位增强功能,需开通额外服务权限,请联系客服了解详情。

自定位 SDK v7.2.8 起,需通过 TencentLocationManager.setDeviceID 上传设备唯一标识,用于定位问题排查。



系统要求

  • Android 7 及以上版本
  • 仅支持 64 位设备

集成步骤

1. 设置授权 Key

联系客服获取独立的北斗授权 Key,在代码中传入。

获取北斗 Key 后,无需再在 Manifest 中配置官网普通 Key。

TencentLocationManagerOptions.setExtraKey(key);

必须在获取 TencentLocationManager 实例之前调用,否则功能不生效。

2. 集成北斗定位库

联系客服获取北斗定位库,支持两种集成方式:

  • so 库集成:将 so 库放在 jniLibs 目录下,与 libtencentloc.so 同级。
  • aar 包集成:直接引入 aar 即可,北斗库已包含其中。

3. 正常使用

完成上述配置后,即可使用北斗优先定位功能。

接口说明

设置卫星定位来源

通过 setGnssSource 选择卫星信号来源:

TencentLocationRequest request = TencentLocationRequest.create();
request.setGnssSource(TencentLocationRequest.GNSS_SOURCE_BEIDOU_FIRST);

可选常量:

常量 说明
GNSS_SOURCE_BEIDOU_FIRST 优先使用北斗定位结果
GNSS_SOURCE_GPS_FIRST 优先使用系统 GPS 结果
GNSS_SOURCE_BEIDOU_ONLY 仅使用北斗定位结果

获取定位结果来源

通过回调结果的 getProvider() 判断当前定位信号来源:

Provider 说明
BEIDOU_PROVIDER 卫星信号来源于北斗
GPS_PROVIDER 卫星信号来源于系统 GPS

注意事项

  • 北斗定位需开通额外服务权限,请联系客服。
  • setExtraKey 必须在获取 TencentLocationManager 实例之前调用。
  • 不支持 Android 7 以下版本及 32 位设备。

相关链接

本页内容