本文主要对网约车分时预估价格服务进行介绍,包括信息传输方式、协议、具体信息等内容。
本服务以HTTPS方式进行访问。
本接口为高级接口,默认不可调用,使用请与腾讯位置服务商务人员取得联系,开放调用配额后,即可使用。
接口中的参数key和调用示例中的
如无特殊说明,所有接口的输入参数和输出参数编码全部统一为UTF-8。
提供网约车场景下的费用预估功能,同时支持分时费用预估。
开发者可以通过设定起终点坐标和出发时间来获取行程的预估里程,耗时和打车费用。若开发者同时设置了分时计算的时间区间,也可获取分时预估里程和时间。据此,开发者可以结合自身定价策略计算行程预估价格。
URL: https://apis.map.qq.com/ws/tls/v1/route/price
Method: POST
Content-Type: application/json
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
| key | 必 | string | 客户注册的访问webservice的key |
| reqid | 必 | string | 请求接口的请求id,需要全局唯一,推荐使用UUID生成 |
| reqtime | 必 | long | 请求时间,调用方服务器请求接口时的本地时间,单位:秒 |
| departure_time | 必 | long | 网约车预计出发时间,单位:秒 |
| getin_lnglat | 必 | string | 上车点位置经纬度 格式:lng(精度),lat(纬度),精度与纬度用英文逗号分隔,小数点后不得超过6位,单次只可以传入一组经纬度坐标对 例如:116.319820, 40.034852 |
| from_poi | 否 | string | 起点POI ID,传入后,优先级高于getin_lnglat(坐标) 例如:from_poi=4077524088693206111 |
| getoff_lnglat | 必 | string | 下车点位置经纬度 格式:lng(精度),lat(纬度),精度与纬度用英文逗号分隔,小数点后不得超过6位,单次只可以传入一组经纬度坐标对 例如:116.319820,40.034852 |
| to_poi | 否 | string | 终点POI ID(可通过腾讯位置服务地点搜索服务得到) 当目的地为较大园区、小区时,会以引导点做为终点(如出入口等),体验更优。 该参数优先级高于getoff_lnglat(坐标),但是当目的地无引导点数据或POI ID失效时,仍会使用to(坐标)作为终点 例如:to_poi=5371594408805356897 |
| time_config | 必 | string | 分时计算的时间区间,从小到大设置小时,每个需要5位长度 例如:07:00,10:00,17:00,20:00,22:00 从小到大设置区间段,区间段不允许重叠,区间之间逗号分隔,区间的开始结束采用-分隔 例如:07:00-10:00,17:00-20:00,系统会自动分解成07:00-10:00,10:00-17:00,17:00-20:00,20:00-07:00环形区间返回 |
| waypoints | 否 | string | 途经点,格式:lng1,lat1;lng2,lat2;… 最大支持30个,超过30个之后的将被忽略 注:use_matrix设置为0的情况下,可设置途经点 例如:waypoints=116.571980,39.951004;116.319820,40.034852 |
| policy | 否 | string | 设置策略 一、策略参数(以下三选一) LEAST_TIME [默认]参考实时路况,时间最短 LEAST_DISTANCE 距离最短 PICKUP 网约车场景 – 接乘客 TRIP 网约车场景 – 送乘客 二、单项偏好参数 (可与策略参数并用,可多选,逗号分隔) REAL_TRAFFIC 参考实时路况 LEAST_FEE 少收费 AVOID_HIGHWAY 不走高速 NAV_POINT_FIRST 该策略会通过终点坐标查找所在地点(如小区/大厦等),并使用地点出入口做为目的地,使路径更为合理 例如:policy= LEAST_TIME, REAL_TRAFFIC |
| use_matrix | 否 | int | 是否使用距离矩阵算路,取值: 0 : 不使用[默认] 1:使用 默认为0,使用路线规划算路,如果此参数为1,则time_config参数不生效 |
| price_per_distance | 否 | double | 里程定价,单位:元/公里 |
| price_per_minute | 否 | double | 时间定价,单位:元/分钟 |
| added_fields | 否 | string | 返回指定附加字段 ,取值: route_id:路线ID,用于乘客选路时使用,传给司机端导航sdk可按所选路线进行导航 nav_session_id:导航算路会话ID,乘客选路需要同时传给司机端导航sdk 例如:added_fields=route_id,nav_session_id |
| is_cache | 否 | double | 服务器是否缓存算路结果,取值: 0 不存 1 缓存(乘客选路功能必须传1,缓存后,司机端导航SDK在算路时会从服务端取出所选路线,进行导航) |
| 名称 | 类型 | 必填 | 说明 | ||||
|---|---|---|---|---|---|---|---|
| status | int | 必 | 状态码,0正常返回,表示接受到正常信息 | ||||
| message | string | 必 | 错误信息 | ||||
| data | object | 必 | 接口返回信息 | ||||
| status | int | 必 | 状态码,0正常返回,表示接受到正常信息 | ||||
| message | stirng | 必 | 错误信息 | ||||
| request_id | string | 否 | 请求id,后续追溯问题需要此信息,仅use_matrix为默认值0时返回此字段 | ||||
| nav_session_id | string | 否 | 通过added_fields=参数控制返回本字段,默认不返回,用于乘客选路功能 | ||||
| routes | array | 必 | 多路线预估价格 | ||||
| route_id | double | 否 | 通过added_fields=参数控制返回本字段,默认不返回,用于乘客选路功能 | ||||
| distance | double | 必 | 预估总里程,单位:米 | ||||
| duration | int | 必 | 预估总耗时,单位:秒 | ||||
| fare | double | 必 | 预估乘车费用,单位:分 | ||||
| tolls | double | 必 | 途中高速费,单位:分 | ||||
| polyline | array | 必 | 方案路线坐标点串(该点串经过压缩,解压请参考后文:Polyline 坐标解压),仅use_matrix为默认值0时返回此字段 | ||||
| time_res | array | 否 | 分时里程数组; 如果请求中未传time_config,系统会按照07:00,10:00,17:00,20:00,22:00进行计算返回 |
||||
| time_start | string | 必 | 分时区间开始时间,例如: 22:00 | ||||
| time_end | string | 必 | 分时区间结束时间,例如: 07:00 | ||||
| zone_start | string | 必 | 分时区间开始时间,包含日期 例如: 2019-07-31 22:00:00 |
||||
| zone_end | string | 必 | 分时区间结束时间,包含日期 例如: 2019-08-01 07:00:00 |
||||
| start | string | 必 | 该时间段的计费开始时间 例如: 2019-07-31 22:31:24 |
||||
| end | string | 必 | 该时间段的计费结束时间 例如: 2019-07-31 23:16:24 |
||||
| distance | double | 必 | 该时间段的计费里程,单位:米,例如:20578 | ||||
| duration | int | 必 | 该时间段的计费时间,单位:秒,例如:1981 | ||||
Methond:POST
Content-Type: application/json
URL: https://apis.map.qq.com/ws/tls/v1/route/price
{
"key": "<key>",
"reqid":"5e9da870-f231-11e8-afed-6c0b84ab3034",
"reqtime":1578369038,
"departure_time":1578369038,
"getin_lnglat":"116.410266,39.988955",
"getoff_lnglat":"116.658524,40.113174",
"use_matrix":1,
"price_per_distance":12.5,
"price_per_minute":2.3
}
{
"status": 0,
"message": "query ok",
"data": {
"status": 0,
"message": "ok",
"routes": [
{
"distance": 34746,
"duration": 2452,
"fare": 52831,
"tolls": 0
}
]
}
}
导航路线点串coors(注:coors为polyline的坐标串)使用前向差分进行压缩,使用时解压方法如下:
var coors=[127.496637,50.243916,-345,-1828,19867,-26154];
for (var i = 2; i < coors.length ; i++){
coors[i] = coors[i-2] + coors[i]/1000000
}
/**
*例如路线点串coors=[127.496637,50.243916,-345,-1828,19867,-26154]
*由以上公式可以得出坐标点串为
*[127.496637,50.243916,127.496292,50.242088,127.516159,50.215934]
**/
如需查询返回值中的status和message的具体对应关系,请查看文档《开放平台错误对照表》。
有帮助
没帮助