货车出行路线规划 最后更新时间: 2021年01月22日
从搜索功能6.1.0 版本开始支持货车出行路线规划功能,货车出行路线规划的具体策略可参见服务文档。
第 1 步,初始化 RouteSearch 对象
mRouteSearch = new RouteSearch(this);
第 2 步,设置数据回调监听器
mRouteSearch.setOnTruckRouteSearchListener(this);
第 3 步,设置搜索参数
通过 TruckRouteQuery(RouteSearch.FromAndTo fromAndTo, int mode, List<LatLonPoint> passedByPoints, int truckSize) 设置搜索条件。
参数 | 说明 |
---|---|
fromAndTo | 路径的起终点 |
mode | 计算路径的模式(可选),默认为“躲避拥堵” |
passedByPoints | 途经点 |
truckSize | 货车大小,默认轻型车 |
final RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(mStartPoint, mEndPoint);
//设置车牌
fromAndTo.setPlateProvince("京");
fromAndTo.setPlateNumber("A000XXX");
RouteSearch.TruckRouteQuery query = new RouteSearch.TruckRouteQuery(fromAndTo,truckMode, null, RouteSearch.TRUCK_SIZE_LIGHT);
//设置车辆信息
query.setTruckAxis(6);
query.setTruckHeight(3.9f);
query.setTruckWidth(3);
query.setTruckLoad(45);
query.setTruckWeight(50);
第 4 步,发送请求
使用类 RouteSearch 的 calculateTruckRouteAsyn(final RouteSearch.TruckRouteQuery truckQuery) 方法进行路线规划路径计算。
mRouteSearch.calculateTruckRouteAsyn(query);
第 5 步,接收数据
在 RouteSearch.OnTruckRouteSearchListener 接口回调方法 onTruckRouteSearched(TruckRouteRestult truckRouteResult, int errorCode) 处理货车规划路径结果。返回的信息中您可以获得预估的货车路线距离、货车路线的预计时间、货车路线路段的道路名称、坐标点等信息。
说明:
1)可以在回调中解析result,获取货车的路径。
2)result.getPaths()可以获取到 TruckPath 列表,货车路线的具体方案的详细信息可参考 TruckPath 类。
3)返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)
@Override
public void onTruckRouteSearched(TruckRouteRestult truckRouteResult, int errorCode) {
//解析result获取算路结果,可参考官方demo
//建议通过TruckPath中getRestriction() 判断路线上是否存在限行
}
注意事项:
1、使用上述功能需要下载地图SDK,导入搜索功能的jar包。
2、地图SDK V4.1.3版本开始,SDK不再提供 com.amap.api.maps.overlay 包下的 overlay,已在官方demo中开源。