1***@163.com
1***@163.com
  • 发布:2024-08-02 15:22
  • 更新:2024-10-14 10:50
  • 阅读:218

【报Bug】uni.getLocation的成功回调经纬度为5e-324的异常数据

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.23

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: P50

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
  // 获取经纬度  
    getLatLng() {  
      let _this = this;  
      uni.getLocation({  
        type: "gcj02",  
        // geocode: true,  
        success(data) {  
          console.log('-----定位返回------------');  
          console.log(data);  
          _this.gatherLogs(data, 1)  
          let { latitude, longitude } = data;  
          if (!latitude || !longitude) {  
            uni.showToast({  
              title: "经纬度获取失败,请重试!",  
              icon: "none",  
              duration: 2500  
            });  
            return  
          }  
          _this.latitude = latitude;  
          _this.longitude = longitude;  
          _this.parseLocationByLatLng(latitude, longitude);  
        },  
        fail(err) {  
          console.log('定位失败:', err);  
          _this.gatherLogs(err, 2)  
          // 模拟数据  
          // _this.latitude = 31.472332;  
          // _this.longitude = 120.667699;  
          // _this.parseLocationByLatLng(31.472332, 120.667699);  
          uni.showToast({  
            title: "获取定位失败,是否授权打开定位",  
            icon: "none",  
            duration: 2500  
          });  
        },  
      });  
    },  

操作步骤:

打开页面,同意定位权限以后,请求uni.getLocation,进入成功回调,返回的经纬度数据异常

预期结果:

打开页面,同意定位权限以后,请求uni.getLocation,进入成功回调,返回的经纬度数据符合正常

实际结果:

经纬度数据异常
{"type":"gcj02","altitude":5e-324,"latitude":5e-324,"longitude":5e-324,"speed":0,"accuracy":0,"errMsg":"getLocation:ok"}

bug描述:

在获取到用户系统定位权限以后,调用uni.getLocation,走了成功回调,此时经纬度都是异常数据,大多数地方都是正常,只有极个别的小岛上会出现这种情况!
返回结果如下:

{"type":"gcj02","altitude":5e-324,"latitude":5e-324,"longitude":5e-324,"speed":0,"accuracy":0,"errMsg":"getLocation:ok"}
2024-08-02 15:22 负责人:无 分享
已邀请:
1***@163.com

1***@163.com (作者)

定位的位置位于:江苏省苏州市相城区阳澄湖镇莲花村西洋村相石路27号

DCloud_UNI_yuhe

DCloud_UNI_yuhe

大多数情况正常?在小岛上出现?什么小岛

  • 1***@163.com (作者)

    江苏省苏州市相城区(莲花岛)

    2024-08-02 16:16

  • 1***@163.com (作者)

    而且只有个别人的手机有问题,大部分都正常,只有某个人的手机在这里不行,出了岛就正常

    2024-08-02 16:17

  • DCloud_UNI_yuhe

    回复 1***@163.com: 那这是地图厂商定位的问题吧,你加个判断逻辑显示位置失效然后重新获取试试

    2024-08-02 16:21

2***@qq.com

2***@qq.com

我也遇见了这个问题,使用的第三方地图为百度地图,大多数手机及用户获取正常,部分异常;回调成功后,经纬度为5E-324,address为空。

2***@qq.com

2***@qq.com

请问楼主有解决这个问题吗

  • 1***@163.com (作者)

    改成默认坐标系就好了

    2024-10-16 16:44

要回复问题请先登录注册