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

高德 开发 Android 地图SDK 开发指南 出行路线规划 驾车出行路线规划

更新时间:2017年03月20日

驾车路径规划可以根据起终点和驾车路线的数据,使用 DrivingRouteOverlay 画出驾车路线图层,包括起终点和转弯点。另外也可以自定义起终点和驾车转弯点的图标。

注意:地图SDK V4.1.3版本开始,SDK不再提供 com.amap.api.maps.overlay 包下的 overlay,已在官方demo中开源。

第 1 步,初始化 RouteSearch 对象

routeSearch = new RouteSearch(this);

第 2 步,设置数据回调监听器

routeSearch.setRouteSearchListener(this);

第 3 步,设置搜索参数

通过 DriveRouteQuery(RouteSearch.FromAndTo fromAndTo, int mode, List<LatLonPoint> passedByPoints, List<List<LatLonPoint>> avoidpolygons, String avoidRoad) 设置搜索条件,方法对应的参数说明如下:

  • fromAndTo,路径的起点终点;
  • mode,计算路径的模式,可选,默认为速度优先;
  • passedByPoints,途经点,可选;
  • avoidpolygons,避让区域,可选,支持32个避让区域,每个区域最多可有16个顶点。如果是四边形则有4个坐标点,如果是五边形则有5个坐标点。
  • avoidRoad,避让道路,只支持一条避让道路,避让区域和避让道路同时设置,只有避让道路生效。
// fromAndTo包含路径规划的起点和终点,drivingMode表示驾车模式
// 第三个参数表示途经点(最多支持16个),第四个参数表示避让区域(最多支持32个),第五个参数表示避让道路
DriveRouteQuery query = new DriveRouteQuery(fromAndTo, drivingMode, null, null, "");

第 4 步,发送请求

使用类 RouteSearch 的 calculateRideRouteAsyn(RideRouteQuery query) 方法进行骑行规划路径计算。

routeSearch.calculateDriveRouteAsyn(query);

第 5 步,接收数据

在 RouteSearch.OnRouteSearchListener 接口回调方法 void onDriveRouteSearched(DriveRouteResult result, int rCode) 处理驾车规划路径结果。返回的信息中包括:路线的距离、高速费用(仅针对7座以下轿车)、路况情况等等。

说明:

1)可以在回调中解析 result,获取驾车的路径。

2)result.getPaths()可以获取到 DrivePath 列表,驾车路径的详细信息可参考 DrivePath 类。

3)返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)

public void onDriveRouteSearched(DriveRouteResult result, int rCode) {  
   //解析result获取算路结果,可参考官方demo
}  

注意事项

1、使用上述功能需要下载地图SDK,导入搜索功能的jar包。

2、地图SDK V4.1.3版本开始,SDK不再提供 com.amap.api.maps.overlay 包下的 overlay,已在官方demo中开源。

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