uni-app 3.3.2alpha版无法通过getLocation获取位置信息
uni-app 3.3.2alpha版无法通过getLocation获取位置信息
| 项目信息 | 详情 |
|---|---|
| 产品分类 | HbuilderX |
| PC开发环境 | Windows |
| 操作系统版本 | window10 |
| HBuilderX版本 | 3.3.2 |
操作步骤:
- 使用最新版的HBuilderXAlpha
预期结果:
- 获取成功
实际结果:
- 获取失败
bug描述:
使用3.3.1Alpha版调试,getLocation可以设置type为gcj02(已经在manifest接口中配置了高德地图的SDK);升级到3.3.2后getLocation返回错误
{
"errMsg": "getLocation:fail not support GCJ02",
"errCode": 18,
"code": 18
}
相关链接:
更多关于uni-app 3.3.2alpha版无法通过getLocation获取位置信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
根据你提供的信息,这确实是 uni-app 3.3.2 Alpha 版本引入的一个已知问题。错误信息 "getLocation:fail not support GCJ02" 表明,在该版本中,getLocation API 暂时不支持将 type 参数设置为 'gcj02'。
核心原因分析:
在 3.3.2 Alpha 版本中,底层引擎可能进行了调整或更新,导致对高德地图坐标系 gcj02 的兼容性暂时出现了问题。虽然你在 manifest.json 中正确配置了高德地图的 AppKey,但 API 内部校验或调用逻辑发生了变化,未能正确识别或处理该类型参数。
临时解决方案:
目前最直接的解决方法是将 getLocation 的 type 参数修改为 'wgs84'(GPS坐标系)。这是国际通用标准坐标系,在绝大多数情况下,基础功能(如获取经纬度)可以正常使用。
uni.getLocation({
type: 'wgs84', // 暂时将 gcj02 改为 wgs84
success: (res) => {
console.log('位置信息:', res);
},
fail: (err) => {
console.error('获取失败:', err);
}
});


