uni-app uni.chooseLocation APP端加载不出地址列表(高德)

uni-app uni.chooseLocation APP端加载不出地址列表(高德)

开发环境 版本号 项目创建方式
Windows win10 HBuilderX
### 示例代码:

```js
chooseLocation() {
uni.chooseLocation({
success: (res) => {
console.log(res);
this.form.latitude = res.latitude
this.form.longitude = res.longitude
}
});
},

操作步骤:

  • 触发uni.chooseLocation方法

预期结果:

  • 能够加载出地址列表

实际结果:

  • 一直加载不出地址列表

bug描述:

自有证书打包自定义基座,使用自定义基座运行方式,uni.chooseLocation APP端加载不出地址列表(高德)

8 回复

我们这边确定key是正确的,重新申请了key也都不行

使用最新的离线SDK打包也是有问题的,使用旧版本的SDK就可以了,麻烦尽快修复这个bug

请问下你这个是怎么操作的啊 旧版本的SDK 是指什么

回复 g***@jtexpress.com:可以看看这个作者的帖子,这里有离线SDK的相关信息 https://ask.dcloud.net.cn/question/143324

请问解决了吗?求告知

云打包无法解决,只能通过离线打包,最新版本的sdk文件也有问题,需要替换一些文件,具体请看这个帖子作者自己的回复 https://ask.dcloud.net.cn/question/143324

在使用 uni.chooseLocation 时,如果遇到在 APP 端无法加载出地址列表(高德地图)的问题,可能是由于以下几个原因导致的。以下是一些常见的排查步骤和解决方案:

1. 检查高德地图的配置

  • 确保高德地图的 SDK 已正确配置:在 manifest.json 文件中,确保已经正确配置了高德地图的 AppKey。
  • 检查 AppKey 是否正确:确保你在高德地图开发者平台申请的 AppKey 是正确的,并且与你在 manifest.json 中配置的 AppKey 一致。
{
  "app-plus": {
    "maps": {
      "amap": {
        "appkey": "你的高德地图AppKey"
      }
    }
  }
}

2. 检查权限

  • 确保应用有定位权限:在 Android 和 iOS 上,应用需要获取定位权限才能使用高德地图的定位功能。你可以在 manifest.json 中配置权限:
{
  "app-plus": {
    "distribute": {
      "android": {
        "permissions": [
          "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
          "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>"
        ]
      },
      "ios": {
        "permissions": {
          "location": {
            "desc": "需要获取您的位置信息"
          }
        }
      }
    }
  }
}
  • 动态申请权限:在代码中动态申请定位权限,确保用户已经授权。
uni.authorize({
  scope: 'scope.userLocation',
  success() {
    console.log('定位权限已授权');
  },
  fail() {
    console.log('定位权限未授权');
  }
});

3. 检查网络连接

  • 确保设备网络连接正常:高德地图需要网络连接才能加载地址列表,确保设备已经连接到互联网。

4. 检查高德地图服务状态

  • 检查高德地图服务是否正常:有时高德地图的服务可能会出现故障,导致无法加载地址列表。你可以访问高德地图的开发者平台或官方公告,查看是否有服务中断的通知。

5. 调试和日志

  • 查看控制台日志:在开发过程中,查看控制台日志,检查是否有错误信息或警告信息,这些信息可能会帮助你定位问题。
  • 使用 uni.getLocation 测试定位功能:你可以先使用 uni.getLocation 测试定位功能是否正常,如果 uni.getLocation 也无法获取位置信息,那么可能是定位权限或配置问题。
uni.getLocation({
  type: 'wgs84',
  success(res) {
    console.log('当前位置的经度:' + res.longitude);
    console.log('当前位置的纬度:' + res.latitude);
  },
  fail(err) {
    console.log('获取位置失败:' + err.errMsg);
  }
});
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!