本地化响应值是额外的响应字段,用于为返回的参数值提供本地化文本。为行程时长、距离和单位制(公制或英制)提供本地化文本。您可以使用字段掩码请求本地化值,并可以指定语言和单位制,也可以使用 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
方法默认采用“英语(美国)”语言和公制单位。
请求本地化的值
如需在响应中包含本地化的值,您需要执行以下操作:
在字段掩码中请求本地化值。例如:
REST
-H X-Goog-FieldMask: routes.localized_values
RPC
const (fieldMask = "routes.localized_values")
如果您希望本地化值采用特定语言或单位制,请指定语言代码和单位制:
"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.localized_values' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
示例响应
响应会返回 distance
、duration
和 staticDuration
字段的本地化值:
{ "localizedValues": { "distance": { "text": "15,5 km" }, "duration": { "text": "16 Minuten" }, "staticDuration": { "text": "16 Minuten" } } }