示例中心
功能在线体验
控制台

高德 开发 高德地图车机版 开发指南 C++平台 出行导航

更新时间:2018年09月13日

1. 结束引导

AmapApiRetCode AMapCancelGuideReq()

  • 函数说明

   当前导航已经完成路线规划并且处于导航状态,调用该接口用于结束当前路线的引导。

  • 参数说明
  • 相关函数        
  • 典型应用

2. 进入/退出全程概览

AmapApiRetCode AMapOverViewSwitchReq(bool bOverView)

  • 函数说明

   当前导航已经完成路线规划并且处于导航状态,调用该接口用于切入/切出路线全程概览界面。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 bOverView 

true - 切入全程概览界面

false - 退出全程概览界面


  • 相关函数   

AMapOverViewSwitchRcvCbReg

  • 典型应用

一般用于语音交互场合,比如用户在导航的过程中,想看看路线全程的概览,就可以通过VR说“全程概览”,调用该API传入true,切换到导航的全程概览界面。


 AmapApiRetCode AMapOverViewSwitchRcvCbReg(FUNC_OverViewSwitchResult pFuncCb)

  • 函数说明

   用于接收全程概览切换的执行结果。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 pFuncCb 

接收全程概览切换结果回调函数指针


回调函数的定义   typedef int (*FUNC_OverViewSwitchResult)(bool bOverView, int n32Ret)

参数

参数说明

n32Ret

1 - 切换成功

0 - 切换失败

 bOverView 

true - 进入全程概览

false - 退出全程概览

  • 相关函数        

AMapOverViewSwitchReq

  • 典型应用

3. 目的地设置

 AmapApiRetCode AMapDestSetReq(STSetDestInfo *pDesInfo) 

  • 函数说明

   传入目的地信息,进行路线规划并进行导航。该接口也可以实现途径点添加的功能。

  • 参数说明

参数

参数说明

是否必填

格式/样例

pDestInfo

目的地信息结构体,具体成员如下:

char strName[MAX_POI_NAME_LEN]; /**< 目的地名称 */ -- 必填,MAX_POI_NAME_LEN为POI名字的最大长度,该值为64.

STCoord stCoord; /**< 到达目的地经纬度,如116.31088,39.99281 */ -- 必填

STCoord stShowCoord; /**< 目的地显示经纬度 ,如116.31088,39.99281*/

EGRoutingPolicy eRoutingPolicy; /**< 算路策略 */

bool bMidWay; /**< 是否中途点 */ -- 默认的是目的地

char strPoiId[MAX_POI_ID_LEN]; /**< POI id */

char strAddr[MAX_POI_ADDR_LEN]; /**< POI 地址 */

EPoiType ePoiType; /**< POI类型 */

char strTypeCode[16]; /**< POI TypeCode */

int n32CoordType;/**< 0 - 高德坐标系 1 - 非高德坐标系*/ 

int n32Index; 


  • 相关函数        

 AMapDestSetRcvCbReg

  • 典型应用

一般用于语音交互场合,比如用户通过VR说“我要去北京大学”,调用该接口传入目的地名称北京大学以及北京大学的经纬度信息,就可以导航到北京大学。


AmapApiRetCode AMapDestSetRcvCbReg(FUNC_DestSetRcv pFuncCb)

  • 函数说明

   设置回调用于接收目的地设置的反馈结果。反馈结果在整个目的地设置的过程中是多次反馈的,首先是开始算路,如果成功了会返回算路成功,如果算路失败,会返回具体的失败原因,详见下面参数说明。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 pFuncCb 

接收目的地设置反馈结果的回调函数指针


回调函数的定义    typedef int (*FUNC_DestSetRcv)(EGRoutingResult eRoutingRet) 

参数

参数说明

 eRoutingRet 

G_ROUTING_START, /**< 开始算路 */

G_ROUTING_SUCCESS, /**< 算路成功 */

G_ROUTING_NO_DATA, /**< 没有数据 */

G_ROUTING_NO_NET,  /**< 未联网*/

G_ROUTING_NO_ROUTE, /**< 当前没有路径 */

G_ROUTING_NO_SET_HOME,  /**< 家未设置 */

G_ROUTING_NO_SET_WORK, /**< 公司未设置 */

G_ROUTING_MID_POINT_EXIST,   /**< 途经点存在 */

G_ROUTING_MID_POINT_FULL, /**< 途经点满了,无法继续添加 */

G_ROUTING_FAIL,/**< 其他算路失败原因 */

  • 相关函数        

AMapDestSetReq

  • 典型应用

4. POI导入

AmapApiRetCode AMapPoiImportReq(STSetDestInfo* pPoiInfo)

  • 函数说明

   将POI信息传给导航。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 pPoiInfo 

 目的地信息结构体,请参考目的地设置。


  • 相关函数        
  • 典型应用

一般用于第三方APP、车机系统、导航三者之间的交互。具体的场景是第三方APP推送POI到车机系统,系统显示POI信息列表,通过点击列表项或者语音交互将POI信息传导导航。

5. 回家

AmapApiRetCode AMapGoHomeReq(bool bGuide)

  • 函数说明

   导航到家或者规划出从当前车位置到家的路线方案。

  • 参数说明

参数

参数说明

是否必填

格式/样例

bGuide

false - 默认值,只规划出到家的路线,不进入导航

true - 规划路线并且导航到家


  • 相关函数     

 AMapGoHomeRcvCbReg 

  • 典型应用

一般用于语音交互场合,比如用户通过VR说“回家”,如果想直接导航到家,调用该接口传入true就可以实现了。


AmapApiRetCode AMapGoHomeRcvCbReg(FUNC_GoHomeRcv pFuncCb)

  • 函数说明

   设置回调用于接收回家指令的执行结果。常见的回家失败的原因有家未设置或者算路失败。如果是家未设置,用户需要去导航界面先收藏一个POI设置为家;如果是算路失败,一般是网络不通且没有相关的离线数据。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 pFuncCb 

回公司执行结果回调函数指针


回调函数的定义    typedef int (*FUNC_DestSetRcv)(EGRoutingResult eRoutingRet) 

参数

参数说明

 eRoutingRet 

 G_ROUTING_START, /**< 开始算路 */

G_ROUTING_SUCCESS, /**< 算路成功 */

G_ROUTING_NO_DATA, /**< 没有数据 */

G_ROUTING_NO_NET,  /**< 未联网*/

G_ROUTING_NO_ROUTE, /**< 当前没有路径 */

G_ROUTING_NO_SET_HOME,  /**< 家未设置 */

G_ROUTING_NO_SET_WORK, /**< 公司未设置 */

G_ROUTING_MID_POINT_EXIST,   /**< 途经点存在 */

G_ROUTING_MID_POINT_FULL, /**< 途经点满了,无法继续添加 */

G_ROUTING_FAIL,/**< 其他算路失败原因 */

  • 相关函数        

AMapGoHomeReq

  • 典型应用

6. 回公司

AmapApiRetCode AMapGoOfficeReq(bool bGuide)

  • 函数说明

   导航到公司或者规划出从当前车位置到公司的路线方案。

  • 参数说明

参数

参数说明

是否必填

格式/样例

bGuide

false - 默认值,只规划出到家的路线,不进入导航

true - 规划路线并且导航到家


  • 相关函数     

 AMapGoHomeOfficeCbReg 

  • 典型应用

一般用于语音交互场合,比如用户通过VR说“回公司”,如果想直接导航到公司,调用该接口传入true就可以实现了。


AmapApiRetCode AMapGoOfficeRcvCbReg(FUNC_GoOfficeRcv pFuncCb)

  • 函数说明

   设置回调用于接收回公司指令的执行结果。常见的回公司失败的原因有公司未设置或者算路失败。如果是公司未设置,用户需要去导航界面先收藏一个POI设置为公司;如果是算路失败,一般是网络不通且没有相关的离线数据。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 pFuncCb 

回公司执行结果回调函数指针


回调函数的定义    typedef int (*FUNC_DestSetRcv)(EGRoutingResult eRoutingRet) 

参数

参数说明

 eRoutingRet 

 G_ROUTING_START, /**< 开始算路 */

G_ROUTING_SUCCESS, /**< 算路成功 */

G_ROUTING_NO_DATA, /**< 没有数据 */

G_ROUTING_NO_NET,  /**< 未联网*/

G_ROUTING_NO_ROUTE, /**< 当前没有路径 */

G_ROUTING_NO_SET_HOME,  /**< 家未设置 */

G_ROUTING_NO_SET_WORK, /**< 公司未设置 */

G_ROUTING_MID_POINT_EXIST,   /**< 途经点存在 */

G_ROUTING_MID_POINT_FULL, /**< 途经点满了,无法继续添加 */

G_ROUTING_FAIL,/**< 其他算路失败原因 */

  • 相关函数        

AMapGoOfficeReq

  • 典型应用

7. 查询家/公司的设置状态

AmapApiRetCode AMapHomeCompanySettingReq()

  • 函数说明

   查询导航家/公司是否设置。

  • 参数说明
  • 相关函数     

  AMapHomeCompanySettingRcvCbReg 

  • 典型应用

AmapApiRetCode AMapHomeCompanySettingRcvCbReg(FUNC_HomeCompanySettingRcv pFuncCb)

  • 函数说明

   设置回调用于接收家/公司的设置状态。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 pFuncCb 

家/公司设置状态回调函数指针


回调函数的定义      typedef int (*FUNC_HomeCompanySettingRcv)(int n32Type)

参数

参数说明

 n32Type 

0 - 表示家和公司都未设置

1 - 表示家已经设置,公司未设置

2 - 表示公司已经设置,家未设置

3 - 表示公司和家都已经设置

  • 相关函数        

AMapHomeCompanySettingReq

  • 典型应用

该接口除了用于系统方主动查询,接收导航侧家/公司的设置状态的透出。

8. 替换途径点

AmapApiRetCode AMapRepalceMidWayPoints(bool bReplace)

  • 函数说明

    当系统侧请求添加的途径点个数超过限制(上限为三个)的时候,导航侧会通过AMapDestSetRcvCbReg注册的回调告知系统侧添加途径点的结果,此时系统侧可以通过本接口决定是否用新的途径点替换旧的途径点。 

  • 参数说明

参数

参数说明

是否必填

格式/样例

 bReplace 

true - 替换

false - 不替换


  • 相关函数     

  AMapDestSetRcvCbReg  AMapDestSetReq

  • 典型应用

一般用于语音交互场合。

9. 路线偏好设置

AmapApiRetCode AMapRoutePreferSet(EGRoutingPolicy ePrefer)

  • 函数说明

    导航已启动且处于导航状态,支持第三方传入路线偏好参数,对当前已规划路线进行路线偏好重新设置并更新路线。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 ePrefer

G_ROUTING_POLICY_NULL = -1, /**< 按地图内部设置好的路线偏好,默认值 */

G_ROUTING_POLICY_CHEAPEST, /**< 避免收费 */

G_ROUTING_POLICY_NOEXPY, /**< 不走高速 */

G_ROUTING_POLICY_NOCONGESTION, /**< 避免拥堵 */

G_ROUTING_POLICY_EXPY_FIRST, /**< 高速优先 */

G_ROUTING_POLICY_NOEXPY_NOCHARGE, /**< 避免收费且不走高速 */

G_ROUTING_POLICY_NOEXPY_NOCONGESTION, /**< 避免拥堵且不走高速 */

G_ROUTING_POLICY_NOCHARGE_NOCONGESTION, /**< 避免收费且避免拥堵 */

G_ROUTING_POLICY_NOEXPY_NOCHARGE_NOCONGESTION, /**< 避免收费且不走高速且避免拥堵 */

G_ROUTING_NOTRAFIC_HIGHWAYFIRST, /**< 躲避拥堵且高速优先 */

G_ROUTING_MORE_POLICY,      /**< 多策略算路 */


  • 相关函数        

 AMapRoutePreferSetRcvCbReg 

  • 典型应用

AmapApiRetCode AMapRoutePreferSetRcvCbReg(FUNC_RoutePreferSettingRetRcv pFuncCb)

  • 函数说明

   用于接收路线偏好设置的执行结果。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 pFuncCb

路线偏好设置结果回调函数指针


  回调函数的定义      typedef int (*FUNC_RoutePreferSettingRetRcv)(int n32Ret, ERoutePreferErrCode eErr)

参数

参数说明

 n32Ret

0:执行成功 

1:执行失败

 eErr

E_ROUTE_ERR_SUCESS, /**< 更新成功 */

E_ROUTE_ERR_NO_GUIDE, /**< 不在导航中,无法设置 */

E_ROUTE_ERR_NO_NET, /**< 无网络 */

E_ROUTE_ERR_FAILED, /**< 更新失败 */

  • 相关函数        

AMapRoutePreferSet

  • 典型应用

10. 路径规划

AmapApiRetCode AMapRoutePlanReq(STSetDestInfo *pDesInfo)

  • 函数说明

 系统侧设置终点、路线偏好(算路偏好),直接进入路线规划结果页。注意本接口不能用于添加途径点,添加途径点必须在有路线的情况下调用AMapDestSetReq来实现。

  • 参数说明

参数的说明请参考“出行导航”中的“目的地设置”。

  • 相关函数        

 AMapDestSetRcvCbReg

  • 典型应用

11. POI位置信息显示

AmapApiRetCode AMapLabelPoiInMap(STSetDestInfo* pPoiInfo)

  • 函数说明

  支持用户查询某个点的位置,并且打开地图显示查询点的位置(移图选点)。 

  • 参数说明

参数的说明请参考“出行导航”中的“目的地设置”。

  • 相关函数        

 AMapPoiLabelRcvCbReg

  • 典型应用

   如用户说:“首开广场在哪里?”,由第三方从导航获取搜索结果列表,并展现。用户选择唯一POI后,调起导航展现POI点位置标记。 

AmapApiRetCode AMapPoiLabelRcvCbReg(FUNC_PoiLabelRcv pFuncCb)

  • 函数说明

   用于接收POI位置标记的执行结果。

  • 参数说明

参数

参数说明

是否必填

格式/样例

 pFuncCb

POI位置标记的回调函数指针


  回调函数的定义      typedef int (*FUNC_PoiLabelRcv)(EPoiLabelRet eRet)

参数

参数说明

 eRet

E_POI_LABEL_UNKNOW = -1, /**<  未知结果 */

E_POI_LABEL_OK, /**< * POI标记成功 */

E_POI_LABEL_GET_ADDR_FAILED, /**< 获取逆地址信息失败 */

E_POI_LABEL_OHER_ERROR, /**< 其它错误 */

  • 相关函数        

AMapLabelPoiInMap

  • 典型应用

12. 目的地/途径点设置

AmapApiRetCode AMapDestSetReqExSnd(std::vector<STSetDestInfo>* pDestMidInfo, bool bGuide)

  • 函数说明

 支持用户一次性设置终点和途径点 ,进行路径规划或者导航。注意, 一次最多设置3个途经点 ,如果用户设置的途径点超过三个,导航内部也只会提取序号为前三的途径点进行添加。

  • 参数说明

参数

参数说明

是否必填

格式样例

pDestMidInfo

 pDestMidInfo 这个参数为目的地/途径点信息的集合。途径点/目的地信息的结构体如下: 

char strName[MAX_POI_NAME_LEN]; /**< 目的地名称 */ -- 必填,MAX_POI_NAME_LEN为POI名字的最大长度,该值为64.

STCoord stCoord; /**< 到达目的地经纬度,如116.31088,39.99281 */ -- 必填

STCoord stShowCoord; /**< 目的地显示经纬度 ,如116.31088,39.99281*/

EGRoutingPolicy eRoutingPolicy; /**< 算路策略 */

bool bMidWay; /**< 是否中途点 */ -- 默认的是目的地

char strPoiId[MAX_POI_ID_LEN]; /**< POI id */

char strAddr[MAX_POI_ADDR_LEN]; /**< POI 地址 */

EPoiType ePoiType; /**< POI类型 */

char strTypeCode[16]; /**< POI TypeCode */

int n32CoordType;/**< 0 - 高德坐标系 1 - 非高德坐标系*/ 

int n32Index; /**< 当且仅当目的地为途径点时,必须要赋该变量的值,以表示此途径点的顺序,否则的话,终点目的地或者其它POI信息,该属性的值为缺省值-1 */



 bGuide

false - 只进行路径规划

true - 进行路径规划且进入导航状态



  • 相关函数        

 AMapDestSetRcvCbReg

  • 典型应用

13. 导航透出拥堵信息给系统

AmapApiRetCode AMapTrafficJamMessagecbReg(FUNC_TrafficJamMessageRcv pFuncCb)

  • 函数说明

   用于接收导航透出的路线拥堵信息。

  • 参数说明

参数

参数说明

是否必填

格式样例

 pFuncCb

回调函数指针


回调函数的定义      typedef int (*FUNC_TrafficJamMessageRcv)(EGTrafficStatus eStatus, unsigned int  un32Dis, unsigned int un32Tm)

参数

参数说明

 eStatus

E_TRAFFIC_STATUS_SLOW,/**< 缓行 */

E_TRAFFIC_STATUS_BLOCK,/**< 拥堵 */

E_TRAFFIC_STATUS_SERIOUS,/**< 严重拥堵 */

 un32Dis

拥堵的距离(米)

 un32Tm

拥堵的时间(分钟)

  • 相关函数        

 AMapAvoidTrafficJamSnd

  • 典型应用

1、导航场景中,当遇到前方拥堵,导航上显示躲避拥堵信息时,需要通过接口透出躲避拥堵的内容(透出内容为弹窗中显示的内容)。系统侧可根据信息进行提示及操作

AmapApiRetCode AMapAvoidTrafficJamSnd(bool bAvoidJam)

  • 函数说明

   当用户接收到导航透出的拥堵信息提示时,可以通过该接口进行策略选择, 若用户确认,则进行路线重算,若用户取消,则关闭躲避拥堵弹窗 。

  • 参数说明

参数

参数说明

是否必填

格式样例

 bAvoidJam

true - 避免拥堵

false - 忽略该提示


  • 相关函数        

 AMapTrafficJamMessagecbReg

  • 典型应用

14. 查询导航途径点信息

AmapApiRetCode AMapMidWayInfoReqSnd()

  • 函数说明

    系统侧发起查询途经点的信息,导航侧根据场景返回结果。

  1. 若处于非导航场景,则返回不在导航中,查询失败
  2. 若处于导航场景,但无途经点信息,则返回0
  3. 若处于导航场景,且存在途径点,则返回实际的途经点个数
  • 参数说明
  • 相关函数        

 AMapMidWayInfocbReg

  • 典型应用

  VR场景下需要主动查询途经点的信息,用于判断当前是否可支持途经点添加的功能 

AmapApiRetCode AMapMidWayInfocbReg(FUNC_MidWayInfoRcv pFuncCb)

  • 函数说明

   接收导航透出的途径点信息。

  • 参数说明

参数

参数说明

是否必填

格式样例

 pFuncCb

回调函数指针


回调函数声明 typedef int (*FUNC_MidWayInfoRcv)(EGMidWayInfoQueryErr, eErrCode std::vector<STMidPoi>* pVecMid, bool bMax)

参数

参数说明

 eErrCode

E_MIDWAY_QUERY_OK,/**< 请求成功 */

E_TRAFFIC_QUERY_FAILED_NOT_IN_GUIDE,/**< 不在导航中,无法查询 */

 pVecMid

途径点信息集合

 bMax

true:途经点个数已达到上限

false:途经点个数未达到上限

  • 相关函数        

 AMapMidWayInfoReqSnd

  • 典型应用
示例中心 功能
在线体验
常见问题