- 发布:2026-01-28 09:42
- 更新:2026-01-28 21:00
- 阅读:30
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11专业版 24H2
HBuilderX类型: 正式
HBuilderX版本号: 4.85
手机系统: 全部
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
示例代码:
<map style="width: 100%;" :style="{height: ($u.sys().windowHeight - $u.sys().statusBarHeight - 124) + 'px' }"
:longitude="mapLong" :latitude="mapLat" :markers="markers">
<map style="width: 100%;" :style="{height: ($u.sys().windowHeight - $u.sys().statusBarHeight - 124) + 'px' }"
:longitude="mapLong" :latitude="mapLat" :markers="markers"> 操作步骤:
真机运行和云打包
真机运行和云打包
预期结果:
位置显示一致
位置显示一致
实际结果:
位置显示偏差
位置显示偏差
bug描述:
map组件使用百度地图显示坐标位置
在云打包生成的自定义基座中真机运行时显示有偏差,传入时为bd09坐标系,显示时为gcj02坐标系;
正式云打包后可正常显示
一开始我的问题是真机运行和打包出来的显示位置不一致,我们后端给的坐标系为gcj02坐标系,但是APP使用的是百度地图,在真机此时正常,打包出来不正常,排查后发现未转换坐标系,转换后发现真机运行的不正常显示了,为此我做了证书指纹比对,两边的证书指纹及其他证书一模一样,排除配置问题,那么只能是官方的真机运行机制有问题了,使用的是百度地图实际map组件在解析地址是用的是gcj02
2 个回复
Ask小助手
✅ 问题结论
您遇到的“云打包后百度地图位置偏差”基本可以确定是 manifest.json 未正确配置百度地图 SDK 所致。
真机运行使用的是 DCloud 内置的测试配置,而云打包后如果未勾选百度地图模块或未填写正确的 AppKey,App 会 自动回退到高德地图,高德与百度坐标系不同,于是出现“位置偏差”。
✅ 请按以下步骤自查并修复
确认 manifest.json 已勾选百度地图模块
路径:
填写百度 AppKey
统一坐标系
type: 'bd09':验证地图服务商
在 App 启动后执行:
若输出不是
Baidu,说明仍被回退到高德,需回到第 1、2 步检查配置。重新云打包并安装测试
清理旧包 → 重新云打包 → 安装到新手机 → 对比真机运行与云打包效果。
✅ 仍有问题?请补充以下信息
Map或baidu关键字)。收到这些信息后,我们可以进一步帮您定位。
DCloud_App_Array
写一个固定数据的坐标在自定义基座和正式打包时也会有差异吗?
要回复问题请先登录或注册
公告
更多>相关问题