聚美智数


公交路线规划

<h3>接口描述</h3> <ul> <li>可根据起终点坐标检索符合条件的公共交通路线规划方案,支持结合业务场景设置不同的公交换乘策略。</li> </ul> <h3>请求地址</h3> <p><code>https://api.jumdata.com/route/public-transit</code></p> <h3>请求方式</h3> <ul> <li>GET/POST</li> </ul> <h3>请求格式</h3> <ul> <li>x-www-form-urlencoded</li> </ul> <h3>请求参数</h3> <table> <thead> <tr> <th>名称</th> <th>类型</th> <th>是否必填</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>appid</td> <td>String</td> <td>是</td> <td>服务商分配的唯一标识</td> </tr> <tr> <td>timestamp</td> <td>Long</td> <td>是</td> <td>当前时间的毫秒数</td> </tr> <tr> <td>sign</td> <td>String</td> <td>是</td> <td>签名,详见签名算法说明</td> </tr> <tr> <td>origin</td> <td>String</td> <td>是</td> <td>起点经纬度 经度在前,纬度在后,经度和纬度用&quot;,&quot;分割,经纬度小数点后不得超过6位</td> </tr> <tr> <td>destination</td> <td>String</td> <td>是</td> <td>目的地经纬度 经度在前,纬度在后,经度和纬度用&quot;,&quot;分割,经纬度小数点后不得超过6位</td> </tr> <tr> <td>origAddCode</td> <td>String</td> <td>否</td> <td>起点所在行政区域编码 参考国家行政区域编码表</td> </tr> <tr> <td>destAddCode</td> <td>String</td> <td>否</td> <td>终点所在行政区域编码 参考国家行政区域编码表</td> </tr> <tr> <td>origCityCode</td> <td>String</td> <td>是</td> <td>起点所在城市 仅支持citycode,参考国家行政区域编码表 相同时代表同城,不同时代表跨城 譬如西湖区citycode为330106</td> </tr> <tr> <td>destCityCode</td> <td>String</td> <td>是</td> <td>目的地所在城市 仅支持citycode,参考国家行政区域编码表 相同时代表同城,不同时代表跨城 譬如西湖区citycode为330106</td> </tr> <tr> <td>strategy</td> <td>String</td> <td>否</td> <td>公共交通换乘策略 &lt;br/&gt; 可选值:&lt;br/&gt;0:推荐模式,综合权重&lt;br/&gt;1:最经济模式,票价最低&lt;br/&gt;2:最少换乘模式,换乘次数少&lt;br/&gt;3:最少步行模式,尽可能减少步行距离&lt;br/&gt;4:最舒适模式,尽可能乘坐空调车&lt;br/&gt;5:不乘地铁模式,不乘坐地铁路线&lt;br/&gt;7:地铁优先模式,步行距离不超过4KM&lt;br/&gt;8:时间短模式,方案花费总时间最少&lt;br/&gt;</td> </tr> <tr> <td>alternativeRoute</td> <td>String</td> <td>否</td> <td>返回方案条数 可传入1-10的阿拉伯数字,代表返回的不同条数</td> </tr> <tr> <td>multiexPort</td> <td>String</td> <td>否</td> <td>地铁出入口数量 &lt;br&gt;0:只返回一个地铁出入口&lt;br&gt;1:返回全部地铁出入口&lt;br&gt;</td> </tr> <tr> <td>maxTrans</td> <td>String</td> <td>否</td> <td>最大换乘次数&lt;br&gt;0:直达&lt;br&gt;1:最多换乘1次&lt;br&gt;2:最多换乘2次&lt;br&gt;3:最多换乘3次&lt;br&gt;4:最多换乘4次&lt;br&gt;</td> </tr> <tr> <td>nightFlag</td> <td>String</td> <td>否</td> <td>考虑夜班车&lt;br&gt;0:不考虑夜班车&lt;br&gt;1:考虑夜班车&lt;br&gt;</td> </tr> <tr> <td>date</td> <td>String</td> <td>否</td> <td>请求日期 例如:2013-10-28</td> </tr> <tr> <td>time</td> <td>String</td> <td>否</td> <td>请求时间 例如:9-54</td> </tr> <tr> <td>showFields</td> <td>String</td> <td>否</td> <td>返回结果控制,用来筛选接口返回结果中是否出现哪些字段。&lt;/br&gt;show_fields的使用需要遵循如下规则:&lt;/br&gt;1、具体可指定返回的字段类型有:&lt;/br&gt;cost&lt;/br&gt;navi&lt;/br&gt;polyline&lt;/br&gt;任选一个或多个作为入参值,即可在返回结果中显示。&lt;/br&gt;2、多个值间采用“,”进行分割;&lt;/br&gt;3、show_fields未设置、为空时,只返回基础信息类内字段;&lt;/br&gt;</td> </tr> </tbody> </table> <h3>签名算法</h3> <pre><code>sign = sha256( appId + appSecret + timestamp)</code></pre> <p>用服务商分配的 appId、服务商分配的 appSecret,当前时间毫秒数 timestamp,按上述顺序拼接成字符串,再进行 sha256 哈希得到。如下:</p> <pre><code class="language-java">String appId = &amp;quot;xyzxy2121zxyz&amp;quot;; String timestamp = &amp;quot;1555378976238&amp;quot;; String appSecret = &amp;quot;efcefcef1121cefcefc1212121&amp;quot;; String str = appId + appSecret + timestamp; String sign = sha256(str);</code></pre> <h3>正确返回样例</h3> <pre><code>{ &amp;quot;code&amp;quot;: 200,// 返回码,详见返回码说明 &amp;quot;msg&amp;quot;: &amp;quot;成功&amp;quot;,// 返回码对应描述 &amp;quot;taskNo&amp;quot;: &amp;quot;697790392161452073342933&amp;quot;,// 本次请求号 &amp;quot;charge&amp;quot;: true,// 计费标志 &amp;quot;data&amp;quot;: { &amp;quot;strategyNum&amp;quot;: &amp;quot;2&amp;quot;,//路径规划方案总数 &amp;quot;strategyList&amp;quot;: { &amp;quot;cost&amp;quot;: { &amp;quot;taxi_fee&amp;quot;: &amp;quot;32&amp;quot; }, &amp;quot;distance&amp;quot;: &amp;quot;163755&amp;quot;,//本条路线的总距离,单位:米 &amp;quot;origin&amp;quot;: &amp;quot;120.10910,30.27714&amp;quot;, //起点经纬度 &amp;quot;destination&amp;quot;: &amp;quot;121.63084,29.86607&amp;quot;,//终点经纬度 &amp;quot;transits&amp;quot;: [ //公交方案列表 { &amp;quot;cost&amp;quot;: { &amp;quot;duration&amp;quot;: &amp;quot;8040&amp;quot;, &amp;quot;transit_fee&amp;quot;: &amp;quot;79.000000&amp;quot; }, &amp;quot;distance&amp;quot;: &amp;quot;179370&amp;quot;,//本条路线的总距离,单位:米 &amp;quot;nightflag&amp;quot;: &amp;quot;&amp;quot;,//0:非夜班车;1:夜班车 &amp;quot;segments&amp;quot;: [ { &amp;quot;walking&amp;quot;: {//步行方案信息 &amp;quot;distance&amp;quot;: &amp;quot;621&amp;quot;,//每段线路步行距离 单位:米 &amp;quot;origin&amp;quot;: &amp;quot;120.215919,30.294054&amp;quot;,//起点坐标 &amp;quot;destination&amp;quot;: &amp;quot;120.212502,30.290972&amp;quot;,//终点坐标 &amp;quot;duration&amp;quot;: &amp;quot;100000&amp;quot;,//步行预计时间 单位:秒 &amp;quot;cost&amp;quot;: {//设置后可返回方案所需时间及费用成本,需传showFields才可返回 &amp;quot;duration&amp;quot;: &amp;quot;951&amp;quot;//线路耗时,方案总耗时,包含等车时间 }, &amp;quot;steps&amp;quot;: [//步行路段列表 { &amp;quot;distance&amp;quot;: &amp;quot;87&amp;quot;,//此段路的距离 &amp;quot;road&amp;quot;: &amp;quot;&amp;quot;,//路的名字 &amp;quot;instruction&amp;quot;: &amp;quot;步行87米左转&amp;quot;,//此段路的行走介绍 &amp;quot;duration&amp;quot;: &amp;quot;&amp;quot;,//此段路预计消耗时间 单位:秒 &amp;quot;polyline&amp;quot;: &amp;quot;&amp;quot;,//此段路的坐标 &amp;quot;action&amp;quot;: &amp;quot;&amp;quot;,//步行主要动作 &amp;quot;assistant_action&amp;quot;: &amp;quot;&amp;quot;, //步行辅助动作 &amp;quot;navi&amp;quot;: {//设置后可返回详细导航动作指令。需传showFields才可返回 &amp;quot;assistant_action&amp;quot;: &amp;quot;&amp;quot;,//导航辅助动作指令 &amp;quot;action&amp;quot;: &amp;quot;左转&amp;quot;,//导航主要动作指令 &amp;quot;walk_type&amp;quot;: &amp;quot;0&amp;quot;//算路结果中存在的道路类型:0:普通道路;1:人行横道;3:地下通道;4:过街天桥;5:地铁通道;6:公园;7:广场;8:扶梯;9:直梯;10:索道;11:空中通道;12:建筑物穿越通道;13:行人通道;14:游船路线;15:观光车路线;16:滑道;18:扩路;19:道路附属连接线;20:阶梯;21:斜坡;22:桥;23:隧道;30:轮渡; }, &amp;quot;polyline&amp;quot;: {//需传showFields才可返回 &amp;quot;polyline&amp;quot;: &amp;quot;120.109055,30.277231;120.108215,30.277187&amp;quot;//设置后可返回分路段坐标点串,两点间用“,”分隔 } } ] } }, { &amp;quot;railway&amp;quot;: { //火车换乘信息 &amp;quot;trip&amp;quot;: &amp;quot;G195&amp;quot;,//线路车次号 &amp;quot;distance&amp;quot;: &amp;quot;154600&amp;quot;,//该item换乘段的行车总距离 &amp;quot;name&amp;quot;: &amp;quot;G195(北京南-宁波)&amp;quot;,//线路名称 &amp;quot;id&amp;quot;: &amp;quot;101001614253&amp;quot;,//线路id编号 &amp;quot;time&amp;quot;: &amp;quot;2760&amp;quot;,//该线路车段耗时 &amp;quot;type&amp;quot;: &amp;quot;G字头的高铁火车&amp;quot;,//线路车次类型 &amp;quot;departure_stop&amp;quot;: { //火车始发站信息 &amp;quot;adcode&amp;quot;: &amp;quot;330102&amp;quot;,//上车站点所在城市的adcode &amp;quot;name&amp;quot;: &amp;quot;杭州东&amp;quot;,//上车站点名称 &amp;quot;start&amp;quot;: &amp;quot;0&amp;quot;,//是否始发站,1表示为始发站,0表示非始发站 &amp;quot;location&amp;quot;: &amp;quot;120.212600 30.290851&amp;quot;,//上车站点经纬度 &amp;quot;id&amp;quot;: &amp;quot;B023B08WDR&amp;quot;,//上车站点ID &amp;quot;time&amp;quot;: &amp;quot;2221&amp;quot;//上车点发车时间 }, &amp;quot;arrival_stop&amp;quot;: { //火车到站信息 &amp;quot;adcode&amp;quot;: &amp;quot;330203&amp;quot;,//下车站点所在城市的adcode &amp;quot;name&amp;quot;: &amp;quot;宁波&amp;quot;,//下车站点名称 &amp;quot;location&amp;quot;: &amp;quot;121.536807 29.861967&amp;quot;,//下车站点经纬度 &amp;quot;end&amp;quot;: &amp;quot;1&amp;quot;,//是否为终点站,1表示为终点站,0表示非终点站 &amp;quot;id&amp;quot;: &amp;quot;B023E0YC7M&amp;quot;,//下车站点ID &amp;quot;time&amp;quot;: &amp;quot;2307&amp;quot;//到站时间,如大于24:00,则表示跨天 }, &amp;quot;via_stop&amp;quot;: { //途径站点信息,extensions=all时返回 &amp;quot;name&amp;quot;: &amp;quot;宁波&amp;quot;,//途径站点的名称 &amp;quot;location&amp;quot;: &amp;quot;121.536807 29.861967&amp;quot;,//途径站点的坐标点 &amp;quot;id&amp;quot;: &amp;quot;B023E0YC7M&amp;quot;,//途径站点的ID &amp;quot;time&amp;quot;: &amp;quot;2307&amp;quot;//途径站点的进站时间,如大于24:00,则表示跨天 &amp;quot;wait&amp;quot;: &amp;quot;5&amp;quot;,//途径站点的停靠时间,单位:分钟 }, &amp;quot;alters&amp;quot;: { //聚合的备选方案,extensions=all时返回 &amp;quot;name&amp;quot;: &amp;quot;宁波&amp;quot;,//备选方案ID &amp;quot;id&amp;quot;: &amp;quot;B023E0YC7M&amp;quot;//备选线路名称 }, &amp;quot;spaces&amp;quot;: [//仓位及价格信息 { &amp;quot;code&amp;quot;: &amp;quot;&amp;quot;,//仓位编码 &amp;quot;cost&amp;quot;: &amp;quot;120&amp;quot;//仓位费用 } ] } }, { &amp;quot;bus&amp;quot;: {//公交方案信息 &amp;quot;buslines&amp;quot;: [//步行路段列表 { &amp;quot;start_time&amp;quot;: &amp;quot;&amp;quot;,//首班车时间 格式如:0600,代表06:00 &amp;quot;distance&amp;quot;: &amp;quot;2022&amp;quot;,//公交行驶距离 单位:米 &amp;quot;bustimetag&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;330200021780&amp;quot;,//公交路线id &amp;quot;type&amp;quot;: &amp;quot;地铁线路&amp;quot;,//公交类型 格式如:地铁线路 &amp;quot;bus_time_tips&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;轨道交通2号线(栎社国际机场--红联)&amp;quot;,//公交路线名称 &amp;quot;end_time&amp;quot;: &amp;quot;&amp;quot;,//末班车时间 格式如:2300,代表23:00 &amp;quot;via_num&amp;quot;: &amp;quot;1&amp;quot;,//此段途经公交站数 &amp;quot;departure_stop&amp;quot;: { //此段起乘站信息 格式如:中关村 &amp;quot;name&amp;quot;: &amp;quot;宁波火车站&amp;quot;,//站点名字 &amp;quot;location&amp;quot;: &amp;quot;121.537022,29.862141&amp;quot;,//站点经纬度 &amp;quot;id&amp;quot;: &amp;quot;330200021780011&amp;quot;,//站点id &amp;quot;entrance&amp;quot;: {//入口信息 &amp;quot;name&amp;quot;: &amp;quot;B口&amp;quot;,//入口名称 &amp;quot;location&amp;quot;: &amp;quot;121.537102,29.860975&amp;quot;//入口经纬度 }, &amp;quot;exit&amp;quot;: {//出口信息 &amp;quot;name&amp;quot;: &amp;quot;B口&amp;quot;,//出口名称 &amp;quot;location&amp;quot;: &amp;quot;121.537102,29.860975&amp;quot;//出口经纬度 } }, &amp;quot;arrival_stop&amp;quot;: {//此段下车站 格式如:中关村 &amp;quot;name&amp;quot;: &amp;quot;鼓楼&amp;quot;, //站点名字 &amp;quot;location&amp;quot;: &amp;quot;121.548970,29.873914&amp;quot;,//站点经纬度 &amp;quot;id&amp;quot;: &amp;quot;330200021780013&amp;quot;//站点id }, &amp;quot;via_stops&amp;quot;: [ //此段途经公交站点列表 { &amp;quot;name&amp;quot;: &amp;quot;城隍庙&amp;quot;, //途径公交站点信息 &amp;quot;location&amp;quot;: &amp;quot;121.548778,29.867124&amp;quot;,//公交站点经纬度 &amp;quot;id&amp;quot;: &amp;quot;330200021780012&amp;quot; //公交站点编号 } ], &amp;quot;cost&amp;quot;: {//设置后可返回方案所需时间及费用成本,需传showFields才可返回 &amp;quot;duration&amp;quot;: &amp;quot;1073&amp;quot;//线路耗时,方案总耗时,包含等车时间 }, &amp;quot;polyline&amp;quot;: {//需传showFields才可返回 &amp;quot;polyline&amp;quot;: &amp;quot;120.109629,30.281911;120.111323,30.281943;&amp;quot;//设置后可返回分路段坐标点串,两点间用“,”分隔 } } ] }, &amp;quot;taxi&amp;quot;: {//出租车方案信息 &amp;quot;price&amp;quot;: &amp;quot;338&amp;quot;,//打车预计花费金额 &amp;quot;drivetime&amp;quot;: &amp;quot;&amp;quot;,//打车预计花费时间 &amp;quot;distance&amp;quot;: &amp;quot;&amp;quot;,//打车距离 &amp;quot;polyline&amp;quot;: &amp;quot;&amp;quot;,//线路点集合,通过show_fields控制返回与否 &amp;quot;startpoint&amp;quot;: &amp;quot;&amp;quot;,//打车起点经纬度 &amp;quot;startname&amp;quot;: &amp;quot;&amp;quot;,//打车起点名称 &amp;quot;endpoint&amp;quot;: &amp;quot;&amp;quot;,//打车终点经纬度 &amp;quot;endname&amp;quot;: &amp;quot;&amp;quot;,//打车终点名称 } } ] } ] } } } </code></pre> <h3>错误返回样例</h3> <pre><code>{ &amp;quot;msg&amp;quot;: &amp;quot;起点经纬度不能为空&amp;quot;, &amp;quot;code&amp;quot;: 400 }</code></pre> <h3>返回字段说明</h3> <table> <thead> <tr> <th>字段名</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>code</td> <td>返回码,详见返回码说明</td> </tr> <tr> <td>msg</td> <td>code对应的描述</td> </tr> <tr> <td>charge</td> <td>是否计费</td> </tr> <tr> <td>taskNo</td> <td>本次请求号</td> </tr> <tr> <td>data</td> <td>返回具体结果,object类型,详见data返回字段说明</td> </tr> </tbody> </table> <h4>code 返回码说明</h4> <table> <thead> <tr> <th>code</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>200</td> <td>成功(计费)</td> </tr> <tr> <td>201</td> <td>查询坐标或规划点(包括起点、终点、途经点)在海外,但没有海外地图权限</td> </tr> <tr> <td>202</td> <td>查询信息存在非法内容</td> </tr> <tr> <td>203</td> <td>规划点(包括起点、终点、途经点)不在中国陆地范围内</td> </tr> <tr> <td>204</td> <td>划点(起点、终点、途经点)附近搜不到路</td> </tr> <tr> <td>205</td> <td>路线计算失败,通常是由于道路连通关系导致</td> </tr> <tr> <td>206</td> <td>起点终点距离过长</td> </tr> <tr> <td>400</td> <td>参数错误</td> </tr> <tr> <td>404</td> <td>接口地址不正确</td> </tr> <tr> <td>500</td> <td>系统维护,请稍候再试</td> </tr> <tr> <td>601</td> <td>接口未开通</td> </tr> <tr> <td>602</td> <td>账号停用</td> </tr> <tr> <td>603</td> <td>余额不足请充值</td> </tr> <tr> <td>606</td> <td>调用超限,请稍候再试</td> </tr> <tr> <td>607</td> <td>ip不在白名单</td> </tr> <tr> <td>609</td> <td>请求过于频繁,请稍候再试</td> </tr> <tr> <td>610</td> <td>请求超时</td> </tr> <tr> <td>999</td> <td>其他,以实际返回为准</td> </tr> </tbody> </table>

页面列表

ITEM_HTML