{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516344711,"data":{"id":71712067,"title":"5.4.3.14 区间测速","slug":"gicr44","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

区间测速是在同一路段上布设两个相邻的速度监控点,原理是基于车辆通过前后两个监控点的时间来计算车辆在该路段上的平均行驶速度,并依据该路段上的限速标准判定车辆是否超速违章。

区间测速通常设置在高速路段 。

场景范围包括:导航、模拟导航;在线、离线场景


注意:

老版本的区间测试电子眼回调如下:

onShowNaviIntervalCamera(ArrayList<NaviIntervalCamera> naviIntervalCameraList)

在>=600的版本,此接口被下架。

区间测速的电子眼也走onShowNaviCamera回调透出。见此接口接口的NaviCameraExt.subCameras.subType字段。其中如下三个代表区间测速电子眼类型:

    /**\n   * 区间测速起点\n   */\n    public final static int SubCameraExtTypeIntervalvelocityStart = 25;\n    /**\n   * 区间测速终点\n   */\n    public final static int SubCameraExtTypeIntervalvelocityEnd = 26;\n    /**\n   * 区间测速起终点\n   */\n    public final static int SubCameraExtTypeIntervalvelocityStartEnd = 27;\n

\"image.png\"

\"image.png\"

时序图

关键参数

boolean com.autonavi.gbl.guide.model.guidecontrol.TTSPlayParam.enableIntervalCamera

核心接口

void com.autonavi.gbl.guide.observer.INaviObserver.onShowNaviCamera(ArrayList<NaviCameraExt> naviCameraList)\t
void com.autonavi.gbl.guide.observer.INaviObserver.onUpdateIntervalCameraDynamicInfo(ArrayList<NaviIntervalCameraDynamicInfo> cameraDynamicList)

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

代码示例

INaviObserver 实现以下监听回调:

@Override\npublic void onShowNaviCamera(ArrayList<NaviCamera> arrayList) {\n    if (arrayList.size() > 0){\n\t\t// 显示普通电子眼,AutoSDK图层内聚显示\n    \t// todo...HMI对接数据做别的事情\n    } else {\n    \t// 隐藏电子眼\n        // todo...HMI对接数据做别的事情\n    }\n}\n\n//更新区间测试电子眼动态实时信息回调\n@Override\npublic void onUpdateIntervalCameraDynamicInfo(ArrayList<NaviIntervalCameraDynamicInfo> cameraDynamicList) {\n\tint avageSpeed = -1;\n    int limitSpeed = 0;\n    if (cameraDynamicList.size() > 0){\n        avageSpeed = cameraDynamicList.get(0).averageSpeed;\n        // get max limitSpeed\n        for (int i = 0; i < cameraDynamicList.get(0).speed.size(); i++){\n            if (limitSpeed < cameraDynamicList.get(0).speed.get(i) && 255 > cameraDynamicList.get(0).speed.get(i)){\n                limitSpeed = cameraDynamicList.get(0).speed.get(i);\n            }\n        }\n    }\n    else{\n        // do nothing\n    }\n\n    //如果速度值无效,关闭区间测速卡片\n    //平均速度 int32_t averageSpeed :HMI收到的数据为-1时,不显示区间测速面板和图面的区间测速扎标\n    if (-1 == avageSpeed || 0 == limitSpeed){\n        // 判断当前卡片是否显示中,若显示则隐藏之\n        // todo: HMI实现隐藏区间测速卡片的逻辑\n       \t// ...\n        \n        return;\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:25","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":201,"collectCount":0,"estimateDate":5,"docStatus":0,"permissions":true,"overView":false}}