技术博客
台风最新坐标轨迹接口:用经纬度在地图上画出台风路径

台风最新坐标轨迹接口:用经纬度在地图上画出台风路径

作者: 万维易源
2026-09-02
台风路径地图可视化经纬度Leaflet
# 台风最新坐标轨迹接口:用经纬度在地图上画出台风路径 > 接口 342 · 免费 · 适用前端/全栈工程师 · 阅读约 8 分钟 ## 核心要点 - 取 342-1 的 tfid → 342-2 的 obj 数组,将 (lng, lat) 转 float 后标点。 - 按 time 升序连线,即得一条台风运动轨迹;movespeed+movedirection 可画箭头表示走向。 - 关键边界:接口未声明坐标系,上图前必须向数据源确认 WGS-84/GCJ-02/BD-09,否则会偏移。 ## Why:这跟我有关系吗 把一串数字变成一条肉眼可见的路径,是台风产品最有「体感」的一步。 ## What:接口速览 | 步骤 | 接入点 | 作用 | |------|------|------| | 1 取 tfid | 342-1 | 当前在编台风列表 | | 2 取轨迹点 | 342-2 | obj 数组(连续时刻坐标) | | 3 上图 | 前端地图 | 标点 + 按 time 连线 | ## How:一步步调用 ### Python:取按 time 升序的坐标点 ```python import requests # 1) 取当前台风列表,挑第一个 tfid lst = requests.post( "https://route.showapi.com/342-1", params={"appKey": "YOUR_APPKEY"}, headers={"content-type": "application/x-www-form-urlencoded"}, timeout=10, ).json() tfid = lst["showapi_res_body"]["list"][0]["tfid"] # 2) 取该台风轨迹点 trk = requests.post( "https://route.showapi.com/342-2", params={"appKey": "YOUR_APPKEY"}, data={"tfid": tfid}, headers={"content-type": "application/x-www-form-urlencoded"}, timeout=10, ).json() # 注意:lat/lng 为字符串需转 float;接口未声明坐标系,上图前需向数据源确认 WGS-84/GCJ-02/BD-09 points = [ (float(p["lng"]), float(p["lat"])) for p in sorted(trk["showapi_res_body"]["obj"], key=lambda x: x["time"]) ] print(points) ``` ### 前端(通用 Leaflet 示例) ```javascript // 通用 Leaflet 示例(OpenStreetMap 瓦片,无需商业 SDK/Key) // ⓵ 先取到按 time 升序的 [lng, lat] 数组 points(来自 342-1 + 342-2) const map = L.map("map").setView(points[0], 4); L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png").addTo(map); L.polyline(points, { color: "red" }).addTo(map); // 轨迹连线 points.forEach((p, i) => L.circleMarker(p).addTo(map)); // 各时刻点 // 重要:接口未声明坐标系,正式上图前务必向数据源确认 WGS-84 / GCJ-02 / BD-09,否则点位会偏移。 ``` ## 返回示例与解析 ```json { "showapi_res_code": 0, "showapi_res_body": { "obj": [ {"enname": "Chan-hom", "lat": "26.00", "lng": "125.10", "movedirection": "北西", "movespeed": "20", "name": "灿鸿", "power": "16", "pressure": "935", "radius10": "180", "radius7": "450", "speed": "52", "strong": "超强台风", "tfid": "201509", "time": "2015-07-10 11:00:00"}, {"enname": "Chan-hom", "lat": "25.20", "lng": "124.30", "movedirection": "北西", "movespeed": "22", "name": "灿鸿", "power": "16", "pressure": "930", "radius10": "180", "radius7": "450", "speed": "55", "strong": "超强台风", "tfid": "201509", "time": "2015-07-10 17:00:00"} ], "ret_code": 0 } } ``` 取 obj 中每项的 (lng, lat),按 time 排序后即为绘制轨迹的点序列。 ## 进阶与边界 坐标系未声明是实测发现的文档缺口;GCJ-02 与 WGS-84 差异在中国海域可达数百米,务必确认。lat/lng 为字符串需 float。 ## FAQ **Q:接口返回的是哪种坐标系?** 文档未声明,需向数据源确认(WGS-84/GCJ-02/BD-09);切勿直接画。 **Q:轨迹点顺序怎么定?** 用 obj 每项的 time 字段升序排序。 **Q:能否直接用高德/百度地图?** 可以,但需先确认接口坐标系并做对应转换,否则点位偏移。 ## 相关能力 / 下一步阅读 - [台风最新坐标轨迹接口:用 tfid 调用单个台风详情(342-2)拉取轨迹数据线](https://www.showapi.com/guides/typhoon-track-detail-342) - [台风最新坐标轨迹接口返回字段全解:list/obj/typhoon_list 与 14 项坐标强度字段](https://www.showapi.com/guides/typhoon-track-response-fields-342) - [台风最新坐标轨迹接口:坐标、风力等级与影响半径如何驱动业务判断](https://www.showapi.com/guides/typhoon-track-data-model-342) - **本系列共 13 篇**:查看[台风最新坐标轨迹接口官方指南总目录](https://www.showapi.com/guides/typhoon-track-guides-342)