uni.getLocation({
type: 'wgs84', // 坐标系类型,可选值:wgs84 或 gcj02
success: (res) => {
console.log('获得坐标成功', res)
},
fail: () => {
console.log('获取失败')
// GPS未开启,跳转设置
},
complete: () => {
console.log('最终执行')
}
})

- 发布:2025-02-26 17:18
- 更新:2025-02-27 11:34
- 阅读:27
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 4.28
手机系统: Android
手机系统版本号: Android 12
手机厂商: 小米
手机机型: 红米note5
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
类原生安卓12系统,只要是调用对应的代码示例就发生卡死的情况,不走到任何一个方法。然后执行:
uni.getLocation({
type: 'wgs84', // 坐标系类型,可选值:wgs84 或 gcj02
success: (res) => {
console.log('获得坐标成功', res)
},
fail: () => {
console.log('获取失败')
// GPS未开启,跳转设置
},
complete: () => {
console.log('最终执行')
}
})
类原生安卓12系统,只要是调用对应的代码示例就发生卡死的情况,不走到任何一个方法。然后执行:
uni.getLocation({
type: 'wgs84', // 坐标系类型,可选值:wgs84 或 gcj02
success: (res) => {
console.log('获得坐标成功', res)
},
fail: () => {
console.log('获取失败')
// GPS未开启,跳转设置
},
complete: () => {
console.log('最终执行')
}
})
预期结果:
wgs84能正常工作,能看到任何一行输出。
wgs84能正常工作,能看到任何一行输出。
实际结果:
没有任何输出,整个流程挂死,如果不能用建议把wgs84去掉,因为换成gcj02能工作。自己去换算坐标
没有任何输出,整个流程挂死,如果不能用建议把wgs84去掉,因为换成gcj02能工作。自己去换算坐标
bug描述:
【报Bug】uni.getLocation使用wgs84时,在类原生安卓12+手机上流程卡死不发生任何回调。鸿蒙3.0和MIUI系统没问题,就是在原生安卓12上出现卡死的问题。其表象时回调success,fail和complete方法均不执行。
坐标系换成gcj02后能正常工作
1 个回复
DCloud_App_Array
在android平台wgs84坐标系使用的是系统定位,部分设备系统定位不可用(多数原因是网络被墙),或者是系统不带定位模块。
在国内建议gcj02坐标系,这种情况使用的是国内定位供应商提供的定位功能(如高德)。
至于在部分设备上使用wgs84坐标系在特定情况下没有触发回调,可能系统定位模块的兼容性不够好导致,请提供详细的设备及ROM信息。