AI 地图
产品服务
解决方案
文档与支持
定价
更新时间: 2026/08/19 10:30

单次定位用于一次性获取设备当前位置。调用 requestSingleLocation() 后,定位结果通过 LocationListener.onReceiveLocation 返回。

实现步骤
  1. 完成隐私同意、AK 配置和定位权限处理。

  2. 创建 BMapLocationClient,并先设置定位监听器。

  3. 按需设置坐标系、定位模式和地址解析参数。

  4. 调用 requestSingleLocation(),并根据 locStatusType 处理结果。

示例代码
let locationClient: BMapLocationClient | null = null
async function initLocation(): Promise<void> {
BMapLocationClient.setAgreePrivacy(true)
await BMapLocationClient.checkAuthKey('您的密钥')
const permission: Permission = await checkPermission()
if (!permission.IS_GRANT) {
guideSettingPermission()
return
}
locationClient = new BMapLocationClient()
const listener: LocationListener = {
onReceiveLocation: (location: Location) => {
if (location.locStatusType != 1) {
console.error('定位失败', location.locStatusTypeDescription)
return
}
console.log('经纬度', location.longitude, location.latitude)
if (location.hasAddr && location.addr != null) {
console.log('地址', location.addr!.address)
}
}
}
locationClient!.setLocationListener(listener)
locationClient!.setLocOption({
coordType: 'bd09ll', isNeedAddress: true,
locationMode: 0, singleLocatingTimeout: 3
})
}
function requestSingleLocation(): void {
locationClient?.requestSingleLocation()
}
结束使用

页面卸载时调用 locationClient?.destroy() 并将引用置为 null。即使只使用单次定位,也应释放客户端和监听器。

上一篇

开发注意事项

下一篇

连续定位
本篇文章对您是否有帮助?