- 发布:2023-09-19 19:14
- 更新:2023-09-19 19:14
- 阅读:191
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
手机系统: 全部
手机机型: HONOR 9X
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: CLI
CLI版本号: 3.0.0-3080720230703001
测试过的手机:
示例代码:
const navToChooseAddress = () => {
if(myValue.value){
amapPlugin.value.getInputtips({
keywords: myValue.value,
success: (res:any) => {
let ValidAddress = res.tips.find((item:any)=>{
return item.location&&item.location.length>0
})
let longitude =ValidAddress.location.split(',')[0]
let latitude = ValidAddress.location.split(',')[1]
console.log(longitude,latitude)
try{
uni.chooseLocation({
longitude,
latitude,
success:(result:any)=>{
console.log(result)
const addr = result.address
emit('update:value',addr);
},
fail(err:any){
console.log(err)
},
complete(){
console.log('complete')
}
})
}catch(err:any){
console.log(JSON.stringify(err))
}
},
fail: (err: any) => {
ToastUtils.error(err.errMsg)
}
})
}else{
uni.chooseLocation({
success:(result:any)=>{
const addr = result.address
emit('update:value',addr)
}
})
}
}
const navToChooseAddress = () => {
if(myValue.value){
amapPlugin.value.getInputtips({
keywords: myValue.value,
success: (res:any) => {
let ValidAddress = res.tips.find((item:any)=>{
return item.location&&item.location.length>0
})
let longitude =ValidAddress.location.split(',')[0]
let latitude = ValidAddress.location.split(',')[1]
console.log(longitude,latitude)
try{
uni.chooseLocation({
longitude,
latitude,
success:(result:any)=>{
console.log(result)
const addr = result.address
emit('update:value',addr);
},
fail(err:any){
console.log(err)
},
complete(){
console.log('complete')
}
})
}catch(err:any){
console.log(JSON.stringify(err))
}
},
fail: (err: any) => {
ToastUtils.error(err.errMsg)
}
})
}else{
uni.chooseLocation({
success:(result:any)=>{
const addr = result.address
emit('update:value',addr)
}
})
}
}
操作步骤:
首次打开APP,首次调用uni.chooseLocation,使用参数longitude和latitude
首次打开APP,首次调用uni.chooseLocation,使用参数longitude和latitude
预期结果:
正确定位到坐标点并返回附近地点列表
正确定位到坐标点并返回附近地点列表
实际结果:
附近地址列表一直处于加载状态,并且此原生组件被卡死,非重启app不能解决
附近地址列表一直处于加载状态,并且此原生组件被卡死,非重启app不能解决
bug描述:
uni.chooseLocation在APP首次打开时,且首次调用此api时如果传递经纬度参数,将获取不到地址列表,地址列表一直处于加载状态,且点击确定时报错,重启app后消失,能正常使用
如果首次打开app时,第一次使用此api时不传递经纬度参数,则不会出现此问题