Revisa la respuesta de la matriz de ruta

Una solicitud de matriz de ruta toma como entrada un array de puntos de referencia de origen y destino. Luego, la API de Routes calcula la ruta desde cada punto de referencia de origen hasta cada punto de referencia de destino. Por ejemplo, si especificas dos puntos de referencia de origen y dos puntos de referencia de destino, la API calcula cuatro rutas separadas.

La respuesta de la API contiene un array, en el que cada elemento del array corresponde a la ruta de un punto de referencia de origen a un punto de referencia de destino. Por lo tanto, si especificas dos puntos de referencia de origen y dos puntos de referencia de destino, el array de respuesta contendrá cuatro elementos, uno para cada ruta calculada.

Con la respuesta, puedes proporcionar a tus clientes diferentes opciones de ruta y, luego, permitir que el usuario seleccione la ruta adecuada para sus requisitos.

Acerca de las máscaras de campo

Cuando llamas a un método para calcular una ruta, debes especificar una máscara de campo que defina qué campos deseas que se muestren en la respuesta. No hay una lista predeterminada de los campos que se muestran. Si omites esta lista, los métodos mostrarán un error.

En los ejemplos de este documento, se muestra el objeto de respuesta completo sin tener en cuenta las máscaras de campo. En un entorno de producción, tu respuesta solo incluiría los campos que especifiques de forma explícita en la máscara de campo.

Para obtener más información, consulta Elige qué información mostrar.

Información sobre cómo mostrar 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

Identifica la ruta en la respuesta

Usa las propiedades de respuesta originIndex y destinationIndex para identificar cada ruta en la respuesta. Estas propiedades contienen el índice basado en cero de los puntos de referencia de origin y destination de entrada utilizados para calcular la ruta. Esto significa que el primer punto de referencia de origen y el primer punto de referencia de destino en la solicitud están en el índice de array 0.

Por ejemplo, una ruta en la respuesta contiene lo siguiente:

"originIndex": 1,
"destinationIndex": 0

Estas propiedades indican que la ruta se calculó desde el punto de referencia de origen, en el índice 1, en el array de entrada, y desde el punto de referencia de destino, en el índice 0.

Para la siguiente ruta:

"originIndex": 4,
"destinationIndex": 1

La ruta se calculó a partir del punto de referencia de origen, en el índice 4, en el array de entrada, y desde el punto de referencia de destino en el índice 1 del array de entrada.

Acerca de la respuesta

El objeto JSON que representa la respuesta de la API contiene un array, en el que cada elemento de array define la ruta desde un punto de referencia de origen hasta un punto de referencia de destino.

Junto con las propiedades originIndex y destinationIndex, cada ruta contiene información específica de esa ruta, como distanceMeters, duration y travelAdvisory.

La respuesta tiene la siguiente forma:

[
  // One array element for each combination of origin and destination waypoints.
  {
    // The route for source waypoint 0 and destination waypoint 0.
    "originIndex": 0,
    "destinationIndex": 0,
    "status": {
      object (Status)
    },
    "condition": enum (RouteMatrixElementCondition),
    "distanceMeters": integer,
    "duration": string,
    "staticDuration": string,
    "travelAdvisory": {
      object (RouteTravelAdvisory)
    },
    "fallbackInfo": {
      object (FallbackInfo)
    }
  }
  {
    // The route for source waypoint 0 and destination waypoint 1.
    "originIndex": 0,
    "destinationIndex": 1,
    "status": {
      object (Status)
    },
    "condition": enum (RouteMatrixElementCondition),
    "distanceMeters": integer,
    "duration": string,
    "staticDuration": string,
    "travelAdvisory": {
      object (RouteTravelAdvisory)
    },
    "fallbackInfo": {
      object (FallbackInfo)
    }
  }
  …
]