Google Routes API未返回火车路线,请求技术解决方案
解决Google Routes API无法返回火车路线的问题
- 修正请求体语法错误:你提供的请求体缺少开头的
{,JSON结构不完整会导致API无法正确解析参数,默认返回驾驶路线。正确的完整请求体如下:
{ "origin": { "address": "Delhi" }, "destination": { "address": "Prayagraj" }, "travelMode": "TRANSIT", "transitPreferences": { "allowedTravelModes": ["TRAIN", "RAIL"] }, "computeAlternativeRoutes": true }
- 明确火车路线偏好:在
transitPreferences中添加preferTrainRoutes并设为true,同时可以简化allowedTravelModes(TRAIN和RAIL为等价取值,保留其一即可),让API明确优先返回火车路线:
"transitPreferences": { "allowedTravelModes": ["TRAIN"], "preferTrainRoutes": true }
- 补充出发时间参数:火车路线依赖特定时间的班次数据,添加
departureTime指定出发时间,帮助API返回匹配的火车班次路线,示例:
"departureTime": "2024-10-05T08:00:00Z"
- 使用Place ID替代地址字符串:地址字符串可能存在解析歧义,通过Google Places API获取起点和终点的Place ID,替换请求中的
address字段为placeId,能精准定位地点,避免解析错误:
"origin": { "placeId": "ChIJLbZ-NFv9DDkRzk0gTkm3wlI" }, "destination": { "placeId": "ChIJ0W8wX5uZDTkRcD0X7Oq1xqM" }
- 验证API配置:确认你的Google Cloud项目已启用Routes API,使用的API密钥或服务账号拥有
routes.readonly权限,且账号未触发配额限制。
内容的提问来源于stack exchange,提问作者user1188837
相关产品推荐
相关产品推荐

