快速开始
HDMapSDK 的最小集成路径包括接入交付包、准备配置、激活、创建服务、读取地图版本、查询一个 Lane Group,并按顺序关闭服务。Lane Group 遍历、路线关联和交通查询的独立代码见场景示例。
前置条件
- 交付包与目标平台、处理器架构、编译器 ABI 和运行库匹配,并包含
include/hdmap、hdmapservice库及依赖清单; - 项目已获得激活端点、地图数据端点、应用凭据、授权信息、地图版本、覆盖区域和目标坐标;
- 设备已部署 CA 证书,具备可信系统时间、可用网络和 HDMapSDK 独占的可写持久目录;
- 使用路线关联、前路或交通能力时,还需准备导航支持连接设置并保证车辆/路线上下文持续更新。
参与方和运行边界见产品架构与生命周期。
1. 集成交付包
交付包通常包含以下内容,具体文件名以项目交付清单为准:
1 2 3 4 | |
应用使用 C++14 编译,加入公共头文件目录并链接交付的 hdmapservice 库。例如:
1 2 3 4 5 6 7 8 9 10 | |
运行时库及其依赖由应用私有库目录、镜像清单或目标平台的加载配置提供。
2. 准备配置
HDMapServiceOptions 和 ActivationRequest 的值来自项目交付配置。秘密值和设备标识由安全配置提供器注入,不写入源码、命令行或日志。
| 配置 | 使用条件 |
|---|---|
persistent_path |
始终设置为应用独占、持续可写的持久目录 |
configuration_path |
可选;未设置时使用 SDK 默认配置 |
cloud_url |
在线数据模式设置;离线预置数据方案可为空 |
nav_sdk_broker_address |
仅路线关联、前路和交通等导航支持能力需要 |
activation_url、应用凭据、授权代码、凭据类型 |
按项目激活配置设置 |
device_uid、CA 证书和 DeviceInfo |
按设备身份、TLS 和平台信息设置 |
启动前确认持久目录可写、CA 文件可读、系统时间可信。其他公共选项、默认值和影响见可调整参数。
3. 激活、创建服务并查询
下面的代码片段假设 options、activation_request 和覆盖区域内的 WGS84 坐标 center 已由应用准备。它只展示 HDMapSDK 公共调用关系,配置加载和错误上报由应用实现。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
fetchLaneGroups(...) 返回与查询范围相交的 Lane Group 运行时 ID;queryLaneGroupInfo(...) 再读取 Lane、边界、参考线和拓扑关系。示例半径单位为米,公共接口建议不超过 10 km,实际集成使用满足业务需要的最小范围。
OK 且 ID 数组为空表示当前范围没有返回 Lane Group,不是 SDK 错误。应用只在接口返回 OK 后读取输出对象;服务重建或地图版本变化后重新执行空间查询,不复用旧的 LaneGroupId。
4. 处理状态与生命周期
ActivationStatusCode表示激活结果,Status表示服务和查询结果;DataPending只对幂等查询执行有截止时间和取消条件的有限重试;DataNotFound进入无高精数据路径,不解释为临时等待;- 关闭时先停止新调用和重试,再调用
shutdown();其返回后不再使用该服务句柄。
状态含义、导航协作信号和 DataError 恢复见错误处理与可观测性,数据版本和运行模式见数据与版本管理。
5. 按能力继续集成
| 能力 | 示例 |
|---|---|
| 局部地图查询 | 查询并遍历局部 Lane Group |
| 路线关联与前路 | 消费路线关联与前路结果 |
| 交通 | 查询 Lane Group 交通 |
应用从 Lane Group 结果读取哪些对象和字段,见核心能力与数据模型。