Revisa la respuesta de la ruta

Cuando la API de Routes calcula una ruta, toma los puntos de referencia y los parámetros de configuración que proporcionas como entrada. Luego, la API muestra una respuesta que contenga la ruta predeterminada y una o más rutas alternativas.

Tu respuesta puede incluir diferentes tipos de rutas y otros datos, según el campos que solicites:

Para incluir esto en la respuesta Consulta esta documentación
La ruta con mayor ahorro de combustible o eficiencia energética según el tipo de motor del vehículo Configura rutas ecológicas
Hasta tres rutas alternativas Cómo solicitar rutas alternativas
La polilínea de una ruta completa, de cada tramo de una ruta y de cada paso de un tramo. Cómo solicitar polilíneas de ruta
Los peajes estimados, teniendo en cuenta los descuentos en el precio de los peajes o pases disponibles para el conductor o el vehículo. Cómo calcular los peajes
Respuestas localizadas por códigos de idioma y unidad de medida (sistema imperial o métrica). Solicita valores localizados
Para dar formato a las instrucciones de navegación como una cadena de texto HTML, agrega HTML_FORMATTED_NAVIGATION_INSTRUCTIONS a extraComputations. Cálculos adicionales

Para obtener la lista completa de las opciones de entrada, consulta Opciones de ruta disponibles y el cuerpo de la solicitud.

Con la respuesta, puedes proporcionar a tus clientes la información necesarios para seleccionar la ruta adecuada para sus requisitos.

Acerca de las máscaras de campo

Cuando llamas a un método para procesar una ruta, debes especificar un campo que define qué campos quieres que se devuelvan en la respuesta. No hay una lista predeterminada de campos que se muestran. Si omites esta lista, los métodos muestran un .

Los ejemplos de este documento muestran todo el objeto de respuesta sin tomar las máscaras de campo en mente. En un entorno de producción, tu respuesta solo incluya los campos que especifique explícitamente en la máscara de campo.

Para obtener más información, consulta el artículo Elige la información que deseas mostrar.

Información acerca de la visualización de los derechos de autor

Cuando muestres los resultados a los usuarios, debes incluir la siguiente declaración de derechos de autor:

Powered by Google, ©YEAR Google

Por ejemplo:

Powered by Google, ©2023 Google

Información acerca de las rutas, los tramos y los pasos

Antes de ver la respuesta que devuelve la API de Routes, deberías comprender los componentes que conforman una ruta:

La ruta, la etapa y el paso.

Tu respuesta puede contener información sobre cada uno de estos componentes de la ruta:

  • Ruta: Es todo el viaje desde el punto de referencia de origen, por cualquier puntos de referencia intermedios, hasta los puntos de referencia de destino. Una ruta consta de una o más legs.

  • Etapa: La ruta desde un punto de referencia en una ruta hasta el siguiente en la ruta. Cada etapa consta de uno o más pasos discretos.

    Una ruta contiene un tramo independiente para la ruta de cada punto de referencia al siguiente. Por ejemplo, si la ruta contiene un solo punto de referencia de origen y un único punto de referencia de destino, entonces la ruta contiene un solo tramo. Por cada el punto de referencia adicional que agregas a la ruta después del origen y el destino llamado punto de referencia intermedio, la API agrega un segmento separado.

    La API no agrega un segmento para un punto de referencia intermedio de transferencia. Para ejemplo, una ruta que contiene un punto de referencia de origen, un punto de punto de referencia intermedio y un punto de referencia de destino contiene solo una etapa desde el origen hasta el destino, mientras pasa por el punto de referencia. Para ver más sobre los puntos de referencia de transferencia, consulta Define un punto de referencia de paso.

  • Paso: Incluye una sola instrucción a lo largo del tramo de una ruta. Un paso es lo más unidad atómica de una ruta. Por ejemplo, un paso puede indicar "Gira a la izquierda en la calle principal Street''.

Contenido de la respuesta

El objeto JSON que representa la respuesta de la API contiene las siguientes propiedades de nivel superior:

  • routes, un array de elementos de tipo Ruta. El array routes contiene un elemento por cada ruta que muestra la API. El array puede contener un máximo de cinco elementos: la ruta predeterminada, el ecológica y hasta tres alternativas.

  • geocodingResults, un array de elementos de tipo GeocodingResults. Para cada ubicación de la solicitud (origen, destino o punto de referencia intermedio) que especifiques como una cadena de dirección o un código plus, la API realiza una búsqueda de ID de lugar. Cada elemento de este array contiene las el ID de lugar correspondiente a una ubicación. Ubicaciones en la solicitud especificada como no se incluyen un ID de lugar ni las coordenadas de latitud y longitud. Si especificaste todas las ubicaciones con IDs de lugar o con valores de latitud y longitud coordenadas, esta matriz no se proporciona.

  • fallbackInfo, de tipo FallbackInfo. Si la API no puede procesar una ruta a partir de todas las propiedades de entrada, puede recurrir a usar una forma diferente de procesamiento. Cuando se usa el modo de resguardo, este campo contiene información detallada sobre la respuesta de resguardo. De lo contrario, este campo no se establece.

La respuesta tiene el siguiente formato:

{
  // The routes array.
  "routes": [
    {
      object (Route)
    }
  ],
  // The place ID lookup results.
  "geocodingResults": [
    {
      object (GeocodedWaypoint)
    }
  ],
  // The fallback property.
  "fallbackInfo": {
    object (FallbackInfo)
  }
}

Descifra el array de rutas

La respuesta contiene el array routes, en el que cada elemento del array es de tipo. Ruta. Cada elemento del array representa una ruta completa desde el origen hasta el destino. El La API siempre muestra al menos una ruta denominada ruta predeterminada.

Puedes solicitar rutas adicionales. Si solicitas un ruta ecológica, el array puede contener dos elementos: el la ruta predeterminada y la ecológica. O bien, establece computeAlternativeRoutes en true en la solicitud para agregar hasta tres rutas alternativas a la respuesta.

Cada ruta en el array se identifica con la propiedad de array routeLabels:

Valor Descripción
DEFAULT_ROUTE Identifica la ruta predeterminada.
FUEL_EFFICIENT Identifica la ruta ecológica.
DEFAULT_ROUTE_ALTERNATE Indica una ruta alternativa.

El array legs contiene la definición de cada tramo de la ruta. El resto propiedades, como distanceMeters, duration y polyline, contienen información sobre la ruta en su conjunto:

{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "routeLabels": [string],
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  }
  "routeToken": string
}

Debido a las condiciones actuales del manejo y otros factores, la ruta y la ruta ecológica puede ser la misma. En este caso, el array routeLabels. contiene ambas etiquetas: DEFAULT_ROUTE y FUEL_EFFICIENT.

{
  "routes": [
    {
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ],
     
    }
  ]
}

Comprende el array de tramos

Cada route en la respuesta contiene un array legs, en el que cada elemento del array legs es del tipo RouteLeg. Cada etapa del array define la ruta desde un punto de referencia hasta el siguiente. a lo largo de la ruta. Una ruta siempre tiene al menos un segmento.

La propiedad legs contiene la definición de cada paso del segmento del Array steps. Las propiedades restantes, como distanceMeters, duration, y polyline contienen información sobre la etapa.

{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}

Comprende el array de pasos

Cada segmento de la respuesta contiene un array steps, en el que cada array steps el elemento es de tipo RouteLegStep. Un paso corresponde a una sola instrucción a lo largo de la etapa. Una pierna siempre tiene al menos un paso.

Cada elemento del array steps incluye navigationInstruction. propiedad, de tipo NavigationInstruction, que contiene la instrucción del paso. Por ejemplo:

"navigationInstruction": {
  "maneuver": "TURN_LEFT",
  "instructions": "Turn left toward Frontage Rd"
}

El instructions puede contener información adicional sobre el paso. Por ejemplo:

"navigationInstruction": {
  "maneuver": "TURN_SLIGHT_LEFT",
  "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days"
}

Las propiedades restantes del paso describen la información sobre el paso, como como distanceMeters, duration y polyline:

{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  }
}

Especificar el idioma de las instrucciones de los pasos

La API devuelve información de rutas en el idioma local, transliterada a un de secuencia de comandos legible por el usuario, si es necesario, mientras se observa la preferencia idioma. Los componentes de la dirección se devuelven en el mismo idioma.

  • Usa el parámetro languageCode de un solicitud a establece de forma explícita el idioma de la ruta desde la lista de servicios idiomas. Google actualiza a menudo idiomas, por lo que es posible que esta lista no sea exhaustiva.

  • Si un nombre no está disponible en el idioma especificado, la API usa el coincidencia más cercana.

  • El idioma especificado puede influir en el conjunto de resultados que la API elige mostrar y el orden en el que se muestran. El geocodificador interpreta las abreviaturas de forma diferente según el idioma, como las abreviaturas para tipos de calle o sinónimos que pueden ser válidos en un idioma pero no en otro. Por ejemplo, utca y tér son sinónimos de “calle” en húngaro.

Información sobre el array GeocodingResults

Para cada ubicación en la solicitud (origen, destino o etapa intermedia de referencia) que se especificó como una cadena de dirección o como un Plus Code, el valor La API intenta encontrar la ubicación más relevante que tenga un sitio correspondiente ID. Cada elemento del geocodingResults el array contiene el campo placeID que contiene la ubicación como un ID de lugar y un campo type que especifica la ubicación como street_address, premise o airport.

El array geocodingResults contiene tres campos:

  • origin: Si se especificó como una cadena de dirección o como un código Plus, el ID de lugar de origen. De lo contrario, este campo se omitirá de la respuesta.

  • destination: Si se especificó como una cadena de dirección o un Plus Code, el ID de lugar del destino. De lo contrario, este campo se omitirá en la respuesta.

  • intermediates: Es un array que contiene el ID de lugar de cualquier elemento intermedio. puntos de referencia especificados como cadena de dirección o como Plus Code. Si especificas un punto de referencia intermedio con un ID de lugar o coordenadas de latitud y longitud, se omite de la respuesta. Usa la propiedad intermediateWaypointRequestIndex en la respuesta para determinar qué punto de referencia intermedio de la solicitud corresponde al ID de lugar en la respuesta.

"geocodingResults": {
    "origin": {
        "geocoderStatus": {},
        "type": [
             enum (Type)
        ],
        "placeId": string
    },
    "destination": {
        "geocoderStatus": {},
        "type": [
            enum (Type)
        ],
        "placeId": string
    },
    "intermediates": [
        {
            "geocoderStatus": {},
            "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        },
        {
           "geocoderStatus": {},
           "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        }
    ]
}

Comprende los valores de respuesta localizados

Los valores de respuesta localizados son un campo de respuesta adicional que proporciona text localizado para los valores de parámetros que se muestran. Se proporciona texto localizado para la duración del viaje, la distancia y el sistema de unidades (métrico o imperial). Tú solicitas valores localizados con una máscara de campo, y puede especificar el idioma y o usar los valores que infiere la API. Para obtener más información, consulta LocalizedValues.

Por ejemplo, si especificas un código de idioma para alemán (de) y unidades imperiales, obtienes un valor de distanceMeters de 49889.7, pero también un texto localizado que proporciona esa medición de distancia en alemán y unidades imperiales, es decir, "31 Meile".

Este es un ejemplo de lo que verías para los valores localizados:

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

Si no especificas el idioma o el sistema de unidades, la API infiere el idioma y unidades de la siguiente manera:

  • El método ComputeRoutes infiere la ubicación y la distancia desde el punto de referencia de origen. Para una solicitud de enrutamiento en EE.UU., la API infiere el idioma en-US y las unidades IMPERIAL.
  • El método ComputeRouteMatrix se establece de forma predeterminada en “en-US”. idioma y METRIC unidades.