离线打包高德地图版本问题导致不弹定位授权及获取不到定位信息的uni-app解决方案

离线打包高德地图版本问题导致不弹定位授权及获取不到定位信息的uni-app解决方案

示例代码:

高德SDK版本:
implementation 'com.amap.api:3dmap:10.0.600'
implementation 'com.amap.api:search:9.5.0'

操作步骤:

离线打包后,安装地图显示正常,定位授权拉取不到

预期结果:

离线打包后,安装地图显示正常,定位功能正常

实际结果:

离线打包后,安装地图显示正常,定位功能异常

bug描述:

集成高德地图后,地图可以正常显示,定位功能异常,拉取不到定位授权;
libs:如图

Image

信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Mac
PC系统版本号 macos 10.15.7
手机系统 Android
手机系统版本号 Android 12
手机厂商 荣耀50
手机机型 荣耀50
页面类型 vue
vue版本 vue3
打包方式 离线
项目创建方式 CLI
CLI版本号 3.0.0-alpha-4030220241101001

更多关于离线打包高德地图版本问题导致不弹定位授权及获取不到定位信息的uni-app解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于离线打包高德地图版本问题导致不弹定位授权及获取不到定位信息的uni-app解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html


针对高德地图离线打包定位授权问题,建议从以下几个方面排查:

  1. 权限配置检查:
  • 确保AndroidManifest.xml中已添加必要权限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  1. SDK版本兼容性: 当前使用的3D地图SDK版本(10.0.600)和搜索SDK(9.5.0)可能存在兼容问题,建议统一使用最新稳定版:
implementation 'com.amap.api:3dmap:latest.integration'
implementation 'com.amap.api:location:latest.integration'
  1. 定位初始化: 确保在调用定位前已正确初始化:
AMapLocationClient.updatePrivacyShow(context, true, true);
AMapLocationClient.updatePrivacyAgree(context, true);
  1. 动态权限申请: Android 6.0+需要运行时申请权限,检查是否已实现权限请求逻辑。

  2. 高德Key配置: 确认AndroidManifest.xml中meta-data配置正确:

<meta-data
    android:name="com.amap.api.v2.apikey"
    android:value="您的高德key"/>
  1. 日志排查: 开启高德SDK调试日志:
AMapLocationClient.setApiKey("您的高德key");
AMapLocationClient.setDebug(true);
回到顶部