出行/航运/农业 App 如何嵌入台风最新坐标轨迹接口数据
# 出行/航运/农业 App 如何嵌入台风最新坐标轨迹接口数据
> 接口 342 · 免费 · 适用产品/移动端工程师 · 阅读约 7 分钟
## 核心要点
- 在用户行程/航线/农田附近叠加 342-1/342-2 的台风轨迹,做空间邻近判断。
- 当轨迹进入阈值范围,自动弹出停运/延误/抢收提示,文案可由 strong 等级驱动。
- 免费 + 同步调用,适合在 App 后端做轻量聚合,前端按需展示。
## Why:这跟我有关系吗
台风对普通人最大的影响是「我的行程/庄稼会不会受影响」——把接口数据翻译成一句提醒就是价值。
## What:接口速览
| 场景 | 用法 |
|------|------|
| 出行 | 比对用户城市与台风距离/影响半径 |
| 航运 | 航线邻近度判断,触发停航提示 |
| 农业 | 农田坐标邻近度,触发抢收提醒 |
## How:一步步调用
```python
import requests, math
def haversine(lng1, lat1, lng2, lat2):
R = 6371.0
p1, p2 = math.radians(lat1), math.radians(lat2)
dphi = math.radians(lat2 - lat1)
dlmb = math.radians(lng2 - lng1)
a = math.sin(dphi/2)**2 + math.cos(p1)*math.cos(p2)*math.sin(dlmb/2)**2
return 2 * R * math.asin(math.sqrt(a))
# 用户关注点(示例坐标,需与接口坐标系统一后再算)
user_lng, user_lat = 121.47, 31.23
lst = requests.post("https://route.showapi.com/342-1",
params={"appKey": "YOUR_APPKEY"},
headers={"content-type": "application/x-www-form-urlencoded"}, timeout=10).json()
for t in lst["showapi_res_body"]["list"]:
d = haversine(user_lng, user_lat, float(t["lng"]), float(t["lat"]))
if d <= float(t["radius7"]): # 进入 7 级风影响半径即提示
print(f"台风「{t['name']}」距你约 {d:.0f} km,已影响范围,请注意!")
```
## 返回示例与解析
(本篇以空间判断为主;返回结构见 342-1 的 list 示例。)
## 进阶与边界
坐标系未声明,做距离计算前需统一坐标系;提示文案避免过度承诺精确到达时间。AppKey 应放后端代理,勿在前端暴露。
## FAQ
**Q:怎么判断台风会影响我的城市?**
用台风坐标与城市坐标算距离,结合 radius7/radius10 影响半径判断。
**Q:前端直接调接口安全吗?**
不建议,appKey 会暴露;应在自有后端代理调用。
**Q:免费能上生产吗?**
本接口标注免费,但具体生产可用性请以官方档位/服务条款为准。
## 相关能力 / 下一步阅读
- [台风最新坐标轨迹接口:用经纬度在地图上画出台风路径](https://www.showapi.com/guides/typhoon-track-map-342)
- [台风最新坐标轨迹接口:坐标、风力等级与影响半径如何驱动业务判断](https://www.showapi.com/guides/typhoon-track-data-model-342)
- [气象监测与应急响应系统如何接入台风最新坐标轨迹接口](https://www.showapi.com/guides/typhoon-track-monitor-342)
- **本系列共 13 篇**:查看[台风最新坐标轨迹接口官方指南总目录](https://www.showapi.com/guides/typhoon-track-guides-342)