- 发布:2026-07-11 20:52
- 更新:2026-07-16 17:34
- 阅读:462
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 5.15
手机系统: 全部
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
示例代码:
无
无
操作步骤:
无
无
预期结果:
要是能紧急改回5.07版本以前那种就最好
要是能紧急改回5.07版本以前那种就最好
实际结果:
见BUG 描述
见BUG 描述
bug描述:
是APP vue2页面的<map>组件调用了百度地图;这个页面还用到了subnvue子窗口
HBuilderX 5.07及之前,云端打包,百度坐标系的点在百度地图上绘制,iOS端出现整体偏移,通过js把点位转成高德坐标系后正常;安卓端不做处理,点位显示正常。(安卓端打自定义调试基座,也出现整体偏移)
上述现象持续了很多年,起码是22年4月~26年6月
HBuilderX 更新到5.14、5.15版本云端打包,发现安卓端出现一样的整体偏移;利用和iOS一样的点位转换方法后才显示正常。初步确定是安卓端的百度地图点位描绘的坐标系发生了变化。
===
5.14、5.15的更新说明,没有提到改了和百度地图相关的内容。
官方开发人员或者百度开发人员能不能确定下,是不是暗改了百度地图<map>组件的坐标系?以后还会有变动吗?
===
相关问题:
https://ask.dcloud.net.cn/question/215717
https://ask.dcloud.net.cn/question/219104
5 个回复
Ask小助手
感谢您的反馈。针对您提交的 Bug,官方评审意见如下:
1. Bug 反馈内容完整性分析
manifest.json中百度地图 SDK 配置信息以及具体的点位转换 JS 代码片段。<map>组件配置,需要您补充一个最小化可运行的示例代码。2. Bug 是否成立分析
根据知识库信息,您的反馈反映的是一个长期存在的坐标系处理机制问题,而非单纯的版本回归 Bug。
在 uni-app 中,
<map>组件默认使用的是国测局 GCJ02 坐标系。当在 App 端配置使用百度地图时,由于百度地图使用的是自有的 BD09 坐标系,如果传入的点位坐标未进行转换,就会出现偏移。根据社区历史反馈 【报Bug】uniapp map地图安卓和ios 坐标点偏差,在 HBuilderX 5.07 及之前的版本中,虽然配置了百度地图 SDK,但 iOS 端运行时
<map>组件的坐标系仍然是 GCJ02,而安卓端的百度地图坐标系是 BD09。这就导致了相同的经纬度在两端展示位置不一样。您在反馈中提到的“HBuilderX 5.07及之前...安卓端不做处理,点位显示正常”以及“通过js把点位转成高德坐标系后正常”,正是因为安卓端百度地图实际使用的是 BD09 坐标系,而您的数据源可能本身就是 BD09 或经过了相应处理。在 HBuilderX 更新到 5.14、5.15 版本后,安卓端百度地图点位描绘的坐标系处理可能发生了变化,更趋向于统一或调整了底层 SDK 的坐标系对接逻辑,导致原本不需要转换的安卓端也需要进行坐标转换才能正常显示。
建议方案:
由于这是由于不同地图服务商坐标系差异导致的,建议您在开发中统一进行坐标系处理。您可以参考以下方案:
<map>组件前,确保所有坐标都转换为 GCJ02 坐标系。如果您的数据源是 BD09,需要将其转换为 GCJ02。plus.maps.Map.convertCoordinates进行转换:在 App 端,您可以使用 plus.maps 提供的坐标转换方法将第三方坐标系坐标转换成当前地图的坐标系坐标。具体可参考 plus.maps.Map.convertCoordinates 文档。<map>组件默认坐标系一致,可以避免 BD09 与 GCJ02 之间的转换问题。为了进一步确认 5.14/5.15 版本中安卓端百度地图坐标系的具体变化,建议您补充完整的代码示例和复现步骤,以便官方进行更精确的排查。
DCloud_App_Array
uni-app项目中的地图坐标新没有做过调整。首先确认坐标数据来源是哪里?是从服务器后台获取还是从其它api获取?
确认源坐标数据的使用的什么坐标系。
r***@qq.com (作者)
源坐标数据用百度坐标系,这个是100%确定的。但是用HBX5.14、5.15打包,点位整体偏移;5.07打包正常。
2026-07-13 14:56
DCloud_App_Array
回复 r***@qq.com: 可以确定从5.07版本之后没有更新过百度地图相关功能。请提供一个可以复现问题的最简示例页面。
2026-07-13 16:09
r***@qq.com (作者)
回复 DCloud_App_Array: 已提供,见楼下
2026-07-14 15:43
r***@qq.com (作者)
回复 DCloud_App_Array: 你好,请问你那边有复现吗?要分别用5.07和5.14打包对比就能看出来
2026-07-15 13:58
杨杨得亿 - 这个人很懒,什么都没有留下~
r***@qq.com (作者)
@DCloud_App_Array 你好,把这个页面放进一个新建空白项目,5.14、5.15云端打包就可以复现。
地图上定了2个点:都是百度坐标系,采用 https://lbs.baidu.com/maptool/getpoint 拾点系统取的点,一个在广州塔,一个在天环广场。现象是在<map>组件上均出现了明显偏移,广州塔的点都偏到对岸去了。
DCloud_Android_THB
之前是有bug, 会使用bd09ll , 在5.07之前修改了此问题, 按照 文档 只支持gcj02坐标系.
r***@qq.com (作者)
唉,还真是这样。可是5.07版本安卓还是用bd09ll的啊,不然也会偏移
2026-07-16 18:50
要回复问题请先登录或注册
公告
更多>相关问题