w***@163.com
w***@163.com
  • 发布:2025-02-26 17:18
  • 更新:2025-02-27 11:34
  • 阅读:27

【报Bug】uni.getLocation使用wgs84时,在原生安卓12+手机上流程卡死不发生任何回调

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

HBuilderX类型: 正式

HBuilderX版本号: 4.28

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: 红米note5

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

示例代码:

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去掉,因为换成gcj02能工作。自己去换算坐标

bug描述:

【报Bug】uni.getLocation使用wgs84时,在类原生安卓12+手机上流程卡死不发生任何回调。鸿蒙3.0和MIUI系统没问题,就是在原生安卓12上出现卡死的问题。其表象时回调success,fail和complete方法均不执行。

坐标系换成gcj02后能正常工作

2025-02-26 17:18 负责人:DCloud_App_Array 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

在android平台wgs84坐标系使用的是系统定位,部分设备系统定位不可用(多数原因是网络被墙),或者是系统不带定位模块。
在国内建议gcj02坐标系,这种情况使用的是国内定位供应商提供的定位功能(如高德)。
至于在部分设备上使用wgs84坐标系在特定情况下没有触发回调,可能系统定位模块的兼容性不够好导致,请提供详细的设备及ROM信息。

要回复问题请先登录注册