高德地图开发Android 导航SDK开发指南专业导航—智能巡航

高德地图开发Android 导航SDK开发指南专业导航—智能巡航

智能巡航 最后更新时间: 2021年01月22日

基本介绍

智能巡航,是一种智能引导模式,无需设置起终点,无需进行算路,就可以在驾车过程中收到语音播报提示、拥堵区域等相关交通信息。

使用方法

1. 设置巡航信息监听

示例代码: 

Java

AMapNavi mAMapNavi = AMapNavi.getInstance(mContext); 
 // 注册巡航模式数据监听
 mAMapNavi.addAimlessModeListener(new AimlessModeListener() {
     // 巡航道路设施信息更新回调
     @Override
     public void onUpdateTrafficFacility(AMapNaviTrafficFacilityInfo[] infos) {

     }
     
     // 巡航电子眼信息更新回调
     @Override
     public void onUpdateAimlessModeElecCameraInfo(AMapNaviTrafficFacilityInfo[] cameraInfo) {

     }

     // 巡航统计信息更新回调
     @Override
     public void updateAimlessModeStatistics(AimLessModeStat aimLessModeStat) {

     }

     // 巡航拥堵信息更新回调
     @Override
     public void updateAimlessModeCongestionInfo(AimLessModeCongestionInfo aimLessModeCongestionInfo) {

     }
 });

2. 开启/停止巡航

使用AMapNavi导航管理类中的startAimlessMode与stopAimlessMode来控制开启与停止巡航。 

Java

/** 
     * 开启巡航模式
     * 可以设置在巡航模式(无路线规划)的状态下的智能播报的类型
     *
     * @param aimlessMode 1:只播报电子眼 2:只播报特殊路段 3:播报电子眼和特殊路段
     * @since 1.8.0
     */
    @Override
    public void startAimlessMode(int aimlessMode);
    
    
    /**
     * 停止巡航模式
     * 
     * @since 1.8.0
     */
    @Override
    public void stopAimlessMode();

注意:

1、巡航功能需要联网使用。

2、巡航效果需要在实际驾车过程中体验。

3、巡航模式与导航模式是互斥的,不能同时使用。

  • 如果已经处在导航模式,要开启巡航模式时,需要先调用AMapNavi.stopNavi来停止导航,再设置AMapNavi.startAimlessMode才能生效。
  • 如果已经处于巡航模式,要开启导航前,需要先调用AMapNavi.stopAimlessMode来关闭巡航,再开启导航。

更多:

若您想实时将您的巡航位置记录在地图上,看到您的巡航状态,您可创建MapView对象,在地图上添加Marker,并通过自车回调onLocationChange回调获取的自车位置实时更新Marker的坐标,此处可参考官网Demo中的“智能巡航”。