9***@qq.com
9***@qq.com
  • 发布:2024-04-09 18:11
  • 更新:2024-04-09 18:39
  • 阅读:718

【报Bug】uni.getLocation报错缺少定位权限

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.07

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: MI 8 Lite

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<script setup>  
    import { ref, reactive, watch, getCurrentInstance } from 'vue'  
    import permision from "@/js_sdk/wa-permission/permission.js"  

    onLoad(async (options) => {  
    })  
    onShow(async () => {  
        getLocation()  
    })  
    onUnload(() => {  
    })  

    /**检查是否打开GPS功能(android、ios)**/  
    //  
    const getLocation = async () => {  
        let gpsResult = await permision.checkSystemEnableLocation()  
        // console.log(gpsResult);  
        if(gpsResult) {  
            //判断平台  
            let system = uni.getSystemInfoSync(); // 获取系统信息  
            if (system.platform == 'android') {  
                let result = await permision.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION')  
                // console.log(result);  
                if (result == 1) {  
                    permissionLoaction()  
                } else {  

                    permision.gotoAppPermissionSetting()  
                }   
            } else if (system.platform === 'ios') {  
                let result = await permision.judgeIosPermission("location")  
                if(result) {  
                    permissionLoaction()  
                }else{  
                    permision.gotoAppPermissionSetting()  
                }  
            }  
        }else{  

        }  

    }  

    const permissionLoaction = () => {  
        const appAuthorizeSetting = uni.getAppAuthorizeSetting()  
        console.log('appAuthorizeSetting',appAuthorizeSetting)  
        uni.getLocation({  
            type:'gcj02',  
            success: (resData) => {  
                console.log('定位信息经纬度:',resData)  
            },  
            fail: (err) => {  
                console.log('定位失败',err)  
            }  
        })  
    }  
</script>

操作步骤:

手机位置信息开启且已授权定位权限 新建一个页面,在onShow中调用uni.getLocation,频繁进行页面切换进入此页面

预期结果:

不报错,正确返回定位信息

实际结果:

报错"errMsg": "getLocation:fail getLocation:fail [geolocation:12]缺少定位权限 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:#pm111111"

bug描述:

频繁使用uni.getLocation后报错{
"errMsg": "getLocation:fail getLocation:fail [geolocation:12]缺少定位权限 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:#pm111111"
}

2024-04-09 18:11 负责人:无 分享
已邀请:
DCloud_Android_THB

DCloud_Android_THB

请更新HBuilder X 到最新版本

  • 9***@qq.com (作者)

    可以了 真的是版本问题 谢谢

    2024-04-10 13:34

要回复问题请先登录注册