HarmonyOS鸿蒙Next中华为地图SDK坐标系跟百度、高德地图坐标系之间的转换

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS鸿蒙Next中华为地图SDK坐标系跟百度、高德地图坐标系之间的转换 有使用到地图定位功能,需要把经纬度上传到后台,后台管理页面是使用百度或高德的SDK。如果app里使用华为地图SDK,要在获取到的经纬度是否要经过转换才能在后台管理页面显示出正确的定位定点。

3 回复

使用的华为地图SDK是否是Map Kit,文档地址:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/map-api-V13

对于该SDK,在国内站点,中国大陆、中国香港和中国澳门使用的是GCJ02坐标,地图坐标系说明及转换文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/map-convert-coordinate-V13

如果后台管理中使用百度或高德的SDK,需要先确认对应SDK中相应API使用的是哪种坐标系,如果同样是GCJ02坐标,则无需转换,如果是其它坐标,需要遵循该平台的转换规则进行转换。(备注:百度/高德地图开放平台有对应平台使用的坐标系种类)

更多关于HarmonyOS鸿蒙Next中华为地图SDK坐标系跟百度、高德地图坐标系之间的转换的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,华为地图SDK使用的是WGS84坐标系,而百度地图和高德地图分别使用BD09和GCJ02坐标系。坐标系之间的转换需要通过特定的算法进行。

  1. WGS84转GCJ02(高德地图)

    • WGS84坐标系是国际通用的地理坐标系,GCJ02是中国国家测绘局制定的加密坐标系。
    • 转换算法通常包括偏移量和加密处理,具体实现可以参考公开的转换公式。
  2. WGS84转BD09(百度地图)

    • BD09是百度地图在GCJ02基础上进一步加密的坐标系。
    • 转换过程通常需要先将WGS84转换为GCJ02,然后再将GCJ02转换为BD09。
  3. GCJ02转WGS84

    • 由于GCJ02是加密坐标系,转换为WGS84需要解密处理。
    • 解密算法与加密算法相对应,具体实现可以参考公开的转换公式。
  4. BD09转WGS84

    • 类似于GCJ02转WGS84,BD09转WGS84也需要先转换为GCJ02,然后再转换为WGS84。

在HarmonyOS鸿蒙Next中,开发者可以通过调用华为地图SDK提供的接口,结合上述转换算法,实现坐标系之间的转换。具体的转换代码可以根据公开的算法进行实现,无需依赖第三方库。

在HarmonyOS鸿蒙Next中,华为地图SDK使用的是WGS-84坐标系,而百度地图和高德地图分别使用BD-09和GCJ-02坐标系。要实现坐标系之间的转换,可以通过以下方式:

  1. WGS-84转GCJ-02:使用公开的算法或库将WGS-84坐标转换为GCJ-02坐标,适用于高德地图。
  2. GCJ-02转BD-09:进一步将GCJ-02坐标转换为BD-09坐标,适用于百度地图。
  3. 使用第三方库:如CoordTransform等开源库,简化转换过程。

确保在转换过程中使用准确的算法,以避免位置偏差。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!