骑行出行路线规划 最后更新时间: 2021年01月22日
从搜索功能3.5.0 版本开始支持骑行出行路线规划功能。
骑行路径规划可以根据起终点和骑行路线的数据,使用 RideRouteOverlay 画出骑行路线图层,包括起终点和转弯点。另外也可以自定义起终点和骑行转弯点的图标。
注意:地图SDK V4.1.3版本开始,SDK不再提供 com.amap.api.maps.overlay 包下的 overlay,已在官方demo中开源。
第 1 步,初始化 RouteSearch 对象
mRouteSearch = new RouteSearch(this);
第 2 步,设置数据回调监听器
mRouteSearch.setRouteSearchListener(this);
第 3 步,设置搜索参数
通过 RideRouteQuery(RouteSearch.FromAndTo fromAndTo, int mode) 设置搜索条件。参数:fromAndTo,路径的起终点;mode,计算路径的模式。可选,默认为“推荐路线及最快路线综合模式”。
final RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(mStartPoint, mEndPoint);
RideRouteQuery query = new RideRouteQuery(fromAndTo, mode);
第 4 步,发送请求
使用类 RouteSearch 的 calculateRideRouteAsyn(RideRouteQuery query) 方法进行骑行规划路径计算。
mRouteSearch.calculateRideRouteAsyn(query);
第 5 步,接收数据
在 RouteSearch.OnRouteSearchListener 接口回调方法 void onRideRouteSearched(RideRouteResult result, int errorCode) 处理骑行规划路径结果。返回的信息中您可以获得预估的骑行距离、骑行的预计时间、骑行路段的道路名称、坐标点等信息。
说明:
1)可以在回调中解析result,获取骑行的路径。
2)result.getPaths()可以获取到 RidePath 列表,骑行路径的详细信息可参考 RidePath 类。
3)返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)
@Override
public void onRideRouteSearched(RideRouteResult result, int errorCode) {
//解析result获取算路结果,可参考官方demo
}
显示效果如下:
注意事项
1、使用上述功能需要下载地图SDK,导入搜索功能的jar包。
2、地图SDK V4.1.3版本开始,SDK不再提供 com.amap.api.maps.overlay 包下的 overlay,已在官方demo中开源。