求助:Google Routes API的HTTP请求配置示例及响应问题
Google Routes API HTTP 请求示例(可直接测试)
核心请求规则(必看)
Routes API 仅支持 POST 请求,这是很多人踩坑的点,用 GET 会直接返回错误。
完整请求示例(CURL 格式,可直接测试)
替换你的 API_KEY 就能直接运行:
curl -X POST -H "Content-Type: application/json" -H "X-Goog-Api-Key: YOUR_API_KEY" -H "X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline" -d '{ "origin": { "location": { "latLng": { "latitude": 37.4220041, "longitude": -122.0862462 } } }, "destination": { "location": { "latLng": { "latitude": 37.4143365, "longitude": -122.0768514 } } }, "travelMode": "DRIVE", "computeAlternativeRoutes": false, "routeModifiers": { "avoidTolls": false, "avoidHighways": false } }' "https://routes.googleapis.com/directions/v2:computeRoutes"
关键字段说明
请求头必填项
X-Goog-Api-Key: 你的 Google Cloud API 密钥,需确保已启用 Routes API 权限X-Goog-FieldMask: 必须明确指定要返回的字段,不设置或设置错误会导致响应缺失内容。比如要获取导航步骤,就加routes.legs.stepsContent-Type: 固定为application/json
请求体可调整参数
travelMode: 可选DRIVE/WALK/BICYCLE/TRANSITcomputeAlternativeRoutes: 设置为true可获取备选路线routeModifiers: 可添加避障规则,比如avoidTolls: true避开收费路段
你可能遇到的响应异常原因
- 用了 GET 请求:Routes API 不支持 GET,直接返回 405 错误
X-Goog-FieldMask配置错误:比如想拿路线却没加routes.polyline,自然得不到对应内容- API 密钥权限不足:检查 Google Cloud 控制台是否启用了 Routes API,以及密钥是否有访问限制
- 坐标格式错误:
latitude/longitude是数字类型,不要加引号
内容的提问来源于stack exchange,提问作者Kieran Andrews
相关产品推荐
相关产品推荐

