El servicio de enrutamiento se puede utilizar para encontrar la mejor ruta para ir de un lugar a otro o para visitar varias ubicaciones. La mejor ruta puede ser la más rápida para un momento del día dado, teniendo en cuenta las condiciones de tráfico aplicables durante ese tiempo. Si tiene más de dos paradas que visitar, el servicio de enrutamiento puede determinar el mejor orden en el que visitar las ubicaciones (el problema del vendedor viajero).
Parámetros requeridos:
stops - Especificar dos o más ubicaciones delimitadas por puntos y coma (Lat/Lng) entre las cuales se debe encontrar la ruta. Máx: 25.Parámetros opcionales:
avoid_highways - La ruta debe evitar autopistas.avoid_tolls - La ruta debe evitar carreteras de peaje.avoid_ferries - La ruta debe evitar ferris.geometry_format - El formato de la geometría de la ruta devuelta: latlng o lnglat. Predeterminado: latlngoptimize - Instruye a la API para reordenar las paradas y encontrar la ruta optimizada. El orden de la primera y última parada de la ruta no se cambia, su posición se considera fija.Parámetros requeridos:
origin - La ubicación desde la cual deseas calcular direcciones.destination - La ubicación a la que deseas calcular direcciones.Parámetros opcionales:
avoid_highways - La ruta debe evitar autopistas.avoid_tolls - La ruta debe evitar carreteras de peaje.avoid_ferries - La ruta debe evitar ferris.geometry_format - El formato de la geometría de la ruta devuelta: latlng o lnglat. Predeterminado: latlngstart_time - Hora en que se espera que comience el viaje. Esta hora se utiliza para tener en cuenta las condiciones de tráfico. Puedes especificar la hora como un entero en segundos desde la medianoche del 1 de enero de 1970 UTC o puedes usar “ahora” para especificar la hora actual.La principal diferencia entre FindDrivingRoute y FindDrivingPath es que FindDrivingRoute está optimizado para una ruta con múltiples paradas y puede optimizar la ruta (reordenar paradas) con el parámetro optimize=true. FindDrivingPath no cambia el orden de visita de los puntos, pero está optimizado para una ruta entre dos puntos. Además, FindDrivingPath puede tener en cuenta las condiciones de tráfico.
El servicio devuelve una ruta óptima con información detallada:
Una Ruta contiene los siguientes campos:
distance contiene la longitud de la ruta (metros).duration contiene el tiempo de la ruta (segundos).geometry contiene la geometría de la ruta. Por defecto, la geometría contiene un solo coordinates objeto, que es un array bidimensional de puntos (Latitud/Longitud).bounds contiene los límites de la geometría.legs contiene un array que contiene información sobre un tramo de la ruta, entre dos ubicaciones dentro de la ruta. Una ruta sin puntos intermedios contendrá exactamente un tramo dentro del array de tramos. Cada tramo consiste en una serie de pasos.Un Tramo contiene los siguientes campos:
distance contiene la longitud del tramo (metros).duration contiene el tiempo del tramo (segundos).start_point_index contiene el índice del punto (dentro del geometry.coordinates array) en el cual comienza el tramo.start_point contiene la coordenada del punto (dentro del geometry.coordinates array) en el cual comienza el tramo.end_point_index contiene el índice del punto (dentro del geometry.coordinates array) en el cual finaliza el tramo.end_point contiene la coordenada del punto (dentro del geometry.coordinates array) en el cual finaliza el tramo.bounds contiene los límites de la geometría del tramo.steps contiene un array que contiene información sobre un paso del tramo.Un Paso contiene los siguientes campos:
distance contiene la longitud del paso (metros).duration contiene el tiempo del paso (segundos).start_point_index contiene el índice del punto (dentro del geometry.coordinates array) en el cual comienza el paso.start_point contiene la coordenada del punto (dentro del geometry.coordinates array) en el cual comienza el paso.end_point_index contiene el índice del punto (dentro del geometry.coordinates array) en el cual finaliza el paso.end_point contiene la coordenada del punto (dentro del geometry.coordinates array) en el cual finaliza el paso.bounds contiene los límites de la geometría del paso.maneuver contiene la acción a tomar para el paso (“girar a la izquierda”, “girar a la derecha”, etc.).Ten en cuenta que para FindDrivingPath, la ruta no contiene el campo legs sino que contiene directamente el campo steps.
Encontrar la ruta óptima para visitar múltiples lugares
EncontrarRutaDeConducción - Características del Endpoint
| Objeto | Descripción |
|---|---|
stops |
[Requerido] Specify two or more semicolon-delimited locations(Lat/Lng) between which the route is to be found. Max: 25. For Example: 40.629041,-74.025606;40.630099,-73.993521;40.644895,-74.013818;40.627177,-73.980853 |
optimize |
Opcional true for reorder stops to find the optimized route. The route first stop and last stop order is not changed, their position is considered fixed. |
avoid_ferries |
Opcional true for avoid ferries. Default: false |
avoid_highways |
Opcional true for avoid highways. Default: false |
avoid_tolls |
Opcional true for avoid toll roads. Default: false |
{
"route": {
"distance": 10148,
"duration": 2654,
"bounds": {
"south": 40.618996,
"west": -74.025801,
"north": 40.645331,
"east": -73.98078
},
"geometry": {
"coordinates": [
[
40.629103,
-74.025801
],
[
40.629409,
-74.025679
],
[
40.630117,
-74.025375
],
[
40.630245,
-74.025325
],
[
40.630726,
-74.025122
],
[
40.630804,
-74.025081
],
[
40.630814,
-74.02499
],
[
40.630804,
-74.024939
],
[
40.630794,
-74.024899
],
[
40.630785,
-74.024858
],
[
40.630726,
-74.024726
],
[
40.630677,
-74.024635
],
[
40.630667,
-74.024625
],
[
40.630402,
-74.024169
],
[
40.62996,
-74.023422
],
[
40.629901,
-74.023321
],
[
40.629773,
-74.02312
],
[
40.629695,
-74.02297
],
[
40.629478,
-74.02264
],
[
40.628726,
-74.021398
],
[
40.628057,
-74.020293
],
[
40.627946,
-74.020106
],
[
40.627876,
-74.020007
],
[
40.627755,
-74.01981
],
[
40.627624,
-74.019592
],
[
40.627493,
-74.019385
],
[
40.627432,
-74.019286
],
[
40.627382,
-74.019196
],
[
40.627271,
-74.019018
],
[
40.627068,
-74.01868
],
[
40.626977,
-74.01851
],
[
40.626967,
-74.0185
]
]
},
"legs": [
{
"distance": 3919,
"duration": 816,
"start_point_index": 0,
"start_point": {
"lat": 40.629103,
"lng": -74.025801
},
"end_point_index": 120,
"end_point": {
"lat": 40.630157,
"lng": -73.993608
},
"bounds": {
"south": 40.618996,
"west": -74.025801,
"north": 40.630814,
"east": -73.993608
},
"steps": [
{
"distance": 199,
"duration": 40,
"start_point_index": 0,
"start_point": {
"lat": 40.629103,
"lng": -74.025801
},
"end_point_index": 5,
"end_point": {
"lat": 40.630804,
"lng": -74.025081
},
"bounds": {
"south": 40.629103,
"west": -74.025801,
"north": 40.630804,
"east": -74.025081
}
},
{
"distance": 2137,
"duration": 367,
"start_point_index": 5,
"start_point": {
"lat": 40.630804,
"lng": -74.025081
},
"end_point_index": 77,
"end_point": {
"lat": 40.618996,
"lng": -74.005211
},
"bounds": {
"south": 40.618996,
"west": -74.025081,
"north": 40.630814,
"east": -74.005211
},
"maneuver": "turn right"
},
{
"distance": 1583,
"duration": 409,
"start_point_index": 77,
"start_point": {
"lat": 40.618996,
"lng": -74.005211
},
"end_point_index": 120,
"end_point": {
"lat": 40.630157,
"lng": -73.993608
},
"bounds": {
"south": 40.618996,
"west": -74.005211,
"north": 40.630157,
"east": -73.993608
},
"maneuver": "turn left"
}
]
},
{
"distance": 2600,
"duration": 747,
"start_point_index": 120,
"start_point": {
"lat": 40.630157,
"lng": -73.993608
},
"end_point_index": 155,
"end_point": {
"lat": 40.645027,
"lng": -74.01398
},
"bounds": {
"south": 40.630157,
"west": -74.015422,
"north": 40.645027,
"east": -73.993411
},
"steps": [
{
"distance": 27,
"duration": 6,
"start_point_index": 120,
"start_point": {
"lat": 40.630157,
"lng": -73.993608
},
"end_point_index": 121,
"end_point": {
"lat": 40.630343,
"lng": -73.993411
},
"bounds": {
"south": 40.630157,
"west": -73.993608,
"north": 40.630343,
"east": -73.993411
}
},
{
"distance": 2376,
"duration": 675,
"start_point_index": 121,
"start_point": {
"lat": 40.630343,
"lng": -73.993411
},
"end_point_index": 151,
"end_point": {
"lat": 40.643633,
"lng": -74.015422
},
"bounds": {
"south": 40.630343,
"west": -74.015422,
"north": 40.643633,
"east": -73.993411
},
"maneuver": "turn left"
},
{
"distance": 197,
"duration": 66,
"start_point_index": 151,
"start_point": {
"lat": 40.643633,
"lng": -74.015422
},
"end_point_index": 155,
"end_point": {
"lat": 40.645027,
"lng": -74.01398
},
"bounds": {
"south": 40.643633,
"west": -74.015422,
"north": 40.645027,
"east": -74.01398
},
"maneuver": "turn right"
}
]
},
{
"distance": 3629,
"duration": 1091,
"start_point_index": 155,
"start_point": {
"lat": 40.645027,
"lng": -74.01398
},
"end_point_index": 210,
"end_point": {
"lat": 40.627281,
"lng": -73.98078
},
"bounds": {
"south": 40.627281,
"west": -74.01398,
"north": 40.645331,
"east": -73.98078
},
"steps": [
{
"distance": 43,
"duration": 9,
"start_point_index": 155,
"start_point": {
"lat": 40.645027,
"lng": -74.01398
},
"end_point_index": 156,
"end_point": {
"lat": 40.645331,
"lng": -74.01366
},
"bounds": {
"south": 40.645027,
"west": -74.01398,
"north": 40.645331,
"east": -74.01366
}
},
{
"distance": 3117,
"duration": 933,
"start_point_index": 156,
"start_point": {
"lat": 40.645331,
"lng": -74.01366
},
"end_point_index": 202,
"end_point": {
"lat": 40.627896,
"lng": -73.984796
},
"bounds": {
"south": 40.627896,
"west": -74.01366,
"north": 40.645331,
"east": -73.984796
},
"maneuver": "turn right"
},
{
"distance": 158,
"duration": 58,
"start_point_index": 202,
"start_point": {
"lat": 40.627896,
"lng": -73.984796
},
"end_point_index": 204,
"end_point": {
"lat": 40.629023,
"lng": -73.983661
},
"bounds": {
"south": 40.627896,
"west": -73.984796,
"north": 40.629023,
"east": -73.983661
},
"maneuver": "turn left"
},
{
"distance": 311,
"duration": 91,
"start_point_index": 204,
"start_point": {
"lat": 40.629023,
"lng": -73.983661
},
"end_point_index": 210,
"end_point": {
"lat": 40.627281,
"lng": -73.98078
},
"bounds": {
"south": 40.627281,
"west": -73.983661,
"north": 40.629023,
"east": -73.98078
},
"maneuver": "turn right"
}
]
}
]
}
}
curl --location --request GET 'https://zylalabs.com/api/3932/trueway+routing+api/4659/finddrivingroute?stops=40.629041,-74.025606;40.630099,-73.993521;40.644895,-74.013818;40.627177,-73.980853' --header 'Authorization: Bearer YOUR_API_KEY'
Encontrar la mejor ruta entre un origen y un destino
EncontrarRutaDeConducción - Características del Endpoint
| Objeto | Descripción |
|---|---|
origin |
[Requerido] The location from which you wish to calculate directions. For Example: 40.629041,-74.025606 |
destination |
[Requerido] The location to which you wish to calculate directions. For Example: 40.627177,-73.980853 |
start_time |
Opcional Time when travel is expected to start. You can specify the time as an integer in seconds since midnight, January 1, 1970 UTC or you can use "now" to specify the current time. |
avoid_ferries |
Opcional true for avoid ferries. Default: false |
avoid_highways |
Opcional true for avoid highways. Default: false |
avoid_tolls |
Opcional true for avoid toll roads. Default: false |
{
"route": {
"distance": 5395,
"duration": 1094,
"bounds": {
"south": 40.620537,
"west": -74.025801,
"north": 40.630814,
"east": -73.98078
},
"geometry": {
"coordinates": [
[
40.629103,
-74.025801
],
[
40.629409,
-74.025679
],
[
40.630117,
-74.025375
],
[
40.630245,
-74.025325
],
[
40.630726,
-74.025122
],
[
40.630804,
-74.025081
],
[
40.630814,
-74.02499
],
[
40.630804,
-74.024939
],
[
40.630794,
-74.024899
],
[
40.630785,
-74.024858
],
[
40.630726,
-74.024726
],
[
40.630677,
-74.024635
],
[
40.630667,
-74.024625
],
[
40.630402,
-74.024169
],
[
40.62996,
-74.023422
],
[
40.629901,
-74.023321
],
[
40.629773,
-74.02312
],
[
40.629695,
-74.02297
],
[
40.629478,
-74.02264
],
[
40.628726,
-74.021398
],
[
40.628057,
-74.020293
],
[
40.627946,
-74.020106
],
[
40.627876,
-74.020007
],
[
40.627755,
-74.01981
],
[
40.627624,
-74.019592
],
[
40.627493,
-74.019385
],
[
40.627432,
-74.019286
],
[
40.627382,
-74.019196
],
[
40.627271,
-74.019018
],
[
40.627068,
-74.01868
],
[
40.626977,
-74.01851
]
]
},
"steps": [
{
"distance": 199,
"duration": 40,
"start_point_index": 0,
"start_point": {
"lat": 40.629103,
"lng": -74.025801
},
"end_point_index": 5,
"end_point": {
"lat": 40.630804,
"lng": -74.025081
},
"bounds": {
"south": 40.629103,
"west": -74.025801,
"north": 40.630804,
"east": -74.025081
}
},
{
"distance": 1661,
"duration": 285,
"start_point_index": 5,
"start_point": {
"lat": 40.630804,
"lng": -74.025081
},
"end_point_index": 68,
"end_point": {
"lat": 40.621637,
"lng": -74.00964
},
"bounds": {
"south": 40.621637,
"west": -74.025081,
"north": 40.630814,
"east": -74.00964
},
"maneuver": "turn right"
},
{
"distance": 808,
"duration": 173,
"start_point_index": 68,
"start_point": {
"lat": 40.621637,
"lng": -74.00964
},
"end_point_index": 85,
"end_point": {
"lat": 40.627331,
"lng": -74.003705
},
"bounds": {
"south": 40.621637,
"west": -74.00964,
"north": 40.627331,
"east": -74.003705
},
"maneuver": "turn left"
},
{
"distance": 1213,
"duration": 211,
"start_point_index": 85,
"start_point": {
"lat": 40.627331,
"lng": -74.003705
},
"end_point_index": 107,
"end_point": {
"lat": 40.620537,
"lng": -73.992483
},
"bounds": {
"south": 40.620537,
"west": -74.003705,
"north": 40.627331,
"east": -73.992483
},
"maneuver": "turn right"
},
{
"distance": 1203,
"duration": 294,
"start_point_index": 107,
"start_point": {
"lat": 40.620537,
"lng": -73.992483
},
"end_point_index": 132,
"end_point": {
"lat": 40.629023,
"lng": -73.983661
},
"bounds": {
"south": 40.620537,
"west": -73.992483,
"north": 40.629023,
"east": -73.983661
},
"maneuver": "turn left"
},
{
"distance": 311,
"duration": 91,
"start_point_index": 132,
"start_point": {
"lat": 40.629023,
"lng": -73.983661
},
"end_point_index": 138,
"end_point": {
"lat": 40.627281,
"lng": -73.98078
},
"bounds": {
"south": 40.627281,
"west": -73.983661,
"north": 40.629023,
"east": -73.98078
},
"maneuver": "turn right"
}
]
}
}
curl --location --request GET 'https://zylalabs.com/api/3932/trueway+routing+api/4660/finddrivingpath?origin=40.629041,-74.025606&destination=40.627177,-73.980853' --header 'Authorization: Bearer YOUR_API_KEY'
| Encabezado | Descripción |
|---|---|
Autorización
|
[Requerido] Debería ser Bearer access_key. Consulta "Tu Clave de Acceso a la API" arriba cuando estés suscrito. |
Sin compromiso a largo plazo. Mejora, reduce o cancela en cualquier momento. La Prueba Gratuita incluye hasta 50 solicitudes.
Zyla API Hub es, en otras palabras, un Mercado de APIs. Una solución todo en uno para tus necesidades de desarrollo. Accederás a nuestra extensa lista de APIs solo con tu usuario. Además, no tendrás que preocuparte por almacenar claves de API, solo se necesita una clave de API para todos nuestros productos.
Los precios están listados en USD. Aceptamos todas las principales tarjetas de débito y crédito. Nuestro sistema de pago utiliza la última tecnología de seguridad y es impulsado por Stripe, una de las empresas de pago más confiables del mundo. Si tienes algún problema al pagar con tarjeta, simplemente contáctanos en [email protected].
A veces, dependiendo de la configuración de protección contra fraudes del banco, un banco rechazará el cargo de validación que hacemos cuando intentamos asegurarnos de que una tarjeta sea válida. Recomendamos primero contactar a su banco para ver si están bloqueando nuestros cargos. Si se necesita más ayuda, por favor contáctenos a [email protected] y nuestro equipo investigará más a fondo.
Los precios se basan en una suscripción mensual recurrente dependiendo del plan seleccionado, más las tarifas por exceso que se aplican cuando un desarrollador supera los límites de cuota de un plan. En este ejemplo, verás el monto del plan base así como un límite de cuota de solicitudes API. Asegúrate de notar la tarifa por exceso porque se te cobrará por cada solicitud adicional.
Zyla API Hub funciona con un sistema de suscripción mensual recurrente. Su ciclo de facturación comenzará el día en que compre uno de los planes pagos y se renovará el mismo día del mes siguiente. Así que esté atento para cancelar su suscripción con anticipación si desea evitar cargos futuros.
Simplemente ve a la página de precios de esa API y selecciona el plan al que deseas actualizarte. Solo se te cobrará la cantidad total de ese plan, pero disfrutarás de las características que ofrece el plan de inmediato.
Sí, absolutamente. Si quieres cancelar tu plan, simplemente ve a tu cuenta y cancela en la página de Facturación. Las mejoras, degradaciones y cancelaciones son inmediatas.
Puedes contactarnos a través de nuestro canal de chat para recibir asistencia inmediata. Siempre estamos en línea de 9 a.m. a 6 p.m. (GMT+1). Si nos contactas después de ese horario, estaremos en contacto cuando regresemos. También puedes contactarnos por correo electrónico a [email protected].
Ambos puntos finales devuelven información detallada de enrutamiento, incluida la distancia, la duración, la geometría de la ruta, los límites y las direcciones paso a paso. El punto final FindDrivingRoute también proporciona rutas optimizadas para múltiples paradas, mientras que FindDrivingPath se centra en rutas entre dos ubicaciones específicas.
Los campos clave incluyen "distancia" (longitud de la ruta en metros), "duración" (tiempo en segundos), "geometría" (coordenadas de la ruta), "límites" (límites geográficos) y "tramos" o "pasos" (segmentos detallados de la ruta).
Los parámetros incluyen "stops" para FindDrivingRoute, y "origin" y "destination" para FindDrivingPath. Los parámetros opcionales incluyen "avoid_highways," "avoid_tolls," "avoid_ferries," "geometry_format," y "start_time" para consideraciones de tráfico.
La respuesta está estructurada con un objeto "ruta" que contiene distancia, duración, geometría y límites. Para FindDrivingRoute, incluye "tramos" para rutas con múltiples paradas, mientras que FindDrivingPath enumera directamente "pasos" para rutas de dos puntos.
Los casos de uso típicos incluyen aplicaciones de navegación, planificación logística y optimización de itinerarios de viaje. Los usuarios pueden encontrar las rutas más rápidas, evitar tipos de carreteras específicas o planificar viajes con múltiples paradas de manera eficiente.
La precisión de los datos se mantiene a través de la integración de condiciones de tráfico históricas y en tiempo real, lo que garantiza que las rutas reflejen los patrones de tráfico actuales. Las actualizaciones regulares y los controles de calidad mejoran la fiabilidad de la información de enrutamiento.
Los usuarios pueden personalizar las solicitudes especificando parámetros como "evitar_autopistas" u "optimizar" para reorganizar las paradas. Esto permite una ruta personalizada basada en las preferencias y necesidades de viaje del usuario.
"Distancia" indica la longitud total de la ruta, "duración" muestra el tiempo estimado de viaje, "geometría" proporciona las coordenadas de la ruta, y "pasos" detalla las acciones individuales necesarias para navegar la ruta.
Nivel de Servicio:
100%
Tiempo de Respuesta:
19.536ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
19.536ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
19.536ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
953ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
2.073ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
19.536ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
2.173ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
472ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
19.536ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
712ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
57ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
9.376ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
71ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
17.126ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
12.852ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
60ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
1.525ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
2.554ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
681ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
54ms