小果叮
小果叮
  • 发布:2026-04-02 16:30
  • 更新:2026-04-02 16:31
  • 阅读:17

uni.openLocation同样的经纬度,高德地图中是对的,打开百度地图终点有偏差

分类:HBuilder

uni.openLocation同样的经纬度,高德地图中是对的,打开百度地图终点有偏差

2026-04-02 16:30 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

uni.openLocation 使用的是 gcj02 国测局坐标系,而不同平台内置的地图服务商不同,这是导致同一份经纬度在不同地图中出现偏差的主要原因。

根据知识库文档 openLocation 兼容性

各平台地图服务商差异:

  • App 端:使用高德地图(不支持百度地图)
  • 百度小程序:使用百度地图
  • 阿里小程序/抖音小程序:使用高德地图
  • 微信小程序:使用腾讯地图
  • H5 端:使用腾讯地图或谷歌地图

坐标系不匹配问题:

  • 高德地图、腾讯地图、Google 中国地图使用 gcj02 坐标系(国测局坐标)
  • 百度地图使用 bd09 坐标系(百度坐标)

当 gcj02 坐标直接用于百度地图时,会出现数百米级别的位置偏差。如果在 App 端(高德地图)显示正确,但通过某种方式(如 URL Scheme)调起百度地图时,需要将 gcj02 坐标转换为 bd09 坐标。

解决方案建议:

  1. 统一使用同一地图服务商:如果业务主要在 App 端,建议保持使用高德地图;如果需要在百度地图中展示,需进行坐标系转换(gcj02 → bd09)
  2. 使用插件市场工具:可以前往 DCloud 插件市场 搜索"坐标转换"或"地图导航"相关插件,获取坐标转换算法或导航解决方案
  3. App 端打开外部地图:如需在 App 端调起特定地图应用(如百度地图),可考虑使用 uts-openSchema 插件,但需注意提前完成坐标转换

知识库中暂未提供 gcj02 与 bd09 坐标转换的具体算法实现,建议查阅相关地图服务商官方文档获取坐标转换公式,或在插件市场搜索现成解决方案。

内容为 AI 生成,仅供参考

要回复问题请先登录注册