7***@qq.com
7***@qq.com
  • 发布:2026-11-06 14:31
  • 更新:2026-11-06 14:33
  • 阅读:80

【报Bug】UNI-APP升级到5.34.2026102909,通过高德方式 配置 geocode:true 时地址解析结果全为空字符串”

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 专业版 25H2

HBuilderX类型: 正式

HBuilderX版本号: 5.34

手机系统: Android

手机系统版本号: Android 15

手机厂商: 模拟器

手机机型: REDMI K90

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

uni.getLocation({
type: 'gcj02',
geocode: true,
success: function(res) {
uni.showLoading({
title: '正在定位...'
})
console.log('res', JSON.stringify(res));
},
fail: function(err) {
}
});

操作步骤:

HBuilderX 5.24 运行项目到 Android ,使用标准基座运行,正常,打印经纬度和位置地理信息
升级到 HBuilderX 5.34 运行项目到 Android ,使用标准基座运行,打印经纬度和地理位置信息

预期结果:

正常,打印经纬度和位置地理信息

实际结果:

输出
(res, {"type":"gcj02","altitude":0,"latitude":39.9163963583923,"longitude":116.41115124348376,"speed":0,"accuracy":500,"address":{"country":"","province":"","city":"","district":"","street":"","streetNum":"","poiName":"","cityCode":""},"errMsg":"getLocation:ok"})

bug描述:

UNI-APP升级到5.34.2026102909,无法进行通过高德方式获取定位的地理位置信息

且5.34 和 5.34通过云打包,正式包和自定义标准基座两种打包选项都有该问题,问题必现

补充:

manifest.json 中 App 模块定位相关勾选情况如下:系统定位未勾选,高德定位勾选

2026-11-06 14:31 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

评审结论(先行):该 bug 反馈现象真实、有实际输出佐证,不属于误报,具备提交价值;但复现步骤存在笔误、关键配置信息缺失,建议补充完善后提交,便于官方快速定位。

一、内容完整性评审

  1. BUG 描述:基本清楚,但有两点建议修正:

    • 标题与描述称“无法获取定位的地理位置信息”,但实际输出显示 errMsg: "getLocation:ok",经纬度已正常返回(39.916/116.411),真正异常的是 geocode: true 时 address 各字段(country/province/city/district/street/streetNum/poiName/cityCode)全部返回空字符串。建议将问题描述精确为“gcj02 + geocode:true 时地址解析结果全为空字符串”,更利于官方定位问题模块。
    • 缺少关键配置信息:manifest.json 中 App 模块定位相关勾选情况(系统定位/高德定位)、高德 appkey 配置情况、高德开放平台后台配置的包名与 SHA1 和云打包证书是否一致的确认结果。
    • “云打包 正式包和自定义标准基座”表述有歧义,标准基座与自定义基座是两种基座,请明确具体指哪种;另外复现步骤只提到 5.24 标准基座运行正常,未说明 5.24 版本下云打包正式包是否正常,这个版本对比信息对排查很重要。
  2. 代码示例:核心调用完整可用(type: 'gcj02'、geocode: true),但缺少调用上下文(所在生命周期/触发时机),建议提供最小可运行复现工程。

  3. 复现步骤:存在明显笔误——第二步写的是“升级到 HBuilderX 5.24”,按上下文应为“升级到 HBuilderX 5.34”。请务必修正,否则官方按步骤无法复现。

  4. 预期结果:合理。依据官方文档,App 平台 geocode 设为 true、安卓指定 type 为 gcj02 并配置三方定位 SDK 时,应返回 address 地址信息。参考:uni.getLocation 文档

  5. 实际结果:输出完整,address 各字段为空字符串(而非文档所述无法获取时返回 undefined),与预期行为不符,现象成立。另注意 accuracy: 500 精度较大,若确为模拟器环境,定位来源可能是网络定位/模拟位置,建议同时提供真机测试结果。

  6. 分类信息:基本完整(Windows 11、HBuilderX 5.34 正式版、Android 15、Vue2),但“手机厂商:模拟器、机型:REDMI”填写含糊,请明确是模拟器还是 REDMI 真机;建议补充打包方式、页面类型、项目创建方式等字段。

二、bug 是否成立的分析

  1. 现象与文档预期不符,问题真实存在,非误报。

  2. ask 社区存在高度相似的反馈:同为 HBuilderX 5.34、Android、vue2、云打包,gcj02 + geocode:true 可获取经纬度但地址信息全为空字符串,且该反馈者也报告了 5.24 正常、5.34 异常的版本差异(其猜测与新版本更新高德定位 SDK 有关,此为用户猜测,官方尚未确认)。说明该现象可能并非孤例。参考:【报Bug】更新hubliderX后,高德定位异常,只能拿到经纬度,无法拿到具体地址信息。

  3. 需要排查的配置因素(依据官方文档与社区已知案例):

    • Android 端使用高德定位需在 manifest 的 SDK 配置中填写高德 appkey,且包名、appkey、证书信息必须匹配;高德定位/地图相关功能异常的常见原因之一,是高德后台配置的包名、SHA 等信息与 HBuilderX 打包配置不一致,请确认升级后重新云打包所用证书、包名与高德后台配置是否仍然一致。
    • geocode 地址解析在安卓端需指定 type 为 gcj02 并配置三方定位 SDK,请确认 manifest 中定位模块与 appkey 配置完整。
    • 注意事项详见:uni.getLocation 文档
  4. 综合判断:反馈现象明确、有输出佐证、社区有相同现象报告,bug 反馈基本成立;但由于缺少 manifest 定位 SDK 配置信息和证书/包名一致性确认,尚不能排除配置因素,建议补充后提交。

三、请补充以下信息

  1. 修正复现步骤中的版本号笔误(5.24 → 5.34);
  2. manifest.json 中定位模块勾选情况与高德 appkey 配置情况(key 可脱敏);
  3. 高德开放平台后台配置的包名、SHA1 与当前云打包证书是否一致的确认结果;
  4. 明确测试设备是模拟器还是 REDMI 真机,建议在真机上分别用 5.24 与 5.34 标准基座对比测试并给出结果;
  5. 5.24 版本下云打包正式包的表现(正常/异常);
  6. 更完整的调用上下文或最小复现工程。

另请注意:我无法识别附件,补充信息请直接以文字形式贴在回复中。

内容为 AI 生成,仅供参考

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