HarmonyOS 鸿蒙Next SDK如何对接三方地图

HarmonyOS 鸿蒙Next SDK如何对接三方地图 鸿蒙应用只能使用官方的地图服务?

现在项目上有需要对接三方或者客户地图,三方地图例如:超图、arcgis、天地图、思维图新等,一版都是这些地图厂商可以独立的栅格/矢量瓦片接口,通过WMTS/TMS/WMS接口进行发布,应用可以对接集成到我们的业务App中来。

因此想咨询下,当前鸿蒙SDK是否支持对接三方地图,支持哪些协议的地图对接(WMTS/TMS/WMS),支持哪些坐标系(墨卡托、天地图的经纬度投影)?

9 回复

在线地图的三方库请参考以下三种方式(第一种为HarmonyOS自带的地图服务):

  1. Map Kit地图服务
  2. 百度地图SDK
  3. 高德地图SDK

三方地图SDK具体支持的协议和坐标系,可以参考三方SDK官网文档。

更多关于HarmonyOS 鸿蒙Next SDK如何对接三方地图的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这是官方的接口,可以实现对接三方地图(GJC02、BD04、CGCS2000等坐标系除外):https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/map-tile

百度地图集成方式

ohpm install [@bdmap](/user/bdmap)/map
import { MapComponent, MapController, MapOptions } from "[@bdmap](/user/bdmap)/map";
// 配置地图初始化参数
mapOptions:MapOptions = new MapOptions();

MapComponent({ onReady: (err, mapController) => {
  // 获取地图操作控件
},mapOptions}).width('100%').height('100%')

参考地址

[https://ohpm.openharmony.cn/#/cn/detail/@bdmap%2Fmap](https://ohpm.openharmony.cn/#/cn/detail/@bdmap%2Fmap)

高德地图

ohpm install @amap/amap_lbs_map3d

官方文档地址

https://lbs.amap.com/api/harmonyosnext-map3d-sdk/gettingstarted

目前支持接入Map Kit(地图服务)、高德地图、百度地图

百度地图官方文档和下载地址:https://lbsyun.baidu.com/harmony

高德地图官方文档和下载地址:

https://lbs.amap.com/api/harmonyos-sdk/summary

1. 鸿蒙应用是否只能使用官方地图服务?

  • 。鸿蒙应用并非强制使用官方地图服务(Map Kit)。虽然官方文档主要介绍Map Kit的能力(如地图呈现、地点搜索、路径规划等),但开发者可根据项目需求自由选择集成第三方地图服务(如超图、ArcGIS、天地图等)。

2. 对接第三方地图的关键步骤

  • 环境准备
    • 确保开发环境满足要求:DevEco Studio 5.0.5 Release及以上版本,HarmonyOS 5.0.5 Release SDK及以上版本。
    • 使用支持鸿蒙Next的真机设备(HarmonyOS NEXT Developer Beta1及以上系统)。
  • 三方地图SDK集成
    • 获取SDK:从目标地图厂商(如超图、ArcGIS)官网下载鸿蒙兼容的SDK包。
    • 配置依赖:在项目的module.json5文件中添加三方SDK的依赖项,例如:
      "dependencies": {
        "supermap-sdk": "1.0.0" // 示例依赖名及版本
      }
      
    • 权限申请:在module.json5中声明必要权限(如网络访问、位置信息):
      "requestPermissions": [
        "ohos.permission.INTERNET",
        "ohos.permission.LOCATION"
      ]
      
  • 栅格地图加载
    • 第三方地图通常提供独立的瓦片服务(栅格图层),可通过其API加载。示例伪代码:
      import { ThirdPartyMap } from 'third-party-sdk'; // 替换为实际SDK模块名
      
      // 初始化地图实例
      let mapView = new ThirdPartyMap.MapView($r('app.id.map_container'));
      // 设置栅格图层URL(需替换为三方服务提供的瓦片地址)
      mapView.setTileLayer("https://tile-service-url/{z}/{x}/{y}.png");
      

请问下鸿蒙是否支持不引入三方SDK的情况下,加载三方的栅格瓦片底图呢?

这是官方的接口,可以实现对接三方地图(GJC02、BD04、CGCS2000等坐标系除外):https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/map-tile

鸿蒙Next SDK通过Map Kit提供地图服务能力。开发者需在AppGallery Connect配置应用签名,并在项目中集成Map SDK。使用前需申请地图服务API Key,并在config.json中声明ohos.permission.LOCATION权限。地图组件通过MapView控件实现,支持基础地图展示、标记点添加和交互操作。

目前HarmonyOS Next SDK支持通过Web组件加载第三方地图服务,包括WMTS、TMS、WMS等协议。您可以通过WebView加载地图厂商提供的H5页面或地图服务URL,实现地图展示与交互。

对于坐标系,Web组件加载的地图服务支持常见坐标系(如墨卡托、经纬度投影),具体取决于第三方地图服务提供的坐标系类型。

如果需要更底层的集成,建议关注后续SDK更新,或将需求反馈给地图服务商,推动其适配HarmonyOS原生地图接口。

回到顶部