2***@qq.com
2***@qq.com
  • 发布:2023-05-11 11:15
  • 更新:2023-05-11 15:41
  • 阅读:362

【报Bug】APP里面使用高德地图选择位置(uni.chooseLocation)回调后APP会卡死在页面中

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.7.11

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iPhone X

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

成功代码:

uni.getLocation({//获取当前的地理位置  
    type: 'gcj02',  
    success: function (res) {  
        console.log("经纬度信息",res)  
        uni.chooseLocation({  
            success:function(res){  
                console.log(res)  
                let address = res.address+res.name;  
                console.log(res.latitude,res.longitude,address)  
            }  
        })  
    },fail: function (err) {  
        proxy.$queue.showToast("获取定位权限失败,请检查定位权限")  
        console.log(err)  
    }  
});

失败代码:

uni.getLocation({//获取当前的地理位置  
    type: 'gcj02',  
    success: function (res) {  
        console.log("经纬度信息",res)  
        uni.chooseLocation({  
            success:function(res){  
                console.log(res)  
                let address = res.address+res.name;  
                console.log(res.latitude,res.longitude,address)  
                let params = {    
                    longitude: res.longitude,   
                    latitude: res.latitude,  
                    bizType:"MANUAL",  
                    address: address  
                }  
                console.log(params)  
                saveLocationReportingAPI(params).then((res)=>{//接口请求  
                }).catch((err)=>{  
                    console.log(err);  
                })  
            }  
        })  
    },fail: function (err) {  
        proxy.$queue.showToast("获取定位权限失败,请检查定位权限")  
        console.log(err)  
    }  
});  

操作步骤:

uni.chooseLocation的success方法里面有异步请求:
打开APP然后点击进入地图后,选择位置点击完成后关闭了地图,但是么有进入success,而且APP页面会卡死,只能关闭APP重新打开

预期结果:

uni.chooseLocation的success方法里面有异步请求也能正常执行

实际结果:

uni.chooseLocation的success方法里面有异步请求会不执行success的代码,也会导致APP 卡死

bug描述:

uni.chooseLocation在IOS APP里面选择位置成功后不会进入success,APP页面卡死。
如果uni.chooseLocation的success里没有异步API则成功,有则失败。

只有IOS APP出现(测试机1:iPhone X 版本:15.5;测试机2:iPhone 12 版本:16.4.1)
Android APP不会出现问题

2023-05-11 11:15 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com (作者)

后面使用定时器触发异步请求就不会卡死

setTimeout(() => {}, 1000);
Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

可能连续调用两个地址api有问题,看看能不能改一改逻辑

要回复问题请先登录注册