2***@qq.com
2***@qq.com
  • 发布:54 分钟前
  • 更新:11 分钟前
  • 阅读:43

【报Bug】更新到5.34后打包,使用uni.getLocation获取定位智能获取到经纬度坐标,返回的address里面所有信息都是空的

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22h2

HBuilderX类型: 正式

HBuilderX版本号: 5.34

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型: 17

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

uni.getLocation({
geocode:true,
type: 'gcj02',
success: (res) => {
this.form.visitLocal=res.address.poiName;
if(!res.address.streetNum||res.address.streetNum=='undefined'){
this.form.visitAddress=res.address.province+res.address.city+res.address.district+res.address.street
}else{
this.form.visitAddress=res.address.province+res.address.city+res.address.district+res.address.street+res.address.streetNum
}
this.form.latitude=res.latitude;
this.form.longitude=res.longitude;
},
});

操作步骤:

直接调用获取定位信息,老版本半个月前打包发布的,至今可以正常定位获取地址信息,这部分逻辑未改动,应用证书、高德key及app权限相关的配置也未改动,新版本不行,定位都只能获取经纬度,无法获取具体地址信息。另外今天早上使用5.24版本打包一直报错,只能更新到5.34版本后可以正常打包,但是打包后就出现这个问题了

预期结果:

修复uni.getLocation返回的地址信息为空的问题

实际结果:

只能获取经纬度,但无法获取地址信息,地址信息返回全是空字符串

bug描述:

HBuilderX更新到5.34后云打包安卓APP,打包后使用uni.getLocation获取定位信息只能拿到经纬度,返回所有地址信息全部都是空,紧急BUG,线上用户已经有不少人在反馈问题了。

54 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

感谢您提交这份 bug 反馈,以下是从官方角度对这份反馈的评审意见。

一、反馈内容完整性评审

这份反馈整体质量较高,主要要素基本齐全:

  • BUG 标题、描述、预期结果、实际结果:描述清晰,明确指出了"5.34 云打包后 uni.getLocation 仅返回经纬度、address 全为空字符串",并说明了"老版本打包正常、证书/高德 key/权限配置未改动"这一关键对照信息,官方人员可以看懂问题所在。
  • 代码示例:核心调用逻辑(geocode: true、type: 'gcj02')清晰,但属于业务片段代码,依赖 this.form 等页面上下文,无法直接运行。建议补充一个最小可运行示例(如新建空页面在 onReady 中调用 uni.getLocation 并 console.log(JSON.stringify(res))),便于官方直接复现验证。
  • 复现步骤:目前描述偏简略,建议补充以下关键信息,否则官方难以精准定位:
    1. manifest.json 中 App 模块定位相关的勾选情况(系统定位是否勾选、高德定位/腾讯定位是否勾选);
    2. 是否使用标准基座真机运行也复现该问题,还是仅云打包后的正式包/自定义基座复现;
    3. 5.24 打包报错的具体错误信息(这有助于排查是否与版本升级相关联)。
  • 分类信息:基本完整(Windows 22H2、HBuilderX 5.34 正式版、Android 16、小米 17、Vue2),但缺少"打包方式""页面类型"字段的明确勾选,建议补全。
  • 另外提醒:我无法识别附件,如需补充截图或日志,请直接以文本形式粘贴在回复中。

二、bug 是否成立的判断

从知识库依据来看,该反馈大概率成立,不属于误报:

  1. 按官方文档 uni.getLocation 说明,geocode 参数"仅 App 平台支持(安卓需指定 type 为 gcj02 并配置三方定位SDK)",配置正确时 success 回调应返回包含 country/province/city/district/street/streetNum/poiName/cityCode 的 address 信息。您的用法(gcj02 + geocode:true + 高德 key)符合文档要求,预期结果是合理的。
  2. ASK 社区已有一份与您高度相似的反馈:【报Bug】UNI-APP升级到5.34.2026102909,通过高德方式配置 geocode:true 时地址解析结果全为空字符串。该案例同样是 HBuilderX 5.34、高德定位方式、geocode:true,实际返回 address 中所有字段全为空字符串,且标准基座真机运行和云打包(正式包、自定义基座)均必现,manifest 中为"系统定位未勾选、高德定位勾选"。这与您描述的现象一致,说明该问题在 5.34 版本上已有其他开发者报告,建议您在该帖子下补充自己的复现信息,便于官方汇总确认。
  3. 历史上也有类似现象的案例(如 4.29 版本 address 无返回),当时的排查方向是确认是否配置了高德/腾讯的 key 并重新打包。虽然您已说明 key 配置未改动,仍建议核对一点:官方文档明确要求 Android 端云打包时需在 manifest 的 SDK 配置中填写 Appkey,且包名、appkey、证书信息必须匹配,真机运行基座使用的是 DCloud 向高德申请的 SDK 配置,打包后必须由开发者自己申请,请再次确认高德后台的包名、SHA1 与云打包证书完全一致(可参考 uni.chooseLocation 类似问题的排查方向 中官方提示的配置一致性检查)。

三、结论与建议

  • 该反馈问题明确、有相似案例佐证、预期结果符合文档定义,bug 反馈基本成立,建议按上述第 1、2 点补充 manifest 定位模块勾选情况和基座运行复现信息后提交/追加,以便官方定位是 5.34 版本 SDK 层面的回归问题还是配置层面的问题。
  • 在等待官方修复期间,如业务紧急,可先通过高德服务端逆地理编码接口用已获取到的经纬度自行解析地址作为临时替代方案;也可以在 插件市场 搜索定位/逆地址解析相关插件作为备选。
  • 如需进一步交流,可前往 uni-app 官方技术交流群 1。
内容为 AI 生成,仅供参考
小小白啊

小小白啊

HBuilderX更新到5.24以后的版本都有问题,线上也有问题。

怀疑是高德那边升级了,uni这没有进行锁版本。

要回复问题请先登录或注册