Compartir a través de


Route - Post Route Directions Batch

Use para enviar un lote de consultas a la API de Get Route Directions en una única solicitud asincrónica.

La API de Post Route Directions Batch es una solicitud http POST que envía lotes de consultas a la API Get Route Directions mediante una única solicitud asincrónica. Puede llamar a Route Directions Batch API para que se ejecute de forma asincrónica (asincrónica) o sincrónica (sincrónica). La API asincrónica permite al autor de la llamada procesar por lotes hasta 700 consultas y sincronizar la API hasta 100 consultas. Para llamar a la API de Post Route Directions Batch en una solicitud sincrónica, consulte Post Route Directions Batch Sync.

Enviar solicitud por lotes asincrónica

La API asincrónica es adecuada para procesar grandes volúmenes de solicitudes de ruta relativamente complejas.

  • Permite la recuperación de resultados en una llamada independiente (se pueden realizar varias descargas).
  • La API asincrónica está optimizada para la confiabilidad y no se espera que se ejecute en un tiempo de espera.
  • El número de elementos por lotes se limita a 700 para esta API.

Cuando se realiza una solicitud mediante una solicitud asincrónica, el servicio devuelve de forma predeterminada un código de respuesta 202 a lo largo de una dirección URL de redireccionamiento en el campo Ubicación del encabezado de respuesta. Esta dirección URL debe comprobarse periódicamente hasta que los datos de respuesta o la información de error estén disponibles. Las respuestas asincrónicas se almacenan durante 24 horas. La dirección URL de redireccionamiento devuelve una respuesta 404 si se usa después del período de expiración.

Tenga en cuenta que la solicitud por lotes asincrónica es una operación de larga duración. Esta es una secuencia típica de operaciones:

  1. El cliente envía una solicitud de Batch route Directions Batch POST a Azure Maps.
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
  1. El servidor responderá con uno de los siguientes elementos:

    HTTP 202 Accepted: se ha aceptado la solicitud por lotes.

    HTTP Error: se produjo un error al procesar la solicitud de Batch. Esto podría ser un 400 Bad Request o cualquier otro código de estado de Error.

  2. Si la solicitud por lotes se aceptó correctamente, el encabezado Location de la respuesta contiene la dirección URL para descargar los resultados de la solicitud por lotes. Este URI de estado es similar al siguiente:

GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key} 
  1. El cliente emite una solicitud de GET en la dirección URL de descarga de obtenida en el paso 3 para descargar los resultados del lote.

Cuerpo POST para solicitud por lotes

Para enviar las direcciones de ruta consultas, usará una solicitud de POST donde el cuerpo de la solicitud contendrá la matriz de batchItems en formato json y el encabezado Content-Type se establecerá en application/json. Este es un cuerpo de solicitud de ejemplo que contiene 3 direcciones de ruta consultas:

{
    "batchItems": [
        { "query": "?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false" },
        { "query": "?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest" },
        { "query": "?query=48.923159,-122.557362:32.621279,-116.840362" }
    ]
}

Una direcciones de ruta consulta en un lote es simplemente una dirección URL parcial sin el protocolo, la dirección URL base, la ruta de acceso, la versión de api y la clave de suscripción. Puede aceptar cualquiera de las direcciones de ruta de admitidasparámetros de URI. Los valores de cadena de la direcciones de ruta consulta deben tener un escape correcto (por ejemplo, " el carácter debe ser de escape con \ ) y también debe estar correctamente codificado con dirección URL.

La API asincrónica permite al autor de la llamada procesar por lotes hasta 700 consultas y sincronizar la API hasta 100 consultas de y el lote debe contener al menos 1 consulta de.

Descargar resultados de lotes asincrónicos

Para descargar los resultados del lote asincrónico, emitirá una solicitud de GET al punto de conexión de descarga por lotes. Esta dirección URL de descarga se puede obtener del encabezado Location de una solicitud por lotes de POST correcta y tiene el siguiente aspecto:

https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}

Esta es la secuencia típica de operaciones para descargar los resultados del lote:

  1. El cliente envía una solicitud de GET mediante la dirección URL de descarga de .

  2. El servidor responderá con uno de los siguientes elementos:

    HTTP 202 Accepted: se aceptó la solicitud por lotes, pero todavía se está procesando. Inténtelo de nuevo en algún momento.

    HTTP 200 OK: solicitud de Batch procesada correctamente. El cuerpo de la respuesta contiene todos los resultados del lote.

Modelo de respuesta por lotes

El contenido de datos devuelto es similar para las solicitudes asincrónicas y de sincronización. Al descargar los resultados de una solicitud por lotes asincrónica, si el lote ha terminado de procesarse, el cuerpo de la respuesta contiene la respuesta por lotes. Esta respuesta por lotes contiene un componente de summary que indica el totalRequests que formaron parte de la solicitud por lotes original y successfulRequestses decir, consultas que se ejecutaron correctamente. La respuesta por lotes también incluye una matriz de batchItems que contiene una respuesta para cada consulta y cada consulta de la solicitud por lotes. El batchItems contendrá los resultados en el mismo orden en que se enviaron las consultas originales en la solicitud por lotes. Cada elemento de batchItems contiene campos statusCode y response. Cada response de batchItems es de uno de los siguientes tipos:

  • RouteDirections: si la consulta se completó correctamente.

  • Error: si se produjo un error en la consulta. La respuesta contendrá un code y un message en este caso.

Esta es una respuesta por lotes de ejemplo con 1 correcto y 1 error resultado:

{
    "summary": {
        "successfulRequests": 1,
        "totalRequests": 2
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response": {
                "routes": [
                    {
                        "summary": {
                            "lengthInMeters": 1758,
                            "travelTimeInSeconds": 387,
                            "trafficDelayInSeconds": 0,
                            "departureTime": "2018-07-17T00:49:56+00:00",
                            "arrivalTime": "2018-07-17T00:56:22+00:00"
                        },
                        "legs": [
                            {
                                "summary": {
                                    "lengthInMeters": 1758,
                                    "travelTimeInSeconds": 387,
                                    "trafficDelayInSeconds": 0,
                                    "departureTime": "2018-07-17T00:49:56+00:00",
                                    "arrivalTime": "2018-07-17T00:56:22+00:00"
                                },
                                "points": [
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.34892
                                    },
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.3485
                                    },
                                    {
                                        "latitude": 47.62095,
                                        "longitude": -122.3476
                                    }
                                ]
                            }
                        ],
                        "sections": [
                            {
                                "startPointIndex": 0,
                                "endPointIndex": 40,
                                "sectionType": "TRAVEL_MODE",
                                "travelMode": "bicycle"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0

Parámetros de identificador URI

Nombre En Requerido Tipo Description
format
path True

JsonFormat

Formato deseado de la respuesta. Solo se admite json formato.

api-version
query True

string

Número de versión de la API de Azure Maps.

Encabezado de la solicitud

Nombre Requerido Tipo Description
x-ms-client-id

string

Especifica qué cuenta está pensada para su uso junto con el modelo de seguridad de Id. de Microsoft Entra. Representa un identificador único para la cuenta de Azure Maps y se puede recuperar de la API de cuenta del plano de administración de Azure Maps. Para usar la seguridad del identificador de Entra de Microsoft en Azure Maps, consulte los siguientes artículos de para obtener instrucciones.

Cuerpo de la solicitud

Nombre Tipo Description
batchItems

BatchRequestItem[]

Lista de consultas que se van a procesar.

Respuestas

Nombre Tipo Description
200 OK

RouteDirectionsBatchResult

Solicitud por lotes procesada correctamente. El cuerpo de la respuesta contiene todos los resultados del lote.

202 Accepted

Solo se admite para la solicitud asincrónica. Solicitud aceptada: la solicitud se ha aceptado para su procesamiento. Use la dirección URL en el encabezado de ubicación para reintentar o acceder a los resultados.

Encabezados

Location: string

Other Status Codes

ErrorResponse

Error inesperado.

Seguridad

AADToken

Estos son los flujos de Microsoft Entra OAuth 2.0. Cuando se empareja con acceso basado en rol de Azure control, se puede usar para controlar el acceso a las API REST de Azure Maps. Los controles de acceso basados en roles de Azure se usan para designar el acceso a una o varias cuentas de recursos o subrecursos de Azure Maps. Se puede conceder acceso a cualquier usuario, grupo o entidad de servicio a través de un rol integrado o de un rol personalizado compuesto por uno o varios permisos para las API REST de Azure Maps.

Para implementar escenarios, se recomienda ver conceptos de autenticación. En resumen, esta definición de seguridad proporciona una solución para modelar aplicaciones a través de objetos capaces de controlar el acceso en determinadas API y ámbitos.

Notas

  • Esta definición de seguridad requiere el uso del encabezado x-ms-client-id para indicar a qué recurso de Azure Maps solicita acceso la aplicación. Esto se puede adquirir desde la API de administración de Maps.

El Authorization URL es específico de la instancia de nube pública de Azure. Las nubes soberanas tienen direcciones URL de autorización únicas y configuraciones de id. de Microsoft Entra. * El control de acceso basado en rol de Azure se configura desde el plano de administración de Azure a través de Azure Portal, PowerShell, la CLI, los SDK de Azure o las API REST. * El uso de sdk web de Azure Maps permite la configuración basada en la configuración de una aplicación para varios casos de uso.

Tipo: oauth2
Flujo: implicit
Dirección URL de autorización: https://login.microsoftonline.com/common/oauth2/authorize

Ámbitos

Nombre Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Se trata de una clave compartida que se aprovisiona al Creación de una cuenta de Azure Maps en Azure Portal o mediante PowerShell, la CLI, los SDK de Azure o la API REST.

Con esta clave, cualquier aplicación puede acceder a todas las API REST. En otras palabras, esta clave se puede usar como clave maestra en la cuenta en la que se emiten.

Para las aplicaciones expuestas públicamente, nuestra recomendación es usar las aplicaciones cliente confidenciales enfoque acceder a las API REST de Azure Maps para que la clave se pueda almacenar de forma segura.

Tipo: apiKey
En: query

SAS Token

Se crea un token de firma de acceso compartido a partir de la operación List SAS en el recurso de Azure Maps a través del plano de administración de Azure a través de Azure Portal, PowerShell, CLI, SDK de Azure o API REST.

Con este token, cualquier aplicación tiene autorización para acceder a los controles de acceso basados en rol de Azure y el control específico a la expiración, la tasa y las regiones de uso para el token determinado. Es decir, el token de SAS se puede usar para permitir que las aplicaciones controle el acceso de forma más segura que la clave compartida.

En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es configurar una lista específica de orígenes permitidos en el recurso de cuenta de mapa de limitar el abuso de representación y renovar periódicamente el token de SAS.

Tipo: apiKey
En: header

Ejemplos

Successfully submit a route direction batch request

Solicitud de ejemplo

POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0

{
  "batchItems": [
    {
      "query": "?query=47.639987,-122.128384:47.621252,-122.184408:47.596437,-122.332000&routeType=fastest&travelMode=car&maxAlternatives=99"
    },
    {
      "query": "?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false"
    },
    {
      "query": "?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest"
    }
  ]
}

Respuesta de muestra

{
  "batchItems": [
    {
      "statusCode": 400,
      "response": {
        "error": {
          "code": "400 BadRequest",
          "message": "maxAlternatives parameter value should be between 0 and 5 inclusive"
        }
      }
    },
    {
      "statusCode": 200,
      "response": {
        "formatVersion": "0.0.12",
        "routes": [
          {
            "summary": {
              "lengthInMeters": 1754,
              "travelTimeInSeconds": 386,
              "trafficDelayInSeconds": 0,
              "departureTime": "2019-06-21T22:56:23+00:00",
              "arrivalTime": "2019-06-21T23:02:49+00:00"
            },
            "legs": [
              {
                "summary": {
                  "lengthInMeters": 1754,
                  "travelTimeInSeconds": 386,
                  "trafficDelayInSeconds": 0,
                  "departureTime": "2019-06-21T22:56:23+00:00",
                  "arrivalTime": "2019-06-21T23:02:49+00:00"
                },
                "points": [
                  {
                    "latitude": 47.62094,
                    "longitude": -122.34892
                  },
                  {
                    "latitude": 47.62094,
                    "longitude": -122.3485
                  },
                  {
                    "latitude": 47.62095,
                    "longitude": -122.3476
                  },
                  {
                    "latitude": 47.60995,
                    "longitude": -122.34174
                  },
                  {
                    "latitude": 47.61011,
                    "longitude": -122.342
                  }
                ]
              }
            ],
            "sections": [
              {
                "startPointIndex": 0,
                "endPointIndex": 44,
                "sectionType": "TRAVEL_MODE",
                "travelMode": "bicycle"
              }
            ]
          }
        ]
      }
    },
    {
      "statusCode": 200,
      "response": {
        "formatVersion": "0.0.12",
        "routes": [
          {
            "summary": {
              "lengthInMeters": 1772,
              "travelTimeInSeconds": 1276,
              "trafficDelayInSeconds": 0,
              "departureTime": "2019-06-21T22:56:23+00:00",
              "arrivalTime": "2019-06-21T23:17:38+00:00"
            },
            "legs": [
              {
                "summary": {
                  "lengthInMeters": 1772,
                  "travelTimeInSeconds": 1276,
                  "trafficDelayInSeconds": 0,
                  "departureTime": "2019-06-21T22:56:23+00:00",
                  "arrivalTime": "2019-06-21T23:17:38+00:00"
                },
                "points": [
                  {
                    "latitude": 40.75982,
                    "longitude": -73.98493
                  },
                  {
                    "latitude": 40.7601,
                    "longitude": -73.98483
                  },
                  {
                    "latitude": 40.75984,
                    "longitude": -73.98417
                  },
                  {
                    "latitude": 40.76047,
                    "longitude": -73.9837
                  },
                  {
                    "latitude": 40.77095,
                    "longitude": -73.9736
                  },
                  {
                    "latitude": 40.77114,
                    "longitude": -73.97356
                  }
                ]
              }
            ],
            "sections": [
              {
                "startPointIndex": 0,
                "endPointIndex": 47,
                "sectionType": "TRAVEL_MODE",
                "travelMode": "pedestrian"
              }
            ]
          }
        ]
      }
    }
  ],
  "summary": {
    "successfulRequests": 2,
    "totalRequests": 3
  }
}
operation-Location: URL to download the results of the long-running batch request.

Definiciones

Nombre Description
BatchRequest

Este tipo representa el cuerpo de la solicitud para el servicio Batch.

BatchRequestItem

Objeto de solicitud de Batch

DelayMagnitude

Magnitud del retraso causado por el incidente. Estos valores corresponden a los valores del campo de respuesta del Get Traffic Incident Detail API.

DrivingSide

Indica la conducción a la izquierda frente a la derecha en el punto de la maniobra.

EffectiveSetting

Parámetro o datos efectivos que se usan al llamar a esta ROUTE API.

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

ErrorDetail

Detalle del error.

ErrorResponse

Respuesta de error

GuidanceInstructionType

Tipo de instrucción, por ejemplo, giro o cambio de forma de carretera.

GuidanceManeuver

Código que identifica la maniobra.

JsonFormat

Formato deseado de la respuesta. Solo se admite json formato.

JunctionType

Tipo de unión donde se realiza la maniobra. Para los redondeos más grandes, se generan dos instrucciones independientes para entrar y salir de la rotonda.

LatLongPair

Ubicación representada como latitud y longitud.

Response

Resultado de la consulta. RouteDirections si la consulta se completó correctamente, ErrorResponse de lo contrario.

ResponseSectionType

Tipos de sección de la respuesta de ruta notificada

ResponseTravelMode

Modo de desplazamiento para la ruta calculada. El valor se establecerá en other si el modo de transporte solicitado no es posible en esta sección.

Route
RouteDirectionsBatchItem

Un elemento devuelto desde la llamada al servicio Route Directions Batch.

RouteDirectionsBatchResult

Este objeto se devuelve de una llamada de servicio de Route Directions Batch correcta.

RouteGuidance

Contiene elementos relacionados con instrucciones. Este campo solo está presente cuando se solicitó la guía y está disponible.

RouteInstruction

Un conjunto de atributos que describen una maniobra, por ejemplo, "Girar a la derecha", "Mantener la izquierda", "Tomar el ferry", "Tomar la autopista", "Llegar".

RouteInstructionGroup

Agrupa una secuencia de elementos de instrucción que se relacionan entre sí. El intervalo de secuencia está restringido con firstInstructionIndex y lastInstructionIndex. Cuando se solicitan mensajes de texto legibles para instrucciones (instructionType=text o etiquetados), el elemento instructionGroup tiene un mensaje de resumen devuelto cuando está disponible.

RouteLeg

Descripción de una parte de una ruta, formada por una lista de puntos. Cada punto de acceso adicional proporcionado en la solicitud dará como resultado una etapa adicional en la ruta devuelta.

RouteLegSummary

Objeto de resumen para la sección de ruta.

RouteOptimizedWaypoint

Objeto de punto de forma optimizado.

RouteReport

Informa de la configuración efectiva que se usa en la llamada actual.

RouteSection

Las secciones de ruta contienen información adicional sobre las partes de una ruta. Cada sección contiene al menos los elementos startPointIndex, endPointIndexy sectionType.

RouteSectionTec

Detalles del evento de tráfico, usando definiciones en el estándar TPEG2-TEC de . Puede contener effectCode y provoca elementos.

RouteSectionTecCause

Causa del evento de tráfico. Puede contener elementos mainCauseCode y subCauseCode. Se puede usar para definir la iconografía y las descripciones.

RouteSummary

Summary (objeto)

SimpleCategory

Tipo del incidente. Actualmente puede ser JAM, ROAD_WORK, ROAD_CLOSURE u OTROS. Consulte "tec" para obtener información detallada.

Summary

Resumen de los resultados de la solicitud por lotes

BatchRequest

Este tipo representa el cuerpo de la solicitud para el servicio Batch.

Nombre Tipo Description
batchItems

BatchRequestItem[]

Lista de consultas que se van a procesar.

BatchRequestItem

Objeto de solicitud de Batch

Nombre Tipo Description
query

string

Este parámetro contiene una cadena de consulta que se usa para realizar una operación de geocodificación no estructurada. La cadena de consulta se pasará textualmente a la API de búsqueda para su procesamiento.

DelayMagnitude

Magnitud del retraso causado por el incidente. Estos valores corresponden a los valores del campo de respuesta del Get Traffic Incident Detail API.

Nombre Tipo Description
0

string

Desconocido.

1

string

Menor.

2

string

Moderado.

3

string

Destacado.

4

string

No definido, utilizado para cierres de carreteras y otros retrasos indefinidos.

DrivingSide

Indica la conducción a la izquierda frente a la derecha en el punto de la maniobra.

Nombre Tipo Description
LEFT

string

Izquierda.

RIGHT

string

Derecho.

EffectiveSetting

Parámetro o datos efectivos que se usan al llamar a esta ROUTE API.

Nombre Tipo Description
key

string

Nombre del parámetro usado.

value

string

Valor del parámetro usado.

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

Nombre Tipo Description
info

object

Información adicional.

type

string

Tipo de información adicional.

ErrorDetail

Detalle del error.

Nombre Tipo Description
additionalInfo

ErrorAdditionalInfo[]

Información adicional del error.

code

string

Código de error.

details

ErrorDetail[]

Detalles del error.

message

string

Mensaje de error.

target

string

Destino del error.

ErrorResponse

Respuesta de error

Nombre Tipo Description
error

ErrorDetail

Objeto de error.

GuidanceInstructionType

Tipo de instrucción, por ejemplo, giro o cambio de forma de carretera.

Nombre Tipo Description
DIRECTION_INFO

string

Información de dirección.

LOCATION_ARRIVAL

string

Ubicación de llegada.

LOCATION_DEPARTURE

string

Ubicación de salida.

LOCATION_WAYPOINT

string

Ubicación del punto de acceso.

ROAD_CHANGE

string

Cambio de carretera.

TURN

string

Giro.

GuidanceManeuver

Código que identifica la maniobra.

Nombre Tipo Description
ARRIVE

string

Has llegado.

ARRIVE_LEFT

string

Has llegado. El destino está a la izquierda.

ARRIVE_RIGHT

string

Has llegado. El destino está a la derecha.

BEAR_LEFT

string

Oso a la izquierda.

BEAR_RIGHT

string

Oso a la derecha.

DEPART

string

Salir.

ENTER_FREEWAY

string

Tome la autopista.

ENTER_HIGHWAY

string

Tome la carretera.

ENTER_MOTORWAY

string

Tome la autopista.

ENTRANCE_RAMP

string

Toma la rampa.

FOLLOW

string

Seguir.

KEEP_LEFT

string

Mantente a la izquierda.

KEEP_RIGHT

string

Mantente bien.

MAKE_UTURN

string

Haz un giro.

MOTORWAY_EXIT_LEFT

string

Tome la salida izquierda.

MOTORWAY_EXIT_RIGHT

string

Tome la salida correcta.

ROUNDABOUT_BACK

string

Ve por la rotonda.

ROUNDABOUT_CROSS

string

Cruza la rotonda.

ROUNDABOUT_LEFT

string

En la rotonda, tome la salida a la izquierda.

ROUNDABOUT_RIGHT

string

En la rotonda, tome la salida a la derecha.

SHARP_LEFT

string

Gire a la izquierda afilada.

SHARP_RIGHT

string

Gire a la derecha.

STRAIGHT

string

Mantente en línea.

SWITCH_MAIN_ROAD

string

Cambie a la carretera principal.

SWITCH_PARALLEL_ROAD

string

Cambie a la carretera paralela.

TAKE_EXIT

string

Tome la salida.

TAKE_FERRY

string

Tome el ferry.

TRY_MAKE_UTURN

string

Intenta hacer un giro U.

TURN_LEFT

string

Gire a la izquierda.

TURN_RIGHT

string

Gire a la derecha.

WAYPOINT_LEFT

string

Ha llegado al punto de acceso. Está a la izquierda.

WAYPOINT_REACHED

string

Ha llegado al punto de acceso.

WAYPOINT_RIGHT

string

Ha llegado al punto de acceso. Está a la derecha.

JsonFormat

Formato deseado de la respuesta. Solo se admite json formato.

Nombre Tipo Description
json

string

el formato de intercambio de datos de notación de objetos JavaScript

JunctionType

Tipo de unión donde se realiza la maniobra. Para los redondeos más grandes, se generan dos instrucciones independientes para entrar y salir de la rotonda.

Nombre Tipo Description
BIFURCATION

string

bifurcación

REGULAR

string

regular

ROUNDABOUT

string

rotonda

LatLongPair

Ubicación representada como latitud y longitud.

Nombre Tipo Description
latitude

number

Latitude (propiedad)

longitude

number

Longitud (propiedad)

Response

Resultado de la consulta. RouteDirections si la consulta se completó correctamente, ErrorResponse de lo contrario.

Nombre Tipo Description
error

ErrorDetail

Objeto de error.

formatVersion

string

Propiedad Format Version

optimizedWaypoints

RouteOptimizedWaypoint[]

Secuencia optimizada de puntos de referencia. Muestra el índice de la secuencia de punto de acceso proporcionada por el usuario para la lista original y optimizada. Por ejemplo, una respuesta:

<optimizedWaypoints>
<waypoint providedIndex="0" optimizedIndex="1"/>
<waypoint providedIndex="1" optimizedIndex="2"/>
<waypoint providedIndex="2" optimizedIndex="0"/>
</optimizedWaypoints>

significa que la secuencia original es [0, 1, 2] y la secuencia optimizada es [1, 2, 0]. Puesto que el índice comienza por 0, el original es "primero, segundo, tercero" mientras que el optimizado es "segundo, tercero, primero".

report

RouteReport

Informa de la configuración efectiva que se usa en la llamada actual.

routes

Route[]

Matriz de rutas

ResponseSectionType

Tipos de sección de la respuesta de ruta notificada

Nombre Tipo Description
CARPOOL

string

Secciones de la ruta que requieren el uso de carpool (vehículo de alta ocupación HOV/vehículos de alta ocupación).

CAR_TRAIN

string

Secciones de la ruta que son coches o trenes.

COUNTRY

string

Secciones que indican en qué países o regiones se encuentra la ruta.

FERRY

string

Secciones de la ruta que son ferries.

MOTORWAY

string

Secciones de la ruta que son autopistas.

PEDESTRIAN

string

Secciones de la ruta que solo son adecuadas para los peatones.

TOLL_ROAD

string

Secciones de la ruta que requieren que se pague un peaje.

TOLL_VIGNETTE

string

Secciones de la ruta que requieren que haya una viñeta de peaje.

TRAFFIC

string

Secciones de la ruta que contienen información de tráfico.

TRAVEL_MODE

string

Secciones en relación con el parámetro de solicitud travelMode.

TUNNEL

string

Secciones de la ruta que son túneles.

URBAN

string

Secciones de la ruta que se encuentran dentro de las zonas urbanas.

ResponseTravelMode

Modo de desplazamiento para la ruta calculada. El valor se establecerá en other si el modo de transporte solicitado no es posible en esta sección.

Nombre Tipo Description
bicycle

string

Las rutas devueltas están optimizadas para bicicletas, incluido el uso de carriles de bicicletas.

bus

string

Las rutas devueltas están optimizadas para los autobuses, incluido el uso de solo las carriles de autobús. Funcionalidad BETA.

car

string

Las rutas devueltas están optimizadas para automóviles.

motorcycle

string

Las rutas devueltas están optimizadas para motocicletas. Funcionalidad BETA.

other

string

El modo de transporte dado no es posible en esta sección.

pedestrian

string

Las rutas devueltas están optimizadas para los peatones, incluido el uso de aceras.

taxi

string

Las rutas devueltas están optimizadas para taxis. Funcionalidad BETA.

truck

string

Las rutas devueltas están optimizadas para vehículos comerciales, como para camiones.

van

string

Las rutas devueltas están optimizadas para las camionetas. Funcionalidad BETA.

Route

Nombre Tipo Description
guidance

RouteGuidance

Contiene elementos relacionados con instrucciones. Este campo solo está presente cuando se solicitó la guía y está disponible.

legs

RouteLeg[]

Matriz de piernas

sections

RouteSection[]

Matriz de secciones

summary

RouteSummary

Summary (objeto)

RouteDirectionsBatchItem

Un elemento devuelto desde la llamada al servicio Route Directions Batch.

Nombre Tipo Description
response

Response

Resultado de la consulta. RouteDirections si la consulta se completó correctamente, ErrorResponse de lo contrario.

statusCode

integer

Código de estado de la solicitud HTTP.

RouteDirectionsBatchResult

Este objeto se devuelve de una llamada de servicio de Route Directions Batch correcta.

Nombre Tipo Description
batchItems

RouteDirectionsBatchItem[]

Matriz que contiene los resultados del lote.

summary

Summary

Resumen de los resultados de la solicitud por lotes

RouteGuidance

Contiene elementos relacionados con instrucciones. Este campo solo está presente cuando se solicitó la guía y está disponible.

Nombre Tipo Description
instructionGroups

RouteInstructionGroup[]

Agrupa una secuencia de elementos de instrucción que se relacionan entre sí.

instructions

RouteInstruction[]

Lista de instrucciones que describen maniobras.

RouteInstruction

Un conjunto de atributos que describen una maniobra, por ejemplo, "Girar a la derecha", "Mantener la izquierda", "Tomar el ferry", "Tomar la autopista", "Llegar".

Nombre Tipo Description
combinedMessage

string

Un mensaje legible para la maniobra combinada con el mensaje de la siguiente instrucción. A veces es posible combinar dos instrucciones sucesivas en una sola instrucción, lo que facilita el seguimiento. Cuando este es el caso, la marca possibleCombineWithNext será true. Por ejemplo:

10. Turn left onto Einsteinweg/A10/E22 towards Ring Amsterdam
11. Follow Einsteinweg/A10/E22 towards Ring Amsterdam

La marca possibleCombineWithNext en la instrucción 10 es true. Esto indica a los clientes de instrucciones codificadas que se pueden combinar con la instrucción 11. Las instrucciones se combinarán automáticamente para los clientes que solicitan instrucciones legibles. El campo combinedMessage contiene el mensaje combinado:

Turn left onto Einsteinweg/A10/E22 towards Ring Amsterdam
then follow Einsteinweg/A10/E22 towards Ring Amsterdam.
countryCode

string

3 caracteres código de país ISO 3166-1 código de país alfa-3. Por ejemplo, EE. UU.

drivingSide

DrivingSide

Indica la conducción a la izquierda frente a la derecha en el punto de la maniobra.

exitNumber

string

Número de una salida de autopista tomada por la maniobra actual. Si una salida tiene varios números de salida, se separarán por "," y posiblemente se agregarán por "-", por ejemplo, "10, 13-15".

instructionType

GuidanceInstructionType

Tipo de instrucción, por ejemplo, giro o cambio de forma de carretera.

junctionType

JunctionType

Tipo de unión donde se realiza la maniobra. Para los redondeos más grandes, se generan dos instrucciones independientes para entrar y salir de la rotonda.

maneuver

GuidanceManeuver

Código que identifica la maniobra.

message

string

Un mensaje legible para la maniobra.

point

LatLongPair

Ubicación representada como latitud y longitud.

pointIndex

integer

Índice del punto de la lista de "puntos" de polilínea correspondiente al punto de la instrucción.

possibleCombineWithNext

boolean

Opcionalmente, es posible combinar la instrucción con la siguiente. Esto se puede usar para compilar mensajes como "Turn left and then turn right" (Girar a la izquierda y, a continuación, girar a la derecha).

roadNumbers

string[]

Los números de carretera de los siguientes segmentos significativos de carretera después de la maniobra, o de las carreteras que se van a seguir. Ejemplo: ["E34", "N205"]

roundaboutExitNumber

integer

Esto indica qué salida se va a tomar en una rotonda.

routeOffsetInMeters

integer

Distancia desde el inicio de la ruta hasta el punto de la instrucción.

signpostText

string

Texto sobre un cartel que es más relevante para la maniobra, o hacia la dirección que se debe seguir.

stateCode

string

Subdivisión (por ejemplo, estado) del país, representada por la segunda parte de una código iso 3166-2. Esto solo está disponible para algunos países o regiones como Estados Unidos, Canadá y México.

street

string

Nombre de la calle del siguiente segmento significativo de carretera después de la maniobra, o de la calle que debe seguirse.

travelTimeInSeconds

integer

Tiempo de viaje estimado hasta el punto correspondiente a routeOffsetInMeters.

turnAngleInDecimalDegrees

integer

Indica la dirección de una instrucción. Si junctionType indica una instrucción turn:

  • 180 = U-turn
  • [-179, -1] = Giro a la izquierda
  • 0 = Recta en (un giro '0 grados')
  • [1, 179] = Turno a la derecha

Si junctionType indica una instrucción de bifurcación:

  • <0: mantener la izquierda
  • >0: mantener la derecha

RouteInstructionGroup

Agrupa una secuencia de elementos de instrucción que se relacionan entre sí. El intervalo de secuencia está restringido con firstInstructionIndex y lastInstructionIndex. Cuando se solicitan mensajes de texto legibles para instrucciones (instructionType=text o etiquetados), el elemento instructionGroup tiene un mensaje de resumen devuelto cuando está disponible.

Nombre Tipo Description
firstInstructionIndex

integer

Índice de la primera instrucción de las instrucciones y pertenencia a este grupo.

groupLengthInMeters

integer

Longitud del grupo.

groupMessage

string

Mensaje de resumen cuando se solicitan mensajes de texto legibles para instrucciones (instructionType=text o etiquetado).

lastInstructionIndex

integer

Índice de la última instrucción de las instrucciones y pertenencia a este grupo.

RouteLeg

Descripción de una parte de una ruta, formada por una lista de puntos. Cada punto de acceso adicional proporcionado en la solicitud dará como resultado una etapa adicional en la ruta devuelta.

Nombre Tipo Description
points

LatLongPair[]

Matriz de puntos

summary

RouteLegSummary

Objeto de resumen para la sección de ruta.

RouteLegSummary

Objeto de resumen para la sección de ruta.

Nombre Tipo Description
arrivalTime

string

Hora estimada de llegada para la ruta o la pierna. La hora está en UTC.

batteryConsumptionInkWh

number

Consumo estimado de energía eléctrica en kilowatt hours (kWh) utilizando el modelo de consumo eléctrico. Se incluye si vehicleEngineType se establece en electric y constantSpeedConsumptionInkWhPerHundredkm se especifica. El valor de batteryConsumptionInkWh incluye la energía eléctrica recuperada y, por tanto, puede ser negativo (lo que indica la obtención de energía). Si se especifican maxChargeInkWh y currentChargeInkWh, se limitará la recuperación para asegurarse de que el nivel de carga de la batería nunca supere maxChargeInkWh. Si no se especifican maxChargeInkWh ni currentChargeInkWh, se asume la recuperación sin restricciones en el cálculo del consumo.

departureTime

string

Hora estimada de salida para la ruta o la pierna. La hora está en UTC.

fuelConsumptionInLiters

number

Consumo estimado de combustible en litros utilizando el modelo de consumo de combustión. Se incluye si vehicleEngineType se establece en de combustión y se especifica constantSpeedConsumptionInLitersPerHundredkm. El valor no será negativo.

historicTrafficTravelTimeInSeconds

integer

Tiempo estimado de viaje calculado mediante datos de tráfico histórico dependientes del tiempo. Solo se incluye si computeAdvisorTimeFor = todo se usa en la consulta.

lengthInMeters

integer

Length In Meters (propiedad)

liveTrafficIncidentsTravelTimeInSeconds

integer

Tiempo estimado de viaje calculado mediante datos de velocidad en tiempo real. Solo se incluye si computeAdvisorTimeFor = todo se usa en la consulta.

noTrafficTravelTimeInSeconds

integer

Tiempo estimado de viaje calculado como si no hay retrasos en la ruta debido a condiciones de tráfico (por ejemplo, congestión). Solo se incluye si computeAdvisorTimeFor = todo se usa en la consulta.

trafficDelayInSeconds

integer

Retraso estimado en segundos causado por los incidentes en tiempo real según la información de tráfico. En el caso de las rutas planeadas con la hora de salida en el futuro, los retrasos siempre son 0. Para devolver tiempos de desplazamiento adicionales mediante diferentes tipos de información de tráfico, es necesario agregar el parámetro computeAdvisorTimeFor=all.

travelTimeInSeconds

integer

Tiempo estimado de viaje en segundos propiedad que incluye el retraso debido al tráfico en tiempo real. Tenga en cuenta que incluso cuando traffic=false travelTimeInSeconds todavía incluye el retraso debido al tráfico. Si DepartAt está en el futuro, el tiempo de viaje se calcula con datos de tráfico histórico dependientes del tiempo.

RouteOptimizedWaypoint

Objeto de punto de forma optimizado.

Nombre Tipo Description
optimizedIndex

integer

Índice de punto de forma optimizado desde el sistema.

providedIndex

integer

Índice de punto de acceso proporcionado por el usuario.

RouteReport

Informa de la configuración efectiva que se usa en la llamada actual.

Nombre Tipo Description
effectiveSettings

EffectiveSetting[]

Parámetros o datos efectivos usados al llamar a route API.

RouteSection

Las secciones de ruta contienen información adicional sobre las partes de una ruta. Cada sección contiene al menos los elementos startPointIndex, endPointIndexy sectionType.

Nombre Tipo Description
delayInSeconds

integer

Retraso en segundos causado por el incidente.

effectiveSpeedInKmh

integer

Velocidad efectiva del incidente en km/h, promedio en toda su longitud.

endPointIndex

integer

Índice del último punto (desplazamiento 0) de la ruta a la que se aplica esta sección.

magnitudeOfDelay

DelayMagnitude

Magnitud del retraso causado por el incidente. Estos valores corresponden a los valores del campo de respuesta del Get Traffic Incident Detail API.

sectionType

ResponseSectionType

Tipos de sección de la respuesta de ruta notificada

simpleCategory

SimpleCategory

Tipo del incidente. Actualmente puede ser JAM, ROAD_WORK, ROAD_CLOSURE u OTROS. Consulte "tec" para obtener información detallada.

startPointIndex

integer

Índice del primer punto (desplazamiento 0) de la ruta a la que se aplica esta sección.

tec

RouteSectionTec

Detalles del evento de tráfico, usando definiciones en el estándar TPEG2-TEC de . Puede contener effectCode y provoca elementos.

travelMode

ResponseTravelMode

Modo de desplazamiento para la ruta calculada. El valor se establecerá en other si el modo de transporte solicitado no es posible en esta sección.

RouteSectionTec

Detalles del evento de tráfico, usando definiciones en el estándar TPEG2-TEC de . Puede contener effectCode y provoca elementos.

Nombre Tipo Description
causes

RouteSectionTecCause[]

Causas de la matriz

effectCode

integer

Efecto en el flujo de tráfico. Contiene un valor en la tabla tec001:EffectCode, tal como se define en el estándar TPEG2-TEC de . Se puede usar para codificar los eventos de tráfico de color según la gravedad.

RouteSectionTecCause

Causa del evento de tráfico. Puede contener elementos mainCauseCode y subCauseCode. Se puede usar para definir la iconografía y las descripciones.

Nombre Tipo Description
mainCauseCode

integer

Causa principal del evento de tráfico. Contiene un valor en la tabla tec002:CauseCode, tal como se define en el estándar TPEG2-TEC .

subCauseCode

integer

Subcause del evento de tráfico. Contiene un valor en la tabla de sub causa definida por mainCauseCode, tal como se define en el estándar TPEG2-TEC de .

RouteSummary

Summary (objeto)

Nombre Tipo Description
arrivalTime

string

Hora estimada de llegada para la ruta o la pierna. La hora está en UTC.

departureTime

string

Hora estimada de salida para la ruta o la pierna. La hora está en UTC.

lengthInMeters

integer

Length In Meters (propiedad)

trafficDelayInSeconds

integer

Retraso estimado en segundos causado por los incidentes en tiempo real según la información de tráfico. En el caso de las rutas planeadas con la hora de salida en el futuro, los retrasos siempre son 0. Para devolver tiempos de desplazamiento adicionales mediante diferentes tipos de información de tráfico, es necesario agregar el parámetro computeAdvisorTimeFor=all.

travelTimeInSeconds

integer

Tiempo estimado de viaje en segundos propiedad que incluye el retraso debido al tráfico en tiempo real. Tenga en cuenta que incluso cuando traffic=false travelTimeInSeconds todavía incluye el retraso debido al tráfico. Si DepartAt está en el futuro, el tiempo de viaje se calcula con datos de tráfico histórico dependientes del tiempo.

SimpleCategory

Tipo del incidente. Actualmente puede ser JAM, ROAD_WORK, ROAD_CLOSURE u OTROS. Consulte "tec" para obtener información detallada.

Nombre Tipo Description
JAM

string

Atasco.

OTHER

string

Otro.

ROAD_CLOSURE

string

Cierre de carreteras.

ROAD_WORK

string

Trabajo de carretera.

Summary

Resumen de los resultados de la solicitud por lotes

Nombre Tipo Description
successfulRequests

integer

Número de solicitudes correctas en el lote

totalRequests

integer

Número total de solicitudes en el lote