最后更新时间:2025-03-13
地图 SDK 提供的路线规划功能支持多种交通方式的路线计算能力,包括:
驾车
| 接口名 | 功能 |
|---|---|
| DrivingParam() | 构造驾车请求参数 |
| DrivingParam(LatLng from, LatLng to) | 构造驾车请求参数,同时设置起、终点坐标 |
| accuracy(int accuracy) | from 定位精度,单位:米,取 > 0数值,默认5。 当定位精度 > 30米时heading参数将被忽略 |
| addWayPoint(LatLng l) | 增加一个途经点,最多10个,如果多于 10 则不作任何操作。 |
| addWayPoints(Iterable |
增加多个途经点 |
| fromPOI(String fromPOI) | 起点 POI ID (可通过腾讯位置服务地点搜索服务得到),传入后,优先级高于from(坐标) |
| fromTravel(DrivingParam.Travel travel) | 起点轨迹: 在真实的场景中,易受各种环境及设备精度影响,导致定位点产生误差,传入起点前段轨迹,可有效提升准确度。 优先级:高于 from 参数,具体的参数定义请参考接口文档 |
| heading(int heading) | from 在起点位置时的车头方向,数值型,取值范围0至360(0度代表正北,顺时针一周360度) 传入车头方向,对于车辆所在道路的判断非常重要,直接影响路线计算的效果 |
| policy(DrivingParam.Policy policy, DrivingParam.Preference… preferences) | 设置驾车规划策略policy 可选值:Policy.LEAST_TIME [默认] 参考实时路况,时间最短 Policy.PICKUP 网约车场景 – 接乘客 Policy.TRIP 网约车场景 – 送乘客 preferences 可选值:Preference.AVOID_HIGHWAY 不走高速 Preference.LEAST_FEE 少收费 Preference.NAV_POINT_FIRST 该策略会通过终点坐标查找所在地点(如小区/大厦等),并使用地点出入口做为目的地,使路径更为合理 Preference.REAL_TRAFFIC 参考实时路况 |
| roadType(DrivingParam.RoadType roadType) | from 起点道路类型,可选值:RoadType.DEF [默认]不考虑起点道路类型 RoadType.ABOVE_BRIDGE 在桥上 RoadType.BELOW_BRIDGE 在桥下 RoadType.ON_MAIN_ROAD 在主路 RoadType.ON_SIDE_ROAD 在辅路 RoadType.OPPOSITE_SIDE 在对面 RoadType.ON_MAIN_ROAD_BELOW_BRIDGE 桥下主路 RoadType.ON_SIDE_ROAD_BELOW_BRIDGE 桥下辅路 |
| speed(int speed) | from 速度,单位:米/秒,默认3。 当速度低于1.39米/秒时,heading将被忽略 |
| toPOI(String toPOI) | 终点 POI ID(可通过腾讯位置服务地点搜索服务得到),当目的地为较大园区、小区时,会以引导点做为终点(如出入口等),体验更优。 该参数优先级高于to(坐标),但是当目的地无引导点数据或POI ID失效时,仍会使用to(坐标)作为终点 |
| trafficSpeed(boolean enable) | 设置是否返回路况配速信息 |
| setNoStep(int noStep) | 不返回路线引导信息,可使回包数据量更小 |
| setMultRoute(int multRoute) | 是否返回多方案 |
| setTagMode(TagMode tagMode) | 设置返回Tag标签模式 |
| fromTravel(Travel travel) | 起点轨迹 |
| departureTime(long timeStamp) | 设置ETD时间(预计出发时间) |
| addWayPoint(LatLng l) | 增加一个途经点,最多30个,如果多余30则不作任何操作 |
| setCarNumber(String carNumber) | 车牌号,填入后,路线引擎会根据车牌对限行区域进行避让,不填则不不考虑限行问题 |
| setCarType(CarType carType) | 设置车类型,默认{@link CarType#DEF} 代表油车,{@link CarType#NEW_ENERGY}表示新能源 |
| setExtraFields(String… extraFields) | 设置扩张字段 |
| cache(boolean enable) | 是否开启算路缓存 |
| setAvoidPolygons(List<List |
避让区域:支持32个避让区域,每个区域最多可有9个顶点(如果是四边形则有4个坐标点,如果是五边形则有5个坐标点) |
步行
| 接口名 | 功能 |
|---|---|
| WalkingParam() | 构造步行请求参数 |
| WalkingParam(LatLng from, LatLng to) | 构造步行请求参数,同时设置起、终点坐标 |
| toPOI(String toPOI) | 终点 POI ID(可通过腾讯位置服务地点搜索服务得到),当目的地为较大园区、小区时,会以引导点做为终点(如出入口等),体验更优。 该参数优先级高于to(坐标),但是当目的地无引导点数据或POI ID失效时,仍会使用to(坐标)作为终点 |
骑行
| 接口名 | 功能 |
|---|---|
| BicyclingParam() | 构造骑行请求参数 |
| BicyclingParam(LatLng from, LatLng to) | 构造骑行请求参数,同时设置起、终点坐标 |
| toPOI(String toPOI) | 终点 POI ID(可通过腾讯位置服务地点搜索服务得到),当目的地为较大园区、小区时,会以引导点做为终点(如出入口等),体验更优。 该参数优先级高于to(坐标),但是当目的地无引导点数据或POI ID失效时,仍会使用to(坐标)作为终点 |
公交
| 接口名 | 功能 |
|---|---|
| TransitParam() | 构造公交请求参数 |
| TransitParam(LatLng from, LatLng to) | 构造公交请求参数,同时设置起、终点坐标 |
| departureTime(long departureTime) | 出发时间,单位:秒。默认使用当前时间,用于过滤掉非运营时段的线路 |
| policy(TransitParam.Policy policy, TransitParam.Preference… preferences) | 设置换乘策略policy 可选值:Policy.LEAST_TIME 较快捷 LEAST_TRANSFER 少换乘 LEAST_WALKING 少走路 preferences可选值:NO_SUBWAY 不坐地铁 |
5.货车
| 接口名 | 功能 |
|---|---|
| TruckingParam() | 货车路线规划构造参数类 |
| fromPOI(java.lang.String fromPOI) | 起点POI ID,传入后,优先级高于from(坐标) |
| toPOI(java.lang.String toPOI) | 终点POI ID(可通过腾讯位置服务地点搜索服务得到),当目的地为较大园区、小区时,会以引导点做为终点(如出入口等),体验更优。 该参数优先级高于to(坐标),但是当目的地无引导点数据或POI ID失效时,仍会使用to(坐标)作为终点 |
| setPolicy(TruckingParam.Policy policy) | 设置策略偏好 |
| setTruckSize(TruckSize size) | 设置车型,依据国标分类 |
| setTruckLength(double length) | 设置车辆长度,单位:米,默认 4.2 |
| setTruckHeight(double height) | 设置车辆高度,单位:米,默认 1.8 |
| setTruckWidth(double width) | 设置车辆宽度,单位:米,默认 1.9 |
| setTruckWeight(double weight) | 设置车辆总重,单位:吨,默认 2.5 |
| setTruckLoad(double load) | 设置核定载重,单位:吨,默认 2 |
| setAxleWeight(double axleWeight) | 设置轴重,单位:吨,默认 2 |
| setAxleCount(int axleCount) | 设置轴数,默认 2 |
| setTrailer(int isTrailer) | 设置是否挂车 |
| setTrailerType(TrailerType trailerType) | 设置拖挂类型 |
| setGoodsType(GoodsType goodsType) | 设置货品类型 |
| setEnergyType(EnergyType energyType) | 设置能源类型 |
| setGasEmissionStandard(GasEmissionStandard gasEmissionStandard) | 设置尾气排放标准 |
| setPassType(PassType passType) | 设置通行证类型 |
| addWayPoint(LatLng l) | 增加一个途经点,最多30个,如果多余30则不作任何操作 |
| setPlateColor(PlateColor color) | 设置车牌颜色 |
| trafficSpeed(boolean enable) | 设置是否返回路线实时路况(蚯蚓线)信息 |
| setExtraFields(String… extraFields) | 设置扩张字段 |
| setTagMode(TagMode tagMode) | 设置返回Tag标签模式 |
| setMultRoute(int multRoute) | 是否返回多条路线方案(目前支持同时返回3条) |
| setNoStep(int noStep) | 是否返回路线步骤 |
| setNoPolyline(int noPolyline) | 是否返回路线坐标点串 |
路线规划获取的检索结果由参数 listener 异步返回。当 HttpResponseListener.onSuccess 正常返回时,应将 BaseObject 强转为 DrivingResultObject(驾车)、WalkingResultObject(步行)、BicyclingResultObject(骑行) 、 TransitResultObject(公交)、TruckingResultObject(货车) 进行解析,包含的数据请参考 接口文档, 当 HttpResponseListener.onFailure 返回时,请用户根据的状态码和错误信息检查自己的参数输入:
| 状态码 | 错误信息 |
|---|---|
| -1 | AndroidManifest 中找不到腾讯地图的开发者密钥 |
| 310 | 请求参数信息有误 |
| 311 | Key格式错误 |
| 306 | 请求有护持信息请检查字符串 |
| 110 | 请求来源未被授权 |
路线规划的数据较为复杂,这里列出数据结构供用户参考使用
| 名称 | 说明 | |||
|---|---|---|---|---|
| result | 不为空说明取到了路线数据 | |||
| Result.routes | 路线规划的方案集合 | |||
| Route.distance | 路线的距离,单位:米 | |||
| Route.duration | 预计所需时间,单位:分钟 | |||
| Route.mode | 路径的类型,这里只有DRIVING | |||
| Route.polyline | 路线坐标点串 | |||
| Route.restriction | 限行信息 | |||
| Route.tags | 路线策略 仅当设置需要返回多条路线时返回,且为非必有值 | |||
| Route.taxi_fare | 预估打车费 | |||
| Route.waypoints | 设置的途经点 | |||
| Route.steps | 路线分解后的详细步骤集合 | |||
| Step.accessorial_desc | 附加信息,可能为空,如“进入北四环西路”,"到达终点"等 | |||
| Step.act_desc | 本段结束时的动作,如“右转” | |||
| Step.dir_desc | 本段的方向,如“北” | |||
| Step.distance | 本段的长度,单位:米 | |||
| Step.instruction | 本段的默认信息,如“向北步行100m,右转进入北四环西路” | |||
| Step.polyline_idx | 本段的起点和终点在点串中的位置 | |||
| Step.road_name | 本段的路名,如“彩和坊路” | |||
步行、骑行的返回结果数据结构与驾车基本一致,返回的数据可查询 接口文档
公交
TransitResultObject
| 名称 | 说明 | ||||||
|---|---|---|---|---|---|---|---|
| result | 不为空说明取到了路线数据 | ||||||
| Result.routes | 路线规划的方案集合 | ||||||
| Route.bounds | 路线在地图上的经纬度范围 | ||||||
| Route.distance | 路线的距离,单位:米 | ||||||
| Route.duration | 预计所需时间,单位:分钟 | ||||||
| Route.steps | 当前路线方案的换乘\步行集合 | ||||||
| mode | 当前路段类型 包括 WALKING 和 TRANSIT | ||||||
| WALKING | direction | 本段的方向,如“北” | |||||
| distance | 本段的距离,单位:米 | ||||||
| duration | 预计用时,单位:分钟 | ||||||
| polyline | 路线坐标点串 | ||||||
| accessorial_desc | 本段的附加信息 | ||||||
| steps | 路线分解后的详细步骤 | ||||||
| instruction | 本段的默认信息,如“向北步行100m,右转进入北四环西路” | ||||||
| polyline_idx | 本段的起点和终点在点串中的位置 | ||||||
| road_name | 本段的路名,如“彩和坊路” | ||||||
| dir_desc | 本段的方向,如“北” | ||||||
| distance | 本段的长度,单位:米 | ||||||
| act_desc | 本段结束时的动作,如“右转” | ||||||
| accessorial_desc | 附加信息,可能为空,如“进入北四环西路”,"到达终点"等 | ||||||
| TRANSIT | lines | 乘车线路集合 | |||||
| vehicle | 线路类型,“RAIL”,“BUS”,“SUBWAY”三者之一 | ||||||
| id | 线路id | ||||||
| title | 线路名称,如“1”、“地铁1号线”等 | ||||||
| station_count | 本段中经过的站点数目 | ||||||
| price | 阶段路线所花费用 | ||||||
| destination | 终点站,用于表示乘坐线路的方向 | ||||||
| distance | 距离,单位:米 | ||||||
| duration | 预计用时,单位:分钟 | ||||||
| polyline | 路线的坐标点串,用于将线路绘制到地图上,需要注意的是这个只需要取lines中的第一个元素。 比如在公交路线中,两个站点间有多条线路选择,而且走的路线时相同的时,就会被归于同一个lines列表中。 | ||||||
| geton | 上车站 | ||||||
| id | 车站id | ||||||
| title | 车站名称 | ||||||
| latLng | 车站坐标 | ||||||
| exit | 出口信息 | ||||||
| getoff | 下车站 | ||||||
| id | 车站id | ||||||
| title | 车站名称 | ||||||
| latLng | 车站坐标 | ||||||
| exit | 出口信息 | ||||||
| stations | 经停站 | ||||||
| id | 车站id | ||||||
| title | 车站名称 | ||||||
| latLng | 车站坐标 | ||||||
| 名称 | 说明 | |||
|---|---|---|---|---|
| result | 不为空说明取到了路线数据 | |||
| Result.routes | 路线规划的方案集合 | |||
| Route.distance | 路线的距离,单位:米 | |||
| Route.duration | 预计所需时间,单位:分钟 | |||
| Route.mode | 路径的类型,TRUCKING | |||
| Route.polyline | 路线坐标点串 | |||
| Route. routeId | 路线ID | |||
| Route.tags | 方案标签,无标签时值为空 | |||
| Route. toll | 预估过路费 | |||
| Route. trafficSpeeds | 路况信息,只有设置了trafficSpeed才返回 | |||
| TrafficSpeed.distance | 距离,单位:米 | |||
| TrafficSpeed.level | 路况类型 0:畅通 1:缓行 2:拥堵 3:无路况 4:严重拥堵 | |||
| TrafficSpeed.polyline_idx | 阶段路线坐标点串,在路线坐标点串的位置 | |||
| TrafficSpeed.speed | 路况速度, 单位:千米/小时 | |||
| Route.steps | 路线分解后的详细步骤集合 | |||
| Step.accessorial_desc | 附加信息,可能为空,如“进入北四环西路”,"到达终点"等 | |||
| Step.act_desc | 本段结束时的动作,如“右转” | |||
| Step.dir_desc | 本段的方向,如“北” | |||
| Step.distance | 本段的长度,单位:米 | |||
| Step.instruction | 本段的默认信息,如“向北步行100m,右转进入北四环西路” | |||
| Step.polyline_idx | 本段的起点和终点在点串中的位置 | |||
| Step.road_name | 本段的路名,如“彩和坊路” | |||
| Step.type | 阶段路线的步行设施类型(type),包含: 0普通道路,1过街天桥,2地下通道,3人行横道 | |||
路线规划的接口用请参考 demo。
有帮助
没帮助