离线打包高德地图版本问题导致不弹定位授权及获取不到定位信息的uni-app解决方案
离线打包高德地图版本问题导致不弹定位授权及获取不到定位信息的uni-app解决方案
示例代码:
高德SDK版本:
implementation 'com.amap.api:3dmap:10.0.600'
implementation 'com.amap.api:search:9.5.0'
操作步骤:
离线打包后,安装地图显示正常,定位授权拉取不到
预期结果:
离线打包后,安装地图显示正常,定位功能正常
实际结果:
离线打包后,安装地图显示正常,定位功能异常
bug描述:
集成高德地图后,地图可以正常显示,定位功能异常,拉取不到定位授权;
libs:如图
信息类别 | 详细信息 |
---|---|
产品分类 | 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
针对高德地图离线打包定位授权问题,建议从以下几个方面排查:
- 权限配置检查:
- 确保AndroidManifest.xml中已添加必要权限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
- SDK版本兼容性: 当前使用的3D地图SDK版本(10.0.600)和搜索SDK(9.5.0)可能存在兼容问题,建议统一使用最新稳定版:
implementation 'com.amap.api:3dmap:latest.integration'
implementation 'com.amap.api:location:latest.integration'
- 定位初始化: 确保在调用定位前已正确初始化:
AMapLocationClient.updatePrivacyShow(context, true, true);
AMapLocationClient.updatePrivacyAgree(context, true);
-
动态权限申请: Android 6.0+需要运行时申请权限,检查是否已实现权限请求逻辑。
-
高德Key配置: 确认AndroidManifest.xml中meta-data配置正确:
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="您的高德key"/>
- 日志排查: 开启高德SDK调试日志:
AMapLocationClient.setApiKey("您的高德key");
AMapLocationClient.setDebug(true);