uni-app andord端chooseLocation地址列表加载不出来

发布于 1周前 作者 phonegap100 来自 Uni-App

uni-app andord端chooseLocation地址列表加载不出来

开发环境 版本号 项目创建方式
uniapp HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:19045.3803

HBuilderX类型:正式

HBuilderX版本号:4.07

手机系统:Android

手机系统版本号:Android 10

手机厂商:荣耀

手机机型:v20

页面类型:vue

vue版本:vue2

打包方式:云端

### 操作步骤:
```javascript
// #ifdef APP || H5  
uni.chooseLocation({  
    success: (res) => {  
        uni.$u.route('/pages/subpages/index/yanshou/yanshou', {  
            id: self.id,  
            location_address: res.address,  
            lon: res.longitude,  
            lat: res.latitude  
        })  
    },  
    fail: (err) => {  
        console.log(err)  
    }  
})  
// #endif

预期结果:

整上显示选择

实际结果:

列表异常

bug描述:

uni.chooseLocation在android端列表无法展示

image


1 回复

在 uni-app 中,如果你在 Android 端使用 chooseLocation API 时,发现地址列表加载不出来,可能是由于以下几个原因导致的。以下是一些排查和解决方案:


1. 检查网络权限

确保你的应用已经获取了网络权限。在 AndroidManifest.xml 中添加以下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

2. 检查高德或腾讯地图的配置

chooseLocation 依赖于高德地图或腾讯地图,确保你在 manifest.json 中正确配置了地图的 AppKey。

  • 高德地图配置
{
  "app-plus": {
    "maps": {
      "amap": {
        "appkey_android": "你的高德地图AppKey"
      }
    }
  }
}
  • 腾讯地图配置
{
  "app-plus": {
    "maps": {
      "qqmap": {
        "appkey_android": "你的腾讯地图AppKey"
      }
    }
  }
}

如果没有配置正确的 AppKey,地图相关功能可能无法正常使用。


3. 检查地图服务的可用性

确保你使用的地图服务(高德或腾讯)在当前区域是可用的。某些地区可能对特定地图服务有限制。


4. 检查定位权限

如果地址列表需要根据定位加载,确保你的应用已经获取了定位权限。在 AndroidManifest.xml 中添加以下权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

在代码中动态请求权限:

uni.authorize({
  scope: 'scope.userLocation',
  success() {
    console.log('定位权限已授权');
  },
  fail() {
    console.log('定位权限未授权');
  }
});

5. 检查代码逻辑

确保你正确调用了 chooseLocation API,并且传入了正确的参数。例如:

uni.chooseLocation({
  success: (res) => {
    console.log('选择的位置:', res);
  },
  fail: (err) => {
    console.error('选择位置失败:', err);
  }
});
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!