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

高德 开发 Android 导航SDK 开发指南 获取导航数据 导航数据

更新时间:2017年05月23日

导航 SDK 透传出了导航数据,可帮助您进行UI的定制化开发,是 HUD 和智能硬件的解决方案。

从 V5.0.0 版本开始,自车信息、服务区信息和摄像头信息从 NaviInfo 中独立出来。

导航动作信息

透传的导航动作信息包括:

  • 下一导航动作的名称,通过 NaviInfo.getIconType() 方法获取。
  • 距下一导航动作的距离(即当前路段剩余距离),通过 NaviInfo.getCurStepRetainDistance() 方法获取。

道路信息

默认的导航界面上,会显示当前正在行驶的道路的名称,以及下一道路名称。

  • 当前道路名称,通过 NaviInfo.getCurrentRoadName() 方法获取。
  • 下一道路名称,通过 NaviInfo.getNextRoadName() 方法获取。

目的地信息

  • 距目的地剩余距离,通过 NaviInfo.getPathRetainDistance() 方法获取。
  • 距目的地剩余时间,通过 NaviInfo.getPathRetainTime() 方法获取。

服务区

  • V5.0.0之前

当前位置到服务区的距离 NaviInfo.getServiceAreaDistance()。

  • V5.0.0之后

服务区信息将在 AMapNaviListener 中的 onServiceAreaUpdate(AMapServiceAreaInfo[] infoArray) 回调中获取。

当前位置到服务区的距离,通过 AMapServiceAreaInfo.getRemainDist() 方法获取。

导航状态包括:

  • 开始导航(实时或模拟),通过 AMapNaviListener 的 onStartNavi(int type) 回调函数记开始导航状态。
  • 模拟导航结束时,触发 AMapNaviListener 的 onEndEmulatorNavi() 回调方法。
  • 偏航重算,驾车或者步行导航过程中,偏离了当前规划路径时,触发 AMapNaviListener 的 onReCalculateRouteForYaw() 回调方法。
  • 拥堵重算,驾车导航过程中,前方遇到拥堵时重新计算路径,触发 AMapNaviListener 的 onReCalculateRouteForTrafficJam() 回调方法。

路口放大图

导航过程中,到达某些路口时,会出现该路口的放大图片,通过 AMapNaviListener 的 showCross(AMapNaviCross aMapNaviCross) 回调方法得到 AMapNaviCross对象,然后通过 AMapNaviCross 的 getBitmap() 方法获取路口放大图。

自车信息

  • V5.0.0之前

自车位置,通过 NaviInfo.getCoord() 方法获取。 

自车方向,通过 NaviInfo.getDirection() 方法获取。

  • V5.0.0之后

自车信息将在 AMapNaviListener 中的 onLocationChange(AMapNaviLocation location) 回调中获取。

自车位置,通过 AMapNaviLocation.getCoord() 方法获取。

自车方向,通过 AMapNaviLocation.getBearing() 方法获取。

摄像头信息

  • V5.0.0 之前

摄像头经纬度,通过 NaviInfo.getCameraCoord() 方法获取。

距离摄像头的距离,通过 NaviInfo.getCameraDistance() 方法获取。

摄像头的类型,通过 NaviInfo.getCameraType() 方法获取。

限速,通过 NaviInfo.getLimitSpeed() 方法获取。

  • V5.0.0之后

监控摄像头信息将在 AMapNaviListener 中的 updateCameraInfo(AMapNaviCameraInfo[] infoArray) 回调中获取。 

摄像头经纬度,通过 AMapNaviCameraInfo.getX() 方法获取经度,AMapNaviCameraInfo.getY() 方法获取纬度。

距离摄像头的距离,通过 AMapNaviCameraInfo.getCameraDistance() 方法获取。

摄像头的类型,通过 AMapNaviCameraInfo.getCameraType() 方法获取。

摄像头的限速,通过 AMapNaviCameraInfo.getCameraSpeed() 方法获取。

当路线规划成功后,可通过 AMapNaviPath 类得到导航路线信息,包括: 

  • 当前导航路线的总长度,通过 getAllLength() 方法获取。
  • 返回当前导航路径所需的时间,通过 getAllTime() 方法获取。
  • 当前路线方案的起点坐标,通过 getStartPoint() 方法获取。
  • 当前路线方案的终点坐标,通过 getEndPoint() 方法获取。
  • 当前路径的途经点坐标(仅支持驾车模式下获取),通过 getWayPoint() 方法获取。
  • 途经点index数组,通过 getWayPointIndex() 方法获取。
  • 当前导航路线的所有坐标点,通过 getCoordList() 方法获取。
  • 路径计算策略,通过 getStrategy() 方法获取。
  • 当前导航路线上分段,通过 getSteps() 方法获取。
示例中心 功能
在线体验
常见问题