从Google Directions API迁移至Routes API:如何获取路段起止地址名称?
解决Google Routes API返回路段起止地址名称的问题
核心结论
Google Routes API不会直接在leg对象中返回起止地址名称,哪怕你把X-Goog-FieldMask设为*也不行——这是它和Directions API的设计差异,地址解析不属于Routes API的默认返回内容。
可行解决方案
要获取路段起止位置的地址名称,你需要对每个leg的startLocation.latLng和endLocation.latLng,调用Google Geocoding API的反向地理编码接口,通过经纬度反向解析出对应的地址。
反向地理编码请求示例
GET https://maps.googleapis.com/maps/api/geocode/json?latlng=51.5005477,-0.1261448&key=YOUR_API_KEY
这个请求会返回包含该经纬度对应地址的响应,你可以从中提取格式化的地址信息(比如formatted_address字段)。
优化建议
- 批量处理:如果有多个经纬度需要解析,可以把多个坐标合并成批量请求(Geocoding API支持单次最多处理5个坐标),减少HTTP请求次数。
- 缓存结果:如果同一个经纬度会被多次用到,缓存解析后的地址,避免重复调用API浪费配额。
内容的提问来源于stack exchange,提问作者Jonathan Wareham
相关产品推荐
相关产品推荐

