ios端uni-app的uni.chooseLocation异常

ios端uni-app的uni.chooseLocation异常

开发环境 版本号 项目创建方式
Windows 10 家庭中文版 2009 HBuilderX

示例代码:

uni.chooseLocation({ success(res) { }, fail: function(config) { console.log(‘config’, config); } });


### 操作步骤:

- ios端打开地图界面想要选择当前位置的时候,地址列表无法显示,就无法选中地址

### 预期结果:

- 能够像安卓端一样返回地址列表

### 实际结果:

- 地址列表为空,显示 对不起,没有搜索到相关数据

### bug描述:

- 在ios手机上使用uni.chooseLocation打开地图界面后,地址列表的信息出不来,搜索框输入任何内容都无法搜索出地址列表,打的安卓包则不会有这个问题,之前的时候都是能用的,前几天突然有用户反馈ios端这个功能无法使用

![Image](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20250528/1130d5d90d1fd0fae8c4616b03744377.jpeg)

更多关于ios端uni-app的uni.chooseLocation异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于ios端uni-app的uni.chooseLocation异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是iOS端uni.chooseLocation的一个常见问题,通常由以下几个原因导致:

  1. 高德/腾讯地图iOS SDK配置问题
  • 检查manifest.json中是否配置了正确的iOS地图SDK
  • 确保Bundle ID与高德/腾讯开发者平台配置一致
  1. 定位权限问题
  • iOS需要获取定位权限才能返回地址列表
  • 检查info.plist中是否添加了NSLocationWhenInUseUsageDescription
  1. 网络请求限制
  • iOS对https有严格要求,确保地图API请求使用https
  • 检查是否有ATS限制
  1. 临时解决方案:
// 可以先调用uni.getLocation获取坐标
uni.getLocation({
  type: 'gcj02',
  success: function(res) {
    uni.chooseLocation({
      latitude: res.latitude,
      longitude: res.longitude,
      success(res) {
        console.log(res)
      }
    })
  }
})
回到顶部