uni.getLocation({
type: 'wgs84',
success: (res : GetLocationSuccess) => {
locationLastPoint.value = `单次定位成功:${res.latitude}, ${res.longitude}`;
appendLocationDebugLog(locationLastPoint.value);
},
fail: (err) => {
locationLastError.value = `单次定位失败:${JSON.stringify(err)}`;
appendLocationDebugLog(locationLastError.value);
}
} as GetLocationOptions);
uni.startLocationUpdate({
type: 'wgs84',
success: (_res) => {
appendLocationDebugLog('startLocationUpdate 调用成功,等待 onLocationChange 回调');
},
fail: (err) => {
locationLastError.value = `开启持续定位失败:${JSON.stringify(err)}`;
appendLocationDebugLog(locationLastError.value);
}
} as StartLocationUpdateOptions); - 发布:2026-04-13 18:17
- 更新:2026-04-13 18:17
- 阅读:16
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: Apple M4 macOS 26.3.1
HBuilderX类型: Alpha
HBuilderX版本号: 5.04
手机系统: Android
手机系统版本号: Android 16
手机厂商: 华为
手机机型: 三星 Galaxy S25
页面类型: nvue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
安卓设备室内调用uni.getLocation和uni.startLocationUpdate
安卓设备室内调用uni.getLocation和uni.startLocationUpdate
预期结果:
安卓上uni.getLocation和uni.startLocationUpdate都正常使用
安卓上uni.getLocation和uni.startLocationUpdate都正常使用
实际结果:
安卓上uni.getLocation和uni.startLocationUpdate都异常
安卓上uni.getLocation和uni.startLocationUpdate都异常
bug描述:
uni.getLocation({
type: 'wgs84',
success: (res : GetLocationSuccess) => {
locationLastPoint.value = `单次定位成功:${res.latitude}, ${res.longitude}`;
appendLocationDebugLog(locationLastPoint.value);
},
fail: (err) => {
locationLastError.value = `单次定位失败:${JSON.stringify(err)}`;
appendLocationDebugLog(locationLastError.value);
}
} as GetLocationOptions);
在室内使用单次定位都会超时,错误如图所示:errCode:1505600, errMsq: location fail: timeout,定位权限是确定有授权且打开的,拿到室外后定位就正常了。
uni.startLocationUpdate({
type: 'wgs84',
success: (_res) => {
appendLocationDebugLog('startLocationUpdate 调用成功,等待 onLocationChange 回调');
},
fail: (err) => {
locationLastError.value = 开启持续定位失败:${JSON.stringify(err)};
appendLocationDebugLog(locationLastError.value);
}
} as StartLocationUpdateOptions);
但是持续定位一直都是没效果,没有任何回调。
如上同一套代码,在iOS上运行没有任何问题,不管是单次定位还是持续定位都是正常的。但是安卓上,我换了3台设备,小米14pro、vivo x100、三星 Galaxy S25 都是如上所述一样的效果