请求本地化的值

本地化响应值是一个额外的响应字段,用于为返回的参数值提供本地化文本。提供行程时长、距离和单位制(公制或英制)的本地化文本。您可以使用字段掩码请求本地化值,并且可以指定语言和单位制,也可以使用 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 单位。

请求本地化值

如需在响应中添加本地化的值,您需要执行以下操作:

  1. 在字段掩码中请求本地化值。例如:

    REST

    -H X-Goog-FieldMask: routes.localized_values

    RPC

    const (fieldMask = "routes.localized_values")
  2. 如果您希望使用特定语言或单位制提供本地化值,请指定语言代码和单位制:

    "languageCode": "language_code",
    "units": "METRIC | IMPERIAL",
    

    如需了解详情,请参阅语言支持

    例如,以下代码段将语言指定为德语 (de),将语言单位指定为 METRIC:

    "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'

示例响应

响应会返回 distancedurationstaticDuration 字段的本地化值:

{
    "localizedValues": {
        "distance": {
            "text": "15,5 km"
         },
        "duration": {
            "text": "16 Minuten"
        },
        "staticDuration": {
            "text": "16 Minuten"
        }
    }
}