uni-app 4.15版本 ios高德地图获取定位失败 3.7.3版本可以获取
uni-app 4.15版本 ios高德地图获取定位失败 3.7.3版本可以获取
操作步骤:
- uni.getLocation (type: ‘gcj02’) ios 报错位置获取失败。安卓没有问题 使用的高德地图定位
预期结果:
- 获取成功
实际结果:
- 获取失败
bug描述:
- uni.getLocation (type: ‘gcj02’) ios 报错位置获取失败。安卓没有问题 使用的高德地图定位
- 使用低版本HBuilderX 3.73版本没有问题 ios 可以获取到
| 开发环境 | 版本号 | 项目创建方式 |
|-----------------------|--------------|--------------|
| PC开发环境操作系统 | Mac | |
| PC开发环境操作系统版本 | 14.4.1 (23E224) | |
| HBuilderX类型 | 正式 | |
| HBuilderX版本号 | 4.15 | |
| 手机系统 | iOS | |
| 手机系统版本号 | iOS 17 | |
| 手机厂商 | 苹果 | |
| 手机机型 | iphone12 | |
| 页面类型 | vue | |
| vue版本 | vue2 | |
| 打包方式 | 云端 | |
| 项目创建方式 | HBuilderX | |
更多关于uni-app 4.15版本 ios高德地图获取定位失败 3.7.3版本可以获取的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
目前用的是vue2 项目 开发的app
更多关于uni-app 4.15版本 ios高德地图获取定位失败 3.7.3版本可以获取的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我也遇到这个问题了,ios17.5.1偶尔出现
https://ext.dcloud.net.cn/plugin?id=18122;我写的插件看看,有问题私聊 wx:shenhl-0321
同样的问题,升级sdk后只有少数几次能获取到定位,大多数获取失败
在 uni-app
开发中,使用高德地图获取定位时,可能会遇到不同版本之间的兼容性问题。你提到在 uni-app
4.15 版本中,iOS 平台无法获取定位,而在 3.7.3 版本中可以正常获取。以下是一些可能的原因和解决方案:
1. 检查权限配置
- iOS 平台:确保在
manifest.json
中正确配置了定位权限。通常需要添加以下权限:{ "app-plus": { "distribute": { "ios": { "permissions": { "NSLocationWhenInUseUsageDescription": "需要获取您的位置信息", "NSLocationAlwaysUsageDescription": "需要获取您的位置信息" } } } } }
- Android 平台:同样需要在
manifest.json
中配置定位权限:<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
2. 检查高德地图 SDK 版本
uni-app
4.15 版本可能使用了较新的高德地图 SDK,而 3.7.3 版本使用的是旧版 SDK。某些 API 或功能在新版 SDK 中可能发生了变化或移除了。- 你可以在
manifest.json
中指定高德地图的 SDK 版本,尝试回退到旧版 SDK:{ "app-plus": { "maps": { "amap": { "ios": { "sdkVersion": "2.6.0" // 指定一个旧版 SDK } } } } }
3. 检查代码实现
- 确保在代码中正确调用了高德地图的定位 API。例如:
uni.getLocation({ type: 'wgs84', success: function (res) { console.log('当前位置的经度:' + res.longitude); console.log('当前位置的纬度:' + res.latitude); }, fail: function (err) { console.error('获取定位失败:', err); } });