未来行程路线规划 最后更新时间: 2026年05月26日
简介
自地图 SDK 搜索功能 1.0.0 版本起新增未来行程路线规划,简称ETD。 未来出行规划(ETD)服务已覆盖全国所有城市,可提供未来7天的出行路线规划。
注意:下面介绍的功能使用的是地图SDK的搜索功能,需要在工程中导入
未来行程路线规划
第一步, 初始化 RouteSearch 对象
this.mRouteSearch = new RouteSearch(this.mContext);第二步, 设置数据回调监听器
this.mRouteSearch?.setOnRoutePlanSearchListener(this.onRoutePlanSearchListener);第三步, 设置搜索参数
通过 DrivePlanQuery(RouteSearch.FromAndTo fromAndTo, int firstTime, int interval, int count) 设置搜索条件,方法对应的参数说明如下:
fromAndTo,路径的起点终点,必设。
firstTime,出发时间,第一个时间戳(unix时间戳,精确到秒),必设;
interval,规划的时间间隔,单位为秒,必设;
count,规划时间点个数,最大48个,必设。
设置终点的父POIID,无父POI的情况留空即可:
DrivePlanQuery.setDestParentPoiID(destParentPoiID)
设置规划策略模式,可选,默认为速度优先;
DrivePlanQuery.setMode(int mode)
设置车辆类型,默认为普通汽车:
DrivePlanQuery.setCarType(int carType)
const fromAndTo = new FromAndTo(
this.mStartPoint, this.mEndPoint);
const time = Math.floor(Date.now() / 1000)
const query = new DrivePlanQuery(fromAndTo, time + utils.queryFirstInterval * 60, utils.queryInterval * 60,
48); // 第一个参数表示路径规划的起点和终点,第二个参数表示驾车模式,第三个参数表示途经点,第四个参数表示避让区域,第五个参数表示避让道路
第四步,发送请求
使用类 RouteSearch 的 calculateDrivePlanAsyn(DrivePlanQuery driveQuery) 方法进行骑行规划路径计算。
this.mRouteSearch?.calculateDrivePlanAsyn(query)第五步,接收数据
在 RouteSearch.OnRoutePlanSearchListener接口回调方法 void OnRoutePlanSearchListener(DriveRouteResult result, int rCode) 处理驾车规划路径结果。返回的信息中包括:路线的距离、规划时间、路况情况等。
说明:
- 可以在回调中解析 result,获取驾车的路径;
- result.getPaths()可以获取到 DrivePath 列表,驾车路径的详细信息可参考 DrivePlanPath 类;
- 返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)。
private onRoutePlanSearchListener: OnRoutePlanSearchListener = {
onDriveRoutePlanSearched: (result: DriveRoutePlanResult | undefined, errorCode: number): void => {
//解析result获取算路结果,可参考官方demo
}
}
