接口来源:接口盒子
核心功能:根据起点、终点及途经点坐标生成导航路线,支持驾车/步行策略,提供详细/简化的导航数据。
一、接口核心参数说明
- 请求方式:
GET或POST
- 必填参数
| 参数名 | 说明 | 示例 |
id |
用户中心数字ID | id=10000000 |
key |
用户通讯密钥 | key=15he5h15ty854j5sr |
starlon |
起点经度 | starlon=121.4279 |
starlat |
起点纬度 | starlat=31.20872 |
endlon |
终点经度 | endlon=121.313079 |
endlat |
终点纬度 | endlat=31.195667 |
- 可选参数
| 参数名 | 说明 | 示例 |
mid |
途经点坐标(经度,纬度;多途经点用;分隔) |
mid=116.36506,39.91277;... |
linetype |
导航策略:0=用时最少(默认)、1=最短、2=避开高速、3=步行 |
linetype=2 |
type |
数据简化:0=简略数据(免费)、1=详细数据(收费) |
type=0 |
二、返回数据结构解析
json
复制
{ "code": 200, // 状态码(200成功,400失败) "msg": "提示信息", "route_summary": { // 路线概览 "origin": "起点坐标", "destination": "终点坐标", "waypoints": [], // 途经点 "total_distance_km": 16.25, // 总距离(公里) "total_duration_sec": 1167 // 总耗时(秒) }, "detailed_steps": [ // 详细导航步骤(type=1时返回) { "step_id": 0, "instruction": "导航指令", "turn_point": [121.42864, 31.20855] // 转向点坐标 } ], "simplified_steps": [ // 简化导航步骤(type=0时返回) { "step_id": 0, "distance_meters": 526 // 分段距离(米) } ] }
注意:
- 详细数据(
type=1)需消耗10盟点(平台虚拟货币),适用于导航类应用- 每日调用无上限,但需使用自有
id/key(注册入口)
三、调用示例(实战代码)
1. GET请求示例(浏览器/命令行)
bash
复制
# 基本调用(简略数据) https://cn.apihz.cn/api/jiaotong/daohang.php?id=88888888&key=your_key&starlon=121.4279&starlat=31.20872&endlon=121.313079&endlat=31.195667 # 带途经点+避开高速 https://cn.apihz.cn/api/jiaotong/...&mid=116.36506,39.91277;116.37506,39.92077&linetype=2
2. PHP调用示例
php
复制
<?php $url = "https://cn.apihz.cn/api/jiaotong/daohang.php"; $params = [ 'id' => '10000000', // 替换为您的ID 'key' => 'your_key', // 替换为您的KEY 'starlon' => 121.4279, 'starlat' => 31.20872, 'endlon' => 121.313079, 'endlat' => 31.195667, 'linetype' => 0, // 用时最少 'type' => 0 // 简略数据 ]; // 构建GET请求URL $requestUrl = $url . '?' . http_build_query($params); // 发送请求 $response = file_get_contents($requestUrl); $data = json_decode($response, true); // 处理结果 if ($data['code'] == 200) { echo "总距离:" . $data['route_summary']['total_distance_km'] . "公里"; } else { echo "错误:" . $data['msg']; } ?>
3. Python调用示例
python
运行
复制
import requests url = "https://cn.apihz.cn/api/jiaotong/daohang.php" params = { "id": "10000000", # 替换为您的ID "key": "your_key", # 替换为您的KEY "starlon": 121.4279, "starlat": 31.20872, "endlon": 121.313079, "endlat": 31.195667, "linetype": 3, # 步行导航 "type": 0 # 简略数据 } # 发送GET请求 response = requests.get(url, params=params) data = response.json() if data["code"] == 200: steps = data["simplified_steps"] for step in steps: print(f"步骤{step['step_id']}: {step['instruction']} ({step['distance_meters']}米)") else: print("请求失败:", data["msg"])
四、典型应用场景
- 物流路径优化
通过linetype=1(最短路线)减少运输成本。 - 步行导航APP
使用linetype=3+type=1获取详细步行转向点。 - 旅游路线规划
添加多个mid途经点串联景点。