本地化响应值是一个额外的响应字段,用于为返回的参数值提供本地化文本。系统会提供本地化的行程时长、距离和单位制(公制或英制)。您可以使用字段掩码请求本地化值,并且可以指定语言和单位制,也可以使用 API 推断的值。如需了解详情,请参阅 LocalizedValues。
例如,如果您指定德语 (de) 语言代码和英制单位,则 distanceMeters 的值为 49889.7,但您还会获得本地化文本,其中以德语和英制单位提供距离测量值,即“31 Meile”。
以下是本地化值的显示示例:
{ "localized_values":
{
"distance": { "text": "31,0 Meile/n" },
"duration": { "text": 38 Minuten}.
"static_duration": { "text": 36 Minuten}.
}
}如果您未指定语言或单位制,API 会按如下方式推断语言和单位:
ComputeRoutes方法会根据出发地航点推断位置和距离单位。因此,对于美国境内的路线规划请求,API 会推断出en-US语言和IMPERIAL单位。ComputeRouteMatrix方法默认使用“en-US”语言和 METRIC 单位。
请求本地化值
如需在响应中包含本地化值,您需要执行以下操作:
在字段掩码中请求本地化值。例如:
REST
-H X-Goog-FieldMask: routes.localizedValues
RPC
const (fieldMask = "routes.localizedValues")
如果您需要特定语言或单位制中的本地化值,请指定语言代码和单位制:
"languageCode": "language_code", "units": "METRIC | IMPERIAL",
例如,以下代码段将语言指定为德语 (de),并将单位指定为公制单位:
"languageCode": "de", "units": "METRIC",
如需了解详情,请参阅语言支持。
示例请求
curl -X POST -d '{
"origin": { "location": {
"latLng": { "latitude": 37.7873146, "longitude": -122.4159327 } }
},
"destination": { "location": {
"latLng": { "latitude": 37.7621008, "longitude": -122.4382503 } }
},
"travelMode": "DRIVE",
"computeAlternativeRoutes": true,
"languageCode": "de",
"units": "METRIC"
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.localizedValues' \
'https://routes.googleapis.com/directions/v2:computeRoutes'
示例响应
响应会返回 distance、duration 和 staticDuration 字段的本地化值:
{
"localizedValues": {
"distance": {
"text": "15,5 km"
},
"duration": {
"text": "16 Minuten"
},
"staticDuration": {
"text": "16 Minuten"
}
}
}