聚美智数


驾车路线规划

<h3>接口描述</h3> <ul> <li>可根据起终点坐标检索符合条件的驾车路线规划方案,支持一次请求返回多条路线结果、支持传入多个途经点、支持传入车牌规避限行、支持根据不同业务场景设置不同的算路策略等。</li> </ul> <h3>请求地址</h3> <p><code>https://api.jumdata.com/route/drive</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>originType</td> <td>String</td> <td>否</td> <td>起点处道路类型 填入此值可以辅助更精准的起点算路&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:环岛&lt;br/&gt;9:停车场内部&lt;br/&gt;</td> </tr> <tr> <td>strategy</td> <td>Integer</td> <td>否</td> <td>驾车算路策略&lt;br/&gt; 0:速度优先(只返回一条路线),此路线不一定距离最短&lt;br/&gt;1:费用优先(只返回一条路线),不走收费路段,且耗时最少的路线&lt;br/&gt;2:距离优先(只返回一条路线),仅走距离最短的路线,但是可能存在穿越小路/小区的情况&lt;br/&gt;3:速度优先(只返回一条路线),不走快速路,例如京通快速路&lt;br/&gt;32:默认,推荐 &lt;br/&gt;33:躲避拥堵&lt;br/&gt;34:高速优先&lt;br/&gt;35:不走高速&lt;br/&gt;36:少收费&lt;br/&gt;37:大路优先&lt;br/&gt;38:速度最快&lt;br/&gt;39:躲避拥堵+高速优先&lt;br/&gt;40:躲避拥堵+不走高速&lt;br/&gt;41:躲避拥堵+少收费&lt;br/&gt;42:少收费+不走高速&lt;br/&gt;43:躲避拥堵+少收费+不走高速&lt;br/&gt;44:躲避拥堵+大路优先&lt;br/&gt;45:躲避拥堵+速度最快&lt;br/&gt;</td> </tr> <tr> <td>waypoints</td> <td>String</td> <td>否</td> <td>途经点 途径点坐标串,默认支持1个有序途径点。多个途径点坐标按顺序以英文分号;分隔。最大支持16个途经点</td> </tr> <tr> <td>avoidpolygons</td> <td>String</td> <td>否</td> <td>避让区域 区域避让,默认支持1个避让区域,每个区域最多可有16个顶点;多个区域坐标按顺序以英文竖线符号分隔,如果是四边形则有四个坐标点,如果是五边形则有五个坐标点;最大支持32个避让区域。同时传入避让区域及避让道路,仅支持避让道路;每个避让区域不能超过81平方公里,否则避让区域会失效</td> </tr> <tr> <td>avoidroad</td> <td>String</td> <td>否</td> <td>避让道路名 只支持一条避让道路</td> </tr> <tr> <td>plate</td> <td>String</td> <td>否</td> <td>车牌号码 车牌号,如 京AHA322,支持6位传统车牌和7位新能源车牌,用于判断限行相关</td> </tr> <tr> <td>carType</td> <td>String</td> <td>否</td> <td>车辆类型&lt;br/&gt; 0:普通燃油汽车&lt;br/&gt;1:纯电动汽车&lt;br/&gt;2:插电式混动汽车&lt;br/&gt;</td> </tr> <tr> <td>ferry</td> <td>String</td> <td>否</td> <td>是否使用轮渡&lt;br/&gt;0:使用渡轮&lt;br/&gt;1:不使用渡轮&lt;br/&gt;</td> <td> </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;tmcs&lt;/br&gt;navi&lt;/br&gt;cities&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;786758979152547317551847&amp;quot;,// 本次请求号 &amp;quot;charge&amp;quot;: true,// 计费标志 &amp;quot;data&amp;quot;: { &amp;quot;strategyNum&amp;quot;: &amp;quot;1&amp;quot;,//路径规划方案总数 &amp;quot;strategyList&amp;quot;: { //返回的规划方案列表 &amp;quot;paths&amp;quot;: [ //算路方案详情 { &amp;quot;distance&amp;quot;: &amp;quot;12784&amp;quot;,//方案距离,单位:米 &amp;quot;restriction&amp;quot;: &amp;quot;0&amp;quot;,//0代表限行已规避或未限行,即该路线没有限行路段 1代表限行无法规避,即该线路有限行路段 &amp;quot;steps&amp;quot;: [ //路线分段 { &amp;quot;orientation&amp;quot;: &amp;quot;西&amp;quot;, //进入道路方向 &amp;quot;step_distance&amp;quot;: &amp;quot;81&amp;quot;,//分段距离信息 &amp;quot;road_name&amp;quot;: &amp;quot;&amp;quot;, //分段道路名称 &amp;quot;instruction&amp;quot;: &amp;quot;向西行驶81米左转&amp;quot;, //行驶指示 //以下字段是否返回,需要根据 showFields 字段传入的值来控制 &amp;quot;cost&amp;quot;: {//设置后可返回方案所需时间及费用成本 &amp;quot;duration&amp;quot;: &amp;quot;30&amp;quot;,//线路耗时,分段step中的耗时 &amp;quot;toll_road&amp;quot;: &amp;quot;&amp;quot;,//主要收费道路 &amp;quot;toll_distance&amp;quot;: &amp;quot;0&amp;quot;,//收费路段里程,单位:米,包括分段信息 &amp;quot;traffic_lights&amp;quot;: &amp;quot;0&amp;quot;,//方案中红绿灯个数,单位:个 &amp;quot;tolls&amp;quot;: &amp;quot;0&amp;quot;//此路线道路收费,单位:元,包括分段信息 }, &amp;quot;cities&amp;quot;: [//设置后可返回分段途径城市信息 { &amp;quot;citycode&amp;quot;: &amp;quot;0571&amp;quot;,//途径城市编码 &amp;quot;adcode&amp;quot;: &amp;quot;330100&amp;quot;,//途径区域编码 &amp;quot;city&amp;quot;: &amp;quot;杭州市&amp;quot;,//途径城市名称 &amp;quot;districts&amp;quot;: [//途径区县信息 { &amp;quot;adcode&amp;quot;: &amp;quot;330106&amp;quot;,//途径区县adcode &amp;quot;name&amp;quot;: &amp;quot;西湖区&amp;quot;//途径区县名称 } ] } ], &amp;quot;navi&amp;quot;: {//设置后可返回详细导航动作指令 &amp;quot;assistant_action&amp;quot;: &amp;quot;&amp;quot;,//导航主要动作指令 &amp;quot;action&amp;quot;: &amp;quot;左转&amp;quot;//导航辅助动作指令 }, &amp;quot;polyline&amp;quot;: &amp;quot;120.109051,30.277231;120.108209,30.277183&amp;quot;,//设置后可返回分路段坐标点串,两点间用“,”分隔 &amp;quot;tmcs&amp;quot;: [//设置后可返回分段路况详情 { &amp;quot;tmc_distance&amp;quot;: &amp;quot;81&amp;quot;,//从当前坐标点开始step中路况相同的距离 &amp;quot;tmc_status&amp;quot;: &amp;quot;未知&amp;quot;,//路况信息,包括:未知、畅通、缓行、拥堵、严重拥堵 &amp;quot;tmc_polyline&amp;quot;: &amp;quot;120.109051,30.277231;120.108209,30.277183&amp;quot;//此段路况涉及的道路坐标点串,点间用&amp;quot;,&amp;quot;分隔 } ] } ] } ], &amp;quot;origin&amp;quot;: &amp;quot;120.10910,30.27714&amp;quot;,//起点经纬度 &amp;quot;destination&amp;quot;: &amp;quot;120.17931,30.25326&amp;quot;,//终点经纬度 &amp;quot;taxi_cost&amp;quot;: &amp;quot;27&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