uni-app uni.chooseLocation不能选择地址

uni-app uni.chooseLocation不能选择地址

项目属性 信息
产品分类 uniapp/App
PC开发环境 Mac
PC系统版本 14.7.4 (23H420)
HBuilderX类型 正式
HBuilderX版本 4.57
手机系统 iOS
手机系统版本 iOS 16
手机厂商 苹果
手机机型 ios
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

uni.chooseLocation({
success: (res) => {
if (res.errMsg === 'chooseLocation:ok') {
console.log('位置名称:' + res.name);
console.log('详细地址:' + res.address);
console.log('纬度:' + res.latitude);
console.log('经度:' + res.longitude);
}
}
});

预期结果:

  • 可以正常选择地点

实际结果:

  • 搜索不了,也显示不了地址

bug描述:

[JS Framework] Failed to execute the callback function:
14:17:29.286 TypeError: undefined is not an object (evaluating 'e.data.detail.points') __ERROR  
ios手机一直报错,并且地址一直搜索不到
选择不了地图  
配置项一直正确  

图像


更多关于uni-app uni.chooseLocation不能选择地址的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

安卓是在地图上那个红色标志拖动不能显示标志所在地址,但是搜索可以

更多关于uni-app uni.chooseLocation不能选择地址的实战教程也可以访问 https://www.itying.com/category-93-b0.html


压缩包为安卓的演示视频

根据你提供的信息,uni.chooseLocation在iOS设备上出现问题的可能原因和解决方案如下:

  1. 权限问题
  • 确保在manifest.json中正确配置了定位权限:
"ios": {
    "permissions": {
        "LOCATION_WHEN_IN_USE": "描述定位用途"
    }
}
  1. 高德/腾讯地图Key配置
  • iOS端需要单独配置地图SDK的Key,检查manifest.json中是否配置了正确的iOS地图Key
  1. iOS系统限制
  • iOS 16对定位权限管理更严格,需要确保:
    • 用户已授权定位权限
    • 在系统设置中开启了定位服务
  1. API调用时机问题
  • 建议在用户交互事件(如按钮点击)中调用chooseLocation,不要在页面初始化时直接调用
  1. 错误处理
  • 添加完整的错误回调处理:
uni.chooseLocation({
    success: (res) => {
        // 成功处理
    },
    fail: (err) => {
        console.error('选择位置失败:', err);
    }
});
回到顶部