Solicitar valores localizados

Os valores de resposta localizados são um campo de resposta adicional que fornece texto localizado para os valores de parâmetro retornados. O texto localizado é fornecido para a duração da viagem, a distância e o sistema de unidades (sistema métrico ou imperial). Você solicita valores localizados usando uma máscara de campo. É possível especificar o idioma e o sistema de unidades ou usar os valores inferidos pela API. Para mais detalhes, consulte LocalizedValues.

Por exemplo, se você especificar um código de idioma para unidades em alemão (de) e imperiais, vai receber um valor para distanceMeters de 49.889,7, mas também um texto localizado que fornece essa medida de distância em unidades alemãs e imperiais, ou seja, "31 Meile".

Veja um exemplo do que você veria para valores localizados:

{ "localized_values":
  {
    "distance": { "text": "31,0 Meile/n" },
    "duration": { "text": 38 Minuten}.
    "static_duration": { "text": 36 Minuten}.
  }
}

Se você não especificar o idioma ou o sistema de unidades, a API vai inferir o idioma e as unidades da seguinte maneira:

  • O método ComputeRoutes infere as unidades de localização e distância do waypoint de origem. Portanto, para uma solicitação de roteamento nos EUA, a API infere o idioma en-US e as unidades IMPERIAL.
  • O método ComputeRouteMatrix tem como padrão o idioma "en-US" e as unidades METRIC.

Solicitar valores localizados

Para incluir valores localizados na resposta, faça o seguinte:

  1. Solicite valores localizados na sua máscara de campo. Exemplo:

    REST

    -H X-Goog-FieldMask: routes.localized_values

    RPC

    const (fieldMask = "routes.localized_values")
  2. Se você quiser que os valores localizados em um idioma ou sistema de unidades específico, defina o código do idioma e o sistema de unidades:

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

    Para mais informações, consulte Suporte a idiomas.

    Por exemplo, este snippet de código especifica o idioma como alemão (de) e unidades METRIC:

    "languageCode": "de",
    "units": "METRIC",
    

Exemplo de solicitação

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'

Exemplo de resposta

A resposta retorna valores localizados para os campos distance, duration e staticDuration:

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