You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TrueWay Directions API绘路线时遇KeyError: 'features'求助

修改Python代码适配TrueWay Directions API生成路线地图

问题根源是你使用的TrueWay Directions API返回的JSON结构和教程里的不同,原代码依赖features层级解析坐标,现在需要调整为解析route->geometry->coordinates结构。以下是具体修改步骤:

1. 调整坐标解析逻辑

假设你原代码中解析坐标的部分是这样(教程示例):

# 原教程代码(适配旧API结构)
coords = response_json['features'][0]['geometry']['coordinates']

替换为适配TrueWay API的代码:

# 适配TrueWay API的坐标解析
# 从返回的JSON中提取路线的几何信息
route_geometry = response_json['route']['geometry']
# 获取原始坐标列表(格式为[经度, 纬度])
coords = route_geometry['coordinates']

2. 调整坐标顺序(关键步骤)

TrueWay返回的坐标是[经度, 纬度],但绝大多数Python地图库(比如folium)要求坐标格式为[纬度, 经度],所以必须转换顺序:

# 将[lon, lat]转换为[lat, lon]
adjusted_coords = [[lat, lon] for lon, lat in coords]

3. 更新地图绘制函数

修改create_map函数,使用调整后的坐标生成路线:

import folium

def create_map(start_location, end_location, route_coords):
    # 创建地图实例,以起点为中心
    map_obj = folium.Map(location=start_location, zoom_start=12)
    
    # 添加起点、终点标记
    folium.Marker(start_location, popup="起点", icon=folium.Icon(color="green")).add_to(map_obj)
    folium.Marker(end_location, popup="终点", icon=folium.Icon(color="red")).add_to(map_obj)
    
    # 添加路线到地图
    folium.PolyLine(
        locations=route_coords,
        color="blue",
        weight=5,
        opacity=0.8
    ).add_to(map_obj)
    
    return map_obj

4. 调用示例

假设你已经通过API获取到响应response_json,并已知起点和终点的[lat, lon]坐标,调用方式如下:

# 示例:起点和终点坐标(格式[lat, lon])
start_loc = [34.0522, -118.2437]  # 洛杉矶
end_loc = [36.1699, -115.1398]    # 拉斯维加斯

# 解析并调整坐标
route_geometry = response_json['route']['geometry']
coords = route_geometry['coordinates']
adjusted_coords = [[lat, lon] for lon, lat in coords]

# 生成地图
route_map = create_map(start_loc, end_loc, adjusted_coords)
# 保存为HTML文件查看
route_map.save("route_map.html")

注意事项

  • 确认API请求成功:调用API后先打印response_json,确保route->geometry->coordinates层级存在,避免因API返回错误导致的KeyError。
  • 若需要获取路线的距离、时长等信息,可从response_json['route']下的对应字段提取,比如response_json['route']['distance'](单位通常为米)。

内容的提问来源于stack exchange,提问作者Olivia Foster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:55:18