uni-app中uni.getLocation偶尔获取位置失败,在部分机型如IOS及安卓部分机型

uni-app中uni.getLocation偶尔获取位置失败,在部分机型如IOS及安卓部分机型

开发环境 版本号 项目创建方式
Windows win7 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

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

HBuilderX类型:正式

HBuilderX版本号:3.1.12

手机系统:iOS

手机系统版本号:IOS 14

手机厂商:苹果

手机机型:iphone5

页面类型:vue

打包方式:云端

项目创建方式:HBuilderX

### 示例代码:

```javascript
uni.getLocation({
type: 'gcj02',
success: function (res) {
if(typeof callback=='function'){
callback(res);
}
},
fail: function (err){
uni.showToast({title:"位置定位失败,请查看定位权限是否开启",icon:"none"})
}
})

操作步骤:

调用该接口出现

预期结果:

走失败回调

实际结果:

走失败回调

bug描述:

调用uni.getLocation获取经纬度,会走失败回调,内容为以下内容,定位权限已全部开启

“errMsg”: “getLocation:fail Error Domain=PGLocation Code=13 “不能获取到位置” UserInfo={NSLocalizedDescription=不能获取到位置},https://ask.dcloud.net.cn/article/282


更多关于uni-app中uni.getLocation偶尔获取位置失败,在部分机型如IOS及安卓部分机型的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

21年的问题,23年依然存在,这种到底是什么问题呀,为什么相同的配置,iOS 偶尔会爆出这种问题呢?
getLocation:fail getLocation:fail Error Domain=PGLocation Code”2 "不能获取到位置” Userlnfo=fNSLocalizedDescription=不能获取到位 是置

更多关于uni-app中uni.getLocation偶尔获取位置失败,在部分机型如IOS及安卓部分机型的实战教程也可以访问 https://www.itying.com/category-93-b0.html


您找到原因了吗

24年了 还有

24年了还有这个问题

25年了还有,这个框架是不是倒闭了咱们不知道

在iOS设备上,uni.getLocation 偶尔获取位置失败通常与系统定位服务或权限配置有关。根据您提供的错误信息(PGLocation Code=13),这属于系统级定位服务返回的异常,常见原因包括:

  1. 定位服务未完全开启:iOS设备需同时开启系统级“定位服务”和应用级定位权限。请检查“设置 > 隐私 > 定位服务”中是否全局开启,并确保应用被设置为“使用期间”或“始终”权限。

  2. 设备定位硬件问题:老旧机型(如iPhone 5)的GPS模块可能信号较弱,在室内或网络差时容易失败。建议在室外开阔地测试,或尝试切换网络(Wi-Fi/移动数据)。

  3. 系统兼容性:iOS 14对定位权限管理更严格,部分机型需额外开启“精确定位”(在权限弹窗或应用设置中勾选)。可尝试在代码中捕获错误后引导用户手动检查设置。

  4. 代码优化建议

    • 添加重试机制:失败后延迟2-3秒重新调用(避免频繁触发系统限制)。
    • 结合uni.authorize提前申请权限,若用户拒绝则引导至设置页:
      uni.authorize({
        scope: 'scope.location',
        fail: () => uni.showModal({ content: '需开启定位权限', success: (res) => res.confirm && uni.openSetting() })
      })
回到顶部