direction(options:Object)

提供路线规划能力。
        1. 驾车(driving):支持结合实时路况、少收费、不走高速等多种偏好,精准预估到达时间(ETA);
        2. 步行(walking):基于步行路线规划。
        3. 骑行(bicycling):基于自行车的骑行路线;
        4. 公交(transit):支持公共汽车、地铁等多种公共交通工具的换乘方案计算;

注:坐标系采用gcj02坐标系

路线规划功能仅适用于   jssdk v1.2   请前往首页下载最新版本SDK

options属性说明

参数 类型 必填 说明
驾车,步行,骑行,公交路线规划公共参数:
mode String 路线规划选择,可选值:'driving'(驾车)、'walking'(步行)、'bicycling'(骑行)、'transit'(公交),默认:'driving'
from String 位置坐标, ①String格式:lat<纬度>,lng<经度>(例:from: '39.984060,116.307520')
②Object格式:
{
latitude: 纬度,
longitude: 经度
}
(例:from: {
latitude: 39.984060,
longitude: 116.307520
})
默认是当前位置
to String 位置坐标,
①String格式:lat<纬度>,lng<经度>(例:location: '39.984060,116.307520')
②Object格式:
{
latitude: 纬度,
longitude: 经度
}
(例:to: {
latitude: 39.984060,
longitude: 116.307520
})
sig String 签名校验
开启WebServiceAPI签名校验的必传参数,只需要传入生成的SK字符串即可,不需要进行MD5加密操作
driving其他参数:
from_poi Number 起点POI ID,传入后,优先级高于from(坐标)
示例:from_poi:4077524088693206111
heading Number [from辅助参数]在起点位置时的车头方向,数值型,取值范围0至360(0度代表正北,顺时针一周360度)
传入车头方向,对于车辆所在道路的判断非常重要,直接影响路线计算的效果
示例:heading:175
speed Number [from辅助参数]速度,单位:米/秒,默认3。 当速度低于1.39米/秒时,heading将被忽略
示例:speed:5
accuracy Number [from辅助参数]定位精度,单位:米,取>0数值,默认5。 当定位精度>30米时heading参数将被忽略
示例:accuracy:30
road_type Number [from辅助参数] 起点道路类型,可选值:
0 [默认]不考虑起点道路类型
1 在桥上;2 在桥下;3 在主路;4 在辅路;5 在对面;6 桥下主路;7 桥下辅路
from_track String 起点轨迹:
在真实的场景中,易受各种环境及设备精度影响,导致定位点产生误差,传入起点前段轨迹,可有效提升准确度。
优先级:高于from参数
轨迹中的每个定位点包含以下信息:
1.纬度
2.经度
3.速度:GPS速度,单位 米/秒,取不到传-1
4.精度:GPS精度, 单位毫米,取不到传-1
5.运动方向: gps方向,正北为0, 顺时针夹角,[0-360),获取不到时传-1
6.设备方向:正北为0, 顺时针夹角,[0-360),取不到传-1
7.时间:定位获取该点的时间,Unix时间戳,取不到传0
参数格式:
1.轨迹中最多支持传入50个点。
2.每个点之间英文分号分隔,时间顺序由旧到新(第一个点最早获取,最后一个点最新得到)
3.每个点中的信息用英文逗号分隔,并按以下顺序传入:
纬度,经度,速度,精度,运动方向,设备方向,时间;第2个点;第2个点……
示例:from_track:'40.037029,116.316633,16,500,160,-1,1529491290;40.036634,116.317170,16,500,161,-1,
1529491300;40.035977,116.317663,16,500,159,-1,1529491310;40.035706,116.318328,16,500,160,-1,1529491320;
40.035090,116.319058,16,500,160,-1,1529491330;40.034852,116.319820,16,500,160,-1,1529491340'
to_poi Number 终点POI ID(可通过腾讯位置服务地点搜索服务得到),当目的地为较大园区、小区时,会以引导点做为终点(如出入口等),体验更优。
该参数优先级高于to(坐标),但是当目的地无引导点数据或POI ID失效时,仍会使用to(坐标)作为终点
示例:to_poi:5371594408805356897
waypoints String 途经点,格式:lat1,lng1;lat2,lng2;… 最大支持10个
示例:waypoints:39.951004,116.571980
policy String 一、策略参数(以下三选一)
LEAST_TIME:[默认]参考实时路况,时间最短
PICKUP:网约车场景 – 接乘客
TRIP:网约车场景 – 送乘客
二、单项偏好参数
(可与策略参数并用,可多选,逗号分隔)
REAL_TRAFFIC:参考实时路况
LEAST_FEE:少收费
AVOID_HIGHWAY:不走高速
NAV_POINT_FIRST: 该策略会通过终点坐标查找所在地点(如小区/大厦等),并使用地点出入口做为目的地,使路径更为合理
示例:policy:'LEAST_TIME'或者 policy:'LEAST_TIME,AVOID_HIGHWAY'
plate_number String 车牌号,填入后,路线引擎会根据车牌对限行区域进行避让,不填则不不考虑限行问题
示例:plate_number:京X309KX
transit其他参数:
departure_time Number 出发时间,默认使用当前时间,用于过滤掉非运营时段的线路
示例:departure_time:1509357129
policy String 1) 排序策略,以下三选一:
policy=LEAST_TIME:时间短(默认)
policy=LEAST_TRANSFER:少换乘
policy=LEAST_WALKING:少步行
2) 额外限制条件
(可与排序策略配合使用,如:policy=LEAST_TRANSFER,NO_SUBWAY):
NO_SUBWAY ,不坐地铁
示例:policy:'LEAST_TIME' 或者 policy:'LEAST_TIME,AVOID_HIGHWAY'

调用结果

通过属性success, fail, complete的回调参数来接收调用结果

success的回调参数可以有2个,第1个参数接收调用结果,第2个参数控制返回处理后的数据(非必须参数),示例:success:function(res,data)

driving返回结果

名称 类型 必填 说明
status number 状态码,正常为0
message string 状态说明
result object 搜索结果
routes array 路线方案
mode string 方案交通方式,固定值:"DRIVING"
tags array 方案标签,用于表明方案特点
示例:tags:["LEAST_LIGHT"]
取值:
EXPERIENCE 经验路线
RECOMMEND 推荐路线
LEAST_LIGHT 红绿灯少
LEAST_TIME 时间最短
LEAST_DISTANCE 距离最短
distance number 方案总距离
duration number 方案估算时间(含路况)
restriction object 限行信息
status number 限行状态码:
0 途经没有限行城市,或路线方案未涉及限行区域
1 途经包含有限行的城市
3 [设置车牌] 已避让限行
4 [设置车牌] 无法避开限行区域(本方案包含限行路段)
polyline array 方案路线坐标点串(该点串经过压缩,解压请参考:polyline 坐标解压
waypoints array 途经点,顺序与输入waypoints一致 (输入waypoints时才会有此结点返回)
title string 途经点路名
location object 途经点坐标
lat number 纬度
lng number 经度
taxi_fare object 预估打车费
fare number 预估打车费用,单位:元
steps array 路线步骤
instruction string 阶段路线描述
polyline_idx array 阶段路线坐标点串在方案路线坐标点串的位置
road_name string 阶段路线路名
dir_desc string 阶段路线方向
distance number 阶段路线距离
act_desc string 阶段路线末尾动作:如:左转调头
accessorial_desc string 末尾辅助动作:如:到达终点

walking返回结果

名称 类型 必填 说明
status number 状态码,正常为0
message string 状态说明
result object 搜索结果
routes array 路线方案
mode string 方案交通方式,固定值:"WALKING"
distance number 方案整体距离(米)
duration number 方案估算时间(分钟)
direction string 方案整体方向
polyline array 方案路线坐标点串(该点串经过压缩,解压请参考:polyline 坐标解压)
steps array 路线步骤
instruction string 阶段路线描述
polyline_idx array 阶段路线坐标点串在方案路线坐标点串的位置
road_name string 阶段路线路名
dir_desc string 阶段路线方向
distance number 阶段路线距离
act_desc string 阶段路线末尾动作

bicycling返回结果

名称 类型 必填 说明
status number 状态码,正常为0
message string 状态说明
result object 搜索结果
routes array 路线方案
mode string 方案交通方式,固定值:"BICYCLING"
distance number 方案整体距离(米)
duration number 方案估算时间(分钟)
direction string 方案整体方向
polyline array 方案路线坐标点串(该点串经过压缩,解压请参考:polyline 坐标解压)
steps array 路线步骤
instruction string 阶段路线描述
polyline_idx array 阶段路线坐标点串在方案路线坐标点串的位置
road_name string 阶段路线路名
dir_desc string 阶段路线方向
distance number 阶段路线距离
act_desc string 阶段路线末尾动作

transit返回结果:

a.公交同城路线说明

路线根据交通工具的不同划分路段,如下图:

响应结果示例

b.跨城说明

路线跨城支持城市间的铁路路线规划,如图(A城火车站)b - c(B城火车站) 路线规划方案; 市内路线(如图a - b或c - d)需要使用mode = TRANSIT_FOLDER节点进行二次查询得到。

响应结果示例

polyline 坐标解压

导航路线点串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}
                    

注意事项

起点、终点、途经点若不在道路上,会自动吸附到附近的道路上:

示例(以驾车路线规划为例)

WXML 模板文件中添加组件: Javascript 关键代码片段(驾车、步行、骑行路线规划): Javascript 关键代码片段(公交路线规划,取第一条路线为示例):

接口调用说明

路线规划调用接口服务如下:

  • /ws/direction/v1/driving    路线规划:驾车
  • /ws/direction/v1/walking    路线规划:步行
  • /ws/direction/v1/transit    路线规划:公交
  • /ws/direction/v1/bicycling    路线规划:自行车

超过日调用量和并发数的开发者,可通过以下途径解决:
     1. 对于多频次的相同请求,可通过缓存结果,并定时访问更新的方式,减少对在线服务调用的依赖;
     2. 企业开发者的配额高于个人开发者,申请企业认证后,需要在控制台->配额申请中免费申请你需要的配额。
        我们将对您的申请进行评估并进行审批(3个工作日内),审批通过后将会获得您申请的配额。
     3. 对于切实需要大配额来满足应用需求的,请在控制台->配额管理中提交购买配额申请,我们的商务会与您取得联系。