Francis8192
Francis8192
  • 发布:2024-04-12 21:05
  • 更新:2024-05-27 10:54
  • 阅读:483

【报Bug】更新打包最新的SDK后,Android定位不及时和部分机型不能定位的问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 专业版 22H2 19045.2251

HBuilderX类型: 正式

HBuilderX版本号: 4.08

手机系统: Android

手机系统版本号: Android 14

手机厂商: 华为

手机机型: Mate系列 荣耀系列 等

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
    uni.getLocation({  
        type: "gcj02",  
        isHighAccuracy: true, //开启高精度定位  
        geocode: false, //是否解析地址信息  
        success: async (res) => {  
            //基础定位信息-位置信息  
            result.longitude = res.longitude;  
            result.latitude = res.latitude;  
            if (options.extensions) {  
                //调用高德逆编码接口,实现经纬度解析。  
            } else {  
                result = {};  
                result.longitude = res.longitude;  
                result.latitude = res.latitude;  
            }  
        },  
        fail: async (res) => {  
            let message = '定位失败。编号:' + res.code + ',错误编号:' + res.errCode + ',消息:' + res.errMsg;  
            //发送message到服务器  
        }  
    })

操作步骤:

目前主要是通过客诉反馈,最近收到大量客诉,大部分是因为定位延时大,还有部分新手机无法定位,如Mate60Pro.

预期结果:

根据高德的反馈,希望能够选择高德定位SDK的版本,高德地图的官方人员建议如果不上应用市场,可以将定位SDK降低版本,来解决此问题。

实际结果:

解决定位延迟不及时和高版本定位的问题。

bug描述:

2024年4月10日,我们发布了一个新版本的uniapp版本,更新HuilderX到4.0.8版本。更新后,出现大量的客诉,普遍的问题是定位不准确。其中主要是Mate60Pro不能定位,后续陆续出现很多反馈定位不及时的原因。

经过咨询:
1、本次更新后,高德定位SDK6.4.3版本,因我们购买了高德商用服务,咨询了高德官方,说因为合规性问题,降低了定位的刷新频率,也就是说,为了合规性问题,可能导致定位更新不及时的原因。 我们的app主要用于公司销售人员拜访客户,最近出现的问题是经常拜访后,前往下一个网点,定位时还显示上一个门店的定位,要多次刷新,反复才能更新到最新位置。
2、高版本的华为手机会出现无法定位的原因,目前高德无法根本解决。

我收集了用户手机调用uni.getlocation方法后的错误信息。

错误信息:定位失败。编号:4,错误编号:4,消息:getLocation:fail [geolocation:6]定位结果错误 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:#id:Sb2FhNWNiZzg3ZjQ0MGlkcHNwcnByMTY2ZmRjMTNlLA==#csid:d453c0d90bbe454d9c995fccc7c80015location faile retype: rdesc:78#0601#pm111111

编号:2,错误编号:2,消息:getLocation:fail [geolocation:13]网络定位失败,请检查设备是否插入sim卡,是否开启移动网络或开启了wifi模块 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:获取到的基站和WIFI信息均为空,请检查是否授予APP定位权限#1302#pm111111

错误信息:定位失败。编号:2,错误编号:2,消息:getLocation:fail [geolocation:13]网络定位失败,请检查设备是否插入sim卡,是否开启移动网络或开启了wifi模块 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:获取到的基站和WIFI信息均为空,请检查是否授予APP定位权限#1302#pm111111

2024-04-12 21:05 负责人:无 分享
已邀请:
bobbbb

bobbbb

解决了吗 同样的问题

  • Francis8192 (作者)

    并没有,现在主要的问题是更新4.08SDK后,高德定位延迟问题, 经常不准,偏差大, 到达新地点后, 定位还是上一次定位地点。

    2024-04-30 11:47

  • bobbbb

    回复 Francis8192: 我们跟你们一样的场景 都是销售拜访客户 现在投诉很大 哎

    2024-04-30 13:51

  • Francis8192 (作者)

    回复 bobbbb: 我已经被客诉搞疯了,目前发布了小程序版本,使用小程序就定位正常。

    2024-04-30 14:06

  • bobbbb

    回复 Francis8192: 有没有试过不接高德 用其他平台的方案

    2024-04-30 15:49

  • Francis8192 (作者)

    回复 bobbbb: 没有,定位商用服务每家都是5W大洋,都买伤不起。目前只购买了高德商用服务。

    2024-05-01 21:26

  • Francis8192 (作者)

    回退hb版本到3.87试试

    2024-05-08 17:48

爱tutu爱生活

爱tutu爱生活 - 前端渣渣

我也是,4.08打包出来的,华为的定位还一直报错。回退到3.99重新打包好像就没这个错了,你可以试下

  • Francis8192 (作者)

    我尝试将hb降低到3.87,打包sdk用的3.82,目前在测试中。

    2024-05-08 17:48

  • bobbbb

    回复 Francis8192: 测试结果如何了

    2024-05-09 09:54

  • bzliukai

    回复 Francis8192: 有结果了吗,兄弟,

    我这边也是使用4+hx 打的包,很多型号的华为手机,客户反馈定不了位(权限都已经授权)。

    期待兄弟结果。。

    2024-05-09 10:00

  • Francis8192 (作者)

    回复 bobbbb: 目前测试结果是, 3.82的定位刷新频率高一些,不过没有具体数值。 就是定位在一段时间内刷新的时间短些。更新到 4.08后,时间被拉长。还有就是高版本的定位偏差会大一些。 目前没有找到合适的解决办法。目前我们的用户都已经被引导用微信小程序了。

    2024-05-10 08:20

  • Francis8192 (作者)

    回复 bzliukai: 这个目前没有好办法解决, 你说的华为,应该是新出的机型导致的。之前问过高德官方工程师,说是要集成什么换位的定位SDK。扯淡的很,不知道买了商用服务有什么用,定位不了,玩不下去了。

    2024-05-10 08:21

  • Francis8192 (作者)

    回复 Francis8192: 华为的定位SDK

    2024-05-10 08:22

1***@163.com

1***@163.com

现在不仅华为,红米K40也出现一样的问题了。难顶

  • Francis8192 (作者)

    是的,目前我还没有彻底解决这个问题,转小程序了。

    2024-06-03 09:22

要回复问题请先登录注册