摩托车批量算路为开放平台高级服务,需申请开通权限后才能访问服务
https://api.map.baidu.com/routematrix/v2/motorcycle?output=json&origins=40.45,116.34|40.54,116.35&destinations=40.34,116.45|40.35,116.46&ak=您的AK
//GET请求
参数名称 | 参数含义 | 类型 | 必填 |
---|---|---|---|
ak | 用户的AK | string | 是 |
origins | 纬度,经度。示例:40.056878,116.30815|40.063597,116.364973 | string | 是 |
destinations | 纬度,经度。示例:40.056878,116.30815|40.063597,116.364973 | string | 是 |
tactics | 驾车、摩托车可设置,其他无需设置。该服务为满足性能需求,不含道路阻断信息干预。 | string | 否,驾车默认为13:距离较短(不考虑路况);摩托车默认为12:距离较短; |
riding_type | 电动车、自行车骑行可设置,其他无需设置。骑行类型,筛选普通自行车、电动自行车骑行 | string | 否,默认为0 |
road_prefer | 算路方案 | int | 否 |
output | 表示输出类型,可设置为xml或json。 | string | 否,默认为json |
coord_type | 坐标类型,可选值为:bd09ll(百度经纬度坐标)、bd09mc(百度墨卡托坐标)、gcj02(国测局加密坐标)、wgs84(gps设备获取的坐标)。 | string | 否,默认为bd09ll |
ret_straight_dist | 0:返回路线距离(默认值);1:返回直线距离 | int | 否 |
参数名 | 字段含义 | 类型 | 备注 | ||
---|---|---|---|---|---|
status | 状态码 | int | 0:成功 1:服务器内部错误 2:参数错误 | ||
message | 返回信息 | string | 对status的中文描述 | ||
result | 返回的结果 | array | 数组形式。数组中的每个元素代表一个起点和一个终点的检索结果。顺序依次为(以2起点2终点为例): origin1-destination1, origin1-destination2, origin2-destination1, origin2-destination2 | ||
distance | 路线距离 | ||||
text | 线路距离的文本描述 | string | 文本描述的单位有米、公里两种 | ||
value | 线路距离的数值 | double | 数值的单位为米。若没有计算结果,值为0 | ||
duration | 路线耗时 | ||||
text | 路线耗时的文本描述 | string | 文本描述的单位有分钟、小时两种 | ||
value | 路线耗时的数值 | double | 数值的单位为秒。若没有计算结果,值为0 |
输入AK可生成包含IP/SN校验方式的代码
<?php// 此处填写你在控制台-应用管理-创建应用后获取的AK$ak = '您的AK';// 发起一个http get请求,并返回请求的结果// $url字段为请求的地址// $param字段为请求的参数function request_get($url = '', $param = array()) {if (empty($url) || empty($param)) {return false;}$getUrl = $url . "?" . http_build_query($param);$curl = curl_init(); // 初始化curlcurl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在curl_setopt($curl, CURLOPT_URL, $getUrl); // 抓取指定网页curl_setopt($curl, CURLOPT_TIMEOUT, 1000); // 设置超时时间1秒curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // curl不直接输出到屏幕curl_setopt($curl, CURLOPT_HEADER, 0); // 设置header$data = curl_exec($curl); // 运行curlif (!$data) {print("an error occured in function request_get(): " . curl_error($curl) . "\n");}curl_close($curl);return $data;}// 请求地址$url = 'https://api.map.baidu.com/routematrix/v2/motorcycle';// 构造请求参数$param['output'] = 'json';$param['origins'] = '40.45,116.34|40.54,116.35';$param['destinations'] = '40.34,116.45|40.35,116.46';$param['ak'] = $ak;$res = request_get($url, $param);// 将原始返回的结果打印出来print("请求的原始返回结果为:\n");print($res . "\n");?>
{"status": 0,"result": [{"distance": {"text": "19.3公里","value": 19335},"duration": {"text": "31分钟","value": 1850}},{"distance": {"text": "20.6公里","value": 20629},"duration": {"text": "30分钟","value": 1813}},{"distance": {"text": "44.9公里","value": 44919},"duration": {"text": "1.2小时","value": 4142}},{"distance": {"text": "46.2公里","value": 46213},"duration": {"text": "1.1小时","value": 4119}}],"message": "成功"}
参数 | 值 | 备注 | 必选 |
---|---|---|---|
origins | 40.056878,116.30815 | 是 | |
destinations | 40.063597,116.364973 | 是 |
上一篇
下一篇
本篇文章对您是否有帮助?