ローカライズされた値をリクエストする

欧州経済領域(EEA)のデベロッパー

ローカライズされたレスポンス値は、返されたパラメータ値のローカライズされたテキストを提供する追加のレスポンス フィールドです。旅行の時間、距離、単位系(メートル法またはヤードポンド法)について、ローカライズされたテキストが提供されます。フィールド マスクを使用してローカライズされた値をリクエストします。言語と単位系を指定するか、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.localizedValues

    RPC

    const (fieldMask = "routes.localizedValues")
  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.localizedValues' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

レスポンスの例

レスポンスは、distancedurationstaticDuration フィールドのローカライズされた値を返します。

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