概述

腾讯地图Direction API提供步行(walking),驾车(driving),公交(transit)三种出行方式的路线规划服务。

1)驾车(driving)路线规划

该请求为GET请求

http://apis.map.qq.com/ws/direction/v1/driving/?from=39.915285,116.403857&to=39.915285,116.803857&waypoints=39.111,116.112;39.112,116.113&output=json&callback=cb&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

请求参数

参数 必填 说明 示例
from 起点位置,格式:lat,lng from=39.915285,116.403857
to 终点位置,格式:lat,lng to=39.915285,116.803857
waypoints 途经点,格式:lat1,lng1;lat2,lng2;… waypoints=39.111,116.112;39.112,116.113
policy 路线规划优先条件 policy=LEAST_TIME:速度优先
policy=LEAST_FEE:少收费
policy=REAL_TRAFFIC:结合路况,最优路线
key 开发密钥(Key) key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
output 返回格式:支持JSON/JSONP,默认JSON output=json
callback JSONP方式回调函数 callback=function1

响应结果

名称 类型 必填 说明
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 方案估算时间(含路况)
direction string 方案整体方向
polyline array 方案路线坐标点串(该点串经过压缩,解压请参考:polyline 坐标解压
waypoints array 途经点,顺序与输入waypoints一致 (输入waypoints时才会有此结点返回)
title string 途经点路名
location array 途经点坐标
lat number 纬度
lng number 经度
steps array 路线步骤
instruction string 阶段路线描述
polyline_idx array 阶段路线坐标点串在方案路线坐标点串的位置
road_name string 阶段路线路名
dir_desc string 阶段路线方向
distance number 阶段路线距离
duration number 阶段路线估算时间
act_desc string 阶段路线末尾动作:如:左转调头
accessorial_desc string 末尾辅助动作:如:到达终点

响应结果示例

2)步行(walking)路线规划

该请求为GET请求

http://apis.map.qq.com/ws/direction/v1/walking/?from=39.915285,116.403857&to=39.915285,116.803857&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

请求参数

参数 必填 说明 示例
from 起点位置,格式:lat,lng from=39.915285,116.403857
to 终点位置,格式:lat,lng to=39.915285,116.803857
key 开发Key key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
callback 回调函数 callback=cb
output 返回值类型:JSON 、 JSONP output=json

响应结果

名称 类型 必填 说明
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 阶段路线末尾动作

响应结果示例

3)公交(transit)路线规划

请求参数

参数 必填 说明 示例
from 起点位置,格式:lat,lng from=39.915285,116.403857
to 终点位置,格式:lat,lng to=39.915285,116.803857
key 开发key key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
callback 回调函数 callback=cb
output 返回值类型:JSON 、 JSONP output=json
policy 路线规划优先条件 1) 排序策略,以下三选一:
policy=LEAST_TIME:时间短(默认)
policy=LEAST_TRANSFER:少换乘
policy=LEAST_WALKING:少步行
2) 额外限制条件
(可与排序策略配合使用,如:policy=LEAST_TRANSFER,NO_SUBWAY):
NO_SUBWAY ,不坐地铁

响应结果:

a.公交同城路线说明

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

该请求为GET请求

http://apis.map.qq.com/ws/direction/v1/transit/?from=40.015109,116.313543&to=40.151850,116.296881&policy=LEAST_TIME&output=jsonp&callback=callback_function&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

响应结果示例

b.跨城说明

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

该请求为GET请求

http://apis.map.qq.com/ws/direction/v1/transit/?from=39.864990,116.379010&to=31.225480,121.492580&policy=LEAST_TIME&output=jsonp&callback=callback_function&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

响应结果示例

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}

注意事项

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