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

高德 开发 高德地图车机版 开发指南 C++平台 使用约束

更新时间:2018年06月15日

编程说明

  • 包含sdk头文件,仅需要包含Amap.h这个头文件即可。
  • 使用SDK如果有多个APP需要加载SDK,请先调用AMapSetIpcId对您的APP进行ID设置,ID的值(2|4|8|16|32),目前只支持最多5个APP加载SDK。如果您只是单个APP加载SDK,默认的ID是2,你不需要调用AMapSetIpcId。之后您必须调用AMapInit()进行初始化(只能调用一次),其次,应用程序退出的时候必须要调用AMapUnInit()进行反初始化(只能调用一次)。
  • 所有的SDK API都必须在初始化之后和反初始化之前使用。
  • 通信时序说明
  • 关于字符串编码格式约定。API的字符串入参是utf-8的编码格式,必须先转换成utf-8。特别注意,如果您有用到wchar_t这个数据类型,这个类型在不同平台下可能是两个字节或四个字节,可以在编译的时候加上-fshort-wchar强制固定为两个字节,或者您自己想办法变成双字节的,最后再转换成utf-8。同时,导航回传给您的数据也是utf-8的编码格式,您需要根据你的需求决定如何转码,不然有可能会出现乱码的情况。
  • SDK的底层使用的通信方式是socket,导航APP作为服务端,IP地址固定是127.0.0.1,端口固定为8706。SDK端内部默认去连接导航的IP地址和端口号。所以,请确保端口号8706不会被占用。
  • 关于编译问题。您拿到SDK之后,会包含头文件和相关的库文件,库文件主要有libACommunication.so(通信层)、libAMapApi.so(API层)、libAProtocol.so(协议实现层)、libAmapBase.so(基础通信及能力层)。库的链接顺序一般是libAMapApi.so libACommunication.so libAProtocol.so libAMapBase.so。还有一个配置文件,AmapConfig.xml,这请放到/usr/bin/下,主要是SDK的一些必要的配置信息。

调试说明

如果使用SDK的过程遇到问题,请按照如下的方法给高德提供日志。

  • 获取导航APP日志的方法。
  • 获取SDK日志的方法

 将配置文件LogConfig.xml放到和加载SDK的程序同一个目录,并配置好xml中<path>的路径,该路径代表SDK日志生成的路径,此路径必须真实存在且可写,生成日志的格式如2017-12-24-09-01-30.log。

  • SDK API返回的错误码:

API_RET_SUCCESS - 成功 

API_RET_ERR_MEMORY_MALLOC_FAIL - 内存申请失败

API_RET_ERR_INVALID_PARAMETER - 参数错

API_RET_ERR_MSG_SEND_FAIL - 协议发送失败

API_RET_ERR_OTHERS - 其他原因

API_RET_ERR_UNDEF - 未定义错误

示例中心 功能
在线体验
常见问题