免费导航规划API接口详解:调用指南与实战示例
接口来源:接口盒子
核心功能:根据起点、终点及途经点坐标生成导航路线,支持驾车/步行策略,提供详细/简化的导航数据。通过此免费API可实现自己开发个性化导航软件。
一、接口核心参数说明
-
请求地址
https://cn.apihz.cn/api/jiaotong/daohang.php
- 请求方式:
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 requestsurl = "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
途经点串联景点。