Descripción general de la búsqueda en la ruta

Las funciones de búsqueda a lo largo de una ruta están disponibles en las siguientes APIs de Places (nueva):

  • Solo Text Search (nueva): Busca lugares a lo largo de una ruta de viaje predefinida.
  • Text Search (nuevo) y Nearby Search (nuevo): Calcula el resumen de la ruta desde una ubicación de origen de ruta especificada hasta cada lugar en los resultados de la búsqueda.
  • Solo Text Search (nuevo): Calcula el resumen de la ruta para cada lugar en una ruta de viaje predefinida.

Cómo buscar en una ruta

Usa la API de Routes para calcular la ruta del viaje entre dos ubicaciones. La API de Routes puede calcular una ruta para un automóvil, una bicicleta, un vehículo de dos ruedas, un sistema de transporte público o para caminar.

Text Search (nuevo) te permite usar esta ruta calculada para realizar una búsqueda a lo largo de una ruta. Con esta opción, pasas la ruta calculada previamente desde la API de Routes a la solicitud de Text Search (nueva). Luego, la respuesta contiene lugares que coinciden con los criterios de búsqueda y que también se encuentran cerca de la ruta especificada.

La búsqueda a lo largo de una ruta es similar al uso de las opciones de solicitud locationRestriction o locationBias para sesgar los resultados de la búsqueda. locationRestriction devuelve resultados de la búsqueda que se encuentran dentro de los límites del viewport, mientras que locationBias puede devolver resultados de la búsqueda fuera del viewport. Sin embargo, si bien las opciones locationBias y locationRestriction te permiten especificar una región para sesgar los resultados de la búsqueda, la función de búsqueda a lo largo de una ruta en Text Search también te permite sesgar los resultados de la búsqueda para incluir aquellos con tiempos de desvío mínimos desde el origen hasta el destino de la ruta. Puedes sesgar los resultados de la búsqueda con locationBias o locationRestriction en combinación con la polilínea.

Por ejemplo, considera la ruta desde el origen, que se denomina punto de referencia en la API de Routes, hasta el destino, según lo calcula la API de Routes:

Ruta desde el punto de referencia de origen hasta el destino con los resultados de la búsqueda

Cuando realizas una búsqueda a lo largo de la ruta, esta se sesga para mostrar lugares cercanos a la ruta con tiempos de desvío mínimos desde el origen hasta el destino. En este ejemplo, los puntos A, B y C son lugares que se muestran en la búsqueda.

Calcula el resumen de enrutamiento

Text Search (nuevo) y Nearby Search (nuevo) pueden calcular el resumen de la ruta, es decir, la duración y la distancia, para cada lugar de la respuesta según la ubicación de origen de la ruta especificada en la solicitud. Cuando especificas el origen de la ruta, la respuesta no solo contiene una lista de lugares que coinciden con la búsqueda, sino también la duración del viaje y la distancia desde el origen de la ruta hasta cada lugar.

En la siguiente imagen, los puntos A, B y C son lugares que se devuelven en la respuesta de la búsqueda:

Los puntos A, B y C son lugares que se devuelven en la respuesta de la búsqueda.

Para cada lugar en los resultados, la respuesta contiene la duración del viaje y la distancia desde el origen de la ruta hasta el lugar, si está disponible.

De forma predeterminada, la duración y la distancia del viaje se calculan con la opción TRAFFIC_UNAWARE de la API de Routes. De manera opcional, puedes establecer preferencias de ruta para tener en cuenta las condiciones de tráfico en tiempo real TRAFFIC_AWARE_OPTIMAL o las condiciones de tráfico en tiempo real con latencia reducida TRAFFIC_AWARE durante los cálculos.

Acerca de las rutas, los tramos y los puntos de referencia

Varios componentes conforman una ruta, según lo calculado por la API de Routes:

Los componentes que conforman una ruta.

Una ruta consta de los siguientes componentes:

  • Waypoint: Para calcular una ruta, debes especificar, como mínimo, las ubicaciones de origen y destino. Debes definir estas ubicaciones como puntos de referencia en la ruta. Los puntos de referencia intermedios son ubicaciones entre el origen y el destino por las que deseas que pase la ruta.
  • Ruta: Es todo el viaje desde el punto de referencia de origen, pasando por los puntos de referencia intermedios, hasta el punto de referencia de destino. Una ruta consta de uno o más tramos.

    Cuando pasas una ruta a Text Search, pasas la polilínea codificada de la ruta como la devuelve la API de Routes. Una polilínea codificada es una lista codificada de puntos de latitud y longitud que te permite representar la polilínea de la ruta como una cadena.

  • Tramo: Es la ruta de acceso de un punto de referencia de una ruta al siguiente punto de referencia de la ruta. Cada tramo consta de uno o más pasos discretos.

    Una ruta contiene un tramo independiente para el trayecto de cada punto de referencia al siguiente. Por ejemplo, si la ruta contiene un solo punto de referencia de origen y un solo punto de referencia de destino, la ruta contiene un solo tramo.

    Por cada punto de referencia adicional que agregues a la ruta después del origen y el destino, llamado punto de referencia intermedio, la API agrega un tramo independiente.

Para obtener más información sobre las rutas y cómo calcularlas, consulta la API de Routes.

Calcula el resumen de la ruta con una búsqueda a lo largo de la ruta

Puedes combinar los cálculos del resumen de rutas con la búsqueda a lo largo de una ruta. En este caso, Text Search (nueva) devuelve la duración del viaje y la distancia a cada lugar en la respuesta, y, luego, desde cada lugar hasta el destino final de la ruta. Piensa en este cálculo como una forma de proporcionar la duración y la distancia del viaje si te desvías de la ruta especificada para viajar a un lugar en los resultados de la búsqueda y, luego, continúas hasta el destino final.

Por ejemplo, considera la siguiente ruta desde el origen hasta el destino, según lo calculado por la API de Routes. Pasa esta ruta a la API de Text Search (New) junto con tus criterios de búsqueda.

Ruta desde el punto de referencia de origen hasta el destino con un desvío al resultado de la búsqueda.

En este ejemplo, la ubicación A es un lugar que se devuelve en los resultados de la búsqueda de Text Search (nuevo). Para cada lugar de la respuesta, la búsqueda incluye la duración y la distancia necesarias para desviarse a ese lugar como un viaje de dos tramos:

  • El primer tramo contiene la duración y la distancia del viaje desde el origen de la ruta hasta el lugar. En este ejemplo, desde el origen hasta el lugar A.
  • El segundo tramo contiene la duración y la distancia del viaje desde el lugar hasta el destino de la ruta. En este ejemplo, de A al destino.

A partir de la información de la respuesta, puedes calcular la duración y la distancia del desvío, donde:

  • \(t_{OD}\) es la duración del viaje desde el origen hasta el destino. \(s_{OD}\) es la distancia del viaje desde el origen hasta el destino.
  • \(t_{OA}\) es la duración del viaje desde el origen hasta A; \(s_{OA}\) es la distancia del viaje desde el origen hasta A
  • \(t_{AD}\) es la duración del viaje de A al destino. \(s_{AD}\) es la distancia del viaje de A al destino.

La duración del desvío es la diferencia de duración entre el viaje original (desde el origen hasta el destino) y el viaje nuevo (desde el origen hasta el destino pasando por A):

$$ t_{detour} = t_{OA} + t_{AD} - t_{OD} $$

La distancia de desvío es la diferencia de distancia entre el viaje original (desde el origen hasta el destino) y el viaje nuevo (desde el origen hasta el destino pasando por A):

$$ s_{detour} = s_{OA} + s_{AD} - s_{OD} $$