{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516347605,"data":{"id":71714079,"title":"5.4.3.18 引导路口转向箭头自动请求","slug":"nl6yvm","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

前序文档

《引导路口转向箭头》


>=610版本,AutoSDK提供了引导路口转向箭头自动请求的能力,支持开关配置。

HMI根据自身业务需求,如不使用当前能力,参考前序文档实现即可。

本篇文档着重介绍转向箭头自动请求的能力。


特别注意:对接了多屏一致性的项目,不可使用此“转向箭头自动请求”的功能,,强行开启是无效的。

时序图

关键参数

public class ManeuverParam extends BaseParam implements java.io.Serializable {\n    /**\n   * 转向图标自动请求设置开关,默认关闭\n   */\n    public boolean enableAutoObtain;\n    /**\n   * 转向图标内部高级渲染功能设置开关,默认关闭\n   */\n    public boolean enableAdvancedRender;\n    /**\n   * 转向图标宽度,默认400\n   */\n    public long width;\n    /**\n   * 转向图标高度,默认400\n   */\n    public long height;\n    /**\n   * 转向图标箭头颜色,默认0xffaabbcc\n   */\n    public long arrowColor;\n    /**\n   * 转向图标背景颜色,默认0xff00bbcc\n   */\n    public long backColor;\n    /**\n   * 转向图标道路颜色,默认0xffaabb00\n   */\n    public long roadColor;\n\n    public ManeuverParam()\n    {\n        super();\n        enableAutoObtain = false;\n        enableAdvancedRender = false;\n        width = 0;\n        height = 0;\n        arrowColor = 0;\n        backColor = 0;\n        roadColor = 0;\n    }\n}\n
public class ManeuverBuffer implements java.io.Serializable {\n    /**\n   * 矢量图转向图标数据\n   */\n    public BinaryStream dataBuf;\n    /**\n   * 图片宽\n   */\n    public int width;\n    /**\n   * 图片高\n   */\n    public int height;\n    /**\n   * 背景色 ARGB 8888(高位->低位 ARGB),透明效果需要HMI的UI自己处理\n   */\n    public int backColor;\n    /**\n   * 道路颜色 ARGB 8888(高位->低位 ARGB)\n   */\n    public int roadColor;\n    /**\n   * 箭头颜色 ARGB 8888(高位->低位 ARGB)\n   */\n    public int arrowColor;\n}\n

核心接口

boolean com.autonavi.gbl.guide.GuideService.setParam(Param param)
void com.autonavi.gbl.guide.observer.INaviObserver.onShowNaviManeuver(ManeuverInfo info);


说明:函数详情,请复制函数名称到在线API搜索。

调用示例

设置转向箭头自动请求

Param maneuverParam = new Param();\nmaneuverParam.type = GuideParamManeuverParam;\nmaneuverParam.maneuverParam.enableAutoObtain = true;\nmaneuverParam.maneuverParam.width = 100;\nmaneuverParam.maneuverParam.height = 100;\nmaneuverParam.maneuverParam.backColor = 0xffffffff;\nmaneuverParam.maneuverParam.roadColor = 0xffff0000;\nmaneuverParam.maneuverParam.arrowColor = 0xff00ff00;        

在线请求AutoSDK下发图标资源

INaviObserver naviObserver = new INaviObserver() {\n    @Override\n    public void onShowNaviManeuver(ManeuverInfo info) {\n        int length = info.manuverbuffer.dataBuf.getLength();\n        if (length > 0) {\n            // 返回的数据\n            // info.pData -> bmp图片二进制流\n            // todo:  HMI绘制代码\n        } \n        else {\n            // 没有在线图标,使用离线图标进行绘制\n            // todo:  HMI绘制代码\n        }\n    }\n    ...\n};
","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:03:29","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":113,"collectCount":0,"estimateDate":6,"docStatus":0,"permissions":true,"overView":false}}