uni-app vivo IQOO3 uni.getLocation 定位结果错误

uni-app vivo IQOO3 uni.getLocation 定位结果错误

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

HBuilderX类型:正式

HBuilderX版本号:3.1.14

手机系统:Android

手机系统版本号:Android 11

手机厂商:华为

手机机型:IQOO3

页面类型:vue

打包方式:云端

示例代码:

uni.getLocation({  
    geocode:true,  
    type: 'gcj02',  
    success: function (res) {  
        console.log(res);  
        that.lng = res.longitude;  
        that.lat = res.latitude;  
        that.address = res.address.city+res.address.district+res.address.street+res.address.poiName;  
        console.log('当前位置的经度:' + res.longitude);  
        console.log('当前位置的纬度:' + res.latitude);  
    },  
    fail(err){  
        console.log('错误:',err);  
        that.lng =0;  
        that.lat =0;  
        that.address = '';  
    }  
});

操作步骤:

  • uni.getLocation

预期结果:

  • 定位成功

实际结果:

  • getLocation:fail [geolocation:6]定位结果错误

bug描述:

  • 定不位 getLocation:fail [geolocation:6]定位结果错误

更多关于uni-app vivo IQOO3 uni.getLocation 定位结果错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

其他手机正常

更多关于uni-app vivo IQOO3 uni.getLocation 定位结果错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我也遇到了这个问题,楼主解决了吗,最开始的时候好像没这个问题,不知道怎么的这后面就一直报这个

这是一个典型的设备兼容性问题。geolocation:6错误码表示设备无法返回有效的位置信息,通常与手机硬件、系统权限或网络环境有关。

根据你的情况,建议按以下顺序排查:

  1. 检查定位权限:确保应用已获取精确定位权限。在IQOO3的Android 11系统中,需要在设置-应用管理-你的应用-权限管理中开启“位置信息”权限。

  2. 确认定位服务开启:检查手机系统设置中的定位服务是否开启,建议切换到高精度模式。

  3. 测试网络环境:GPS定位在室内或信号差的环境下容易失败。尝试在室外开阔地带测试,或连接WiFi辅助定位。

  4. 检查设备兼容性:虽然你使用的是华为机型,但IQOO3的定位模块可能存在兼容性问题。可以尝试:

    • 重启手机
    • 清除应用缓存
    • 在其他手机上测试相同代码
  5. 代码优化:建议添加超时设置和重试机制:

    uni.getLocation({
        geocode: true,
        type: 'gcj02',
        timeout: 10000, // 10秒超时
        success(res) {
            // 成功回调
        },
        fail(err) {
            console.log('定位失败:', err);
            // 可在此添加重试逻辑
        }
    });
回到顶部