Combina los resúmenes de la ruta con la función de búsqueda en la ruta
Puedes combinar los cálculos del resumen de la ruta con la búsqueda a lo largo de una ruta. En este caso, Text Search (nuevo) devuelve la duración y la distancia del viaje a cada lugar de la respuesta y, luego, de cada lugar al destino final de la ruta.
Para usar Text Search (nuevo) y calcular el resumen de la ruta junto con la búsqueda a lo largo de una ruta, haz lo siguiente:
-
Usa la API de Routes para calcular una ruta que devuelva una polilínea de ruta en la respuesta.
-
Usa el parámetro
searchAlongRouteParameters.polyline.encodedPolyline
para pasar la polilínea de la ruta a la Búsqueda de texto (nuevo) y sesgar los resultados de la búsqueda hacia la ruta. Luego, la respuesta contiene lugares que coinciden con los criterios de búsqueda y que también se encuentran cerca de la ruta especificada. -
Incluye
routingSummaries
en la máscara de campo para que la respuesta incluya el arrayroutingSummaries
. Este array contiene la duración y la distancia desde el origen de la ruta hasta cada lugar de la respuesta.
El Explorador de APIs te permite realizar solicitudes en vivo para que puedas familiarizarte con la API y sus opciones:
De forma predeterminada, la Búsqueda de texto (nuevo) realiza la búsqueda a lo largo de toda la ruta:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "searchAlongRouteParameters": { "polyline": { "encodedPolyline": "ROUTE_POLYLINE" } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
La respuesta contiene dos arrays: el array places
que contiene los lugares coincidentes y el array routingSummaries
que contiene la duración y la distancia para viajar a cada lugar:
{ "places": [ { "formattedAddress": "1199 El Camino Real, San Bruno, CA 94066, USA", "priceLevel": "PRICE_LEVEL_INEXPENSIVE", "displayName": { "text": "Vegan Mob - Vegan BBQ and Soul Food", "languageCode": "en" } }, { "formattedAddress": "839 Kearny St, San Francisco, CA 94108, USA", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Enjoy Vegetarian", "languageCode": "en" } }, … ], "routingSummaries": [ { "legs": [ { "duration": "285s", "distanceMeters": 1616 }, { "duration": "2466s", "distanceMeters": 58147 } ], "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808f87f9ede375f5:0xa37171fea1a16b28!1m0!3e0" }, { "legs": [ { "duration": "696s", "distanceMeters": 4704 }, { "duration": "2787s", "distanceMeters": 58901 } ], "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808580f4cebdb06f:0xd3af09e5742234f2!1m0!3e0" }, … ] }
Para cada entrada del array legs
, la Búsqueda de texto (nuevo) devuelve un tiempo de viaje de dos tramos:
-
El primer tramo contiene la duración y la distancia del viaje desde el origen hasta el lugar. En este ejemplo, la duración y la distancia desde el origen hasta el primer lugar en los resultados son de 285 segundos y 1,616 metros.
-
El segundo tramo contiene la duración y la distancia del viaje desde el lugar hasta el destino de la ruta. En este ejemplo, la duración y la distancia son 2,466 segundos y 58,147 metros.
Especifica el origen del enrutamiento, el medio de viaje y los modificadores de ruta
Puedes modificar el cálculo del resumen de búsqueda y de la ruta especificando el origen del enrutamiento, el medio de viaje, los modificadores de ruta y las preferencias de enrutamiento. El modo de viaje y los modificadores de ruta funcionan de la misma manera que para calcular resúmenes de rutas sin especificar una ruta, como se muestra en el tema Cómo especificar opciones de viaje.
De forma predeterminada, el primer tramo de cada resultado contiene la distancia desde el origen definido por la polilínea hasta cada lugar. Sin embargo, puedes anular ese valor predeterminado si especificas de forma explícita un origen de enrutamiento en la solicitud. Si se especifica, el primer tramo de todas las respuestas indica las distancias y la duración desde el origen de la ruta especificado, lo que anula el origen de la polilínea.
En el siguiente ejemplo, se especifica un origen de la ruta como las coordenadas de San Mateo, California, se indica que se eviten los peajes y se establece la cantidad de resultados en 5:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "maxResultCount": 5, "searchAlongRouteParameters": { "polyline": { "encodedPolyline": "ROUTE_POLYLINE" } }, "routingParameters": { "origin": { "latitude": 37.56617, "longitude": -122.30870 }, "travelMode":"DRIVE", "routeModifiers": { "avoidTolls": true } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
En la siguiente imagen, se muestra un mapa que contiene la polilínea de la ruta, el nuevo origen (marcador azul claro) y los lugares en los resultados de la búsqueda (marcadores verdes). Observa cómo todos los resultados se encuentran a lo largo de la ruta, pero después de San Mateo:

Pruébalo
El Explorador de APIs te permite realizar solicitudes de ejemplo para que te familiarices con la API y sus opciones.
Selecciona el ícono de la API api en el lado derecho de la página.
De manera opcional, edita los parámetros de la solicitud.
Selecciona el botón Ejecutar. En el diálogo, elige la cuenta que deseas usar para realizar la solicitud.
En el panel del Explorador de APIs, selecciona el ícono de pantalla completa fullscreen para expandir la ventana del Explorador de APIs.