Combina los resúmenes de planificación de ruta con la función Buscar en la ruta

Puedes combinar los cálculos del resumen de enrutamiento 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.

Utilizar Text Search (nuevo) para calcular el resumen de ruta junto con la búsqueda a lo largo de una ruta:

  1. Usa la API de Routes para calcular una ruta que devuelva una polilínea de ruta en la respuesta.

  2. Usa el parámetro searchAlongRouteParameters.polyline.encodedPolyline para pasa la polilínea de ruta a Text Search (nuevo) para personalizar los resultados de la búsqueda 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.

  3. Incluye routingSummaries en la máscara de campo para que la respuesta incluya el array routingSummaries Este array contiene la duración y la distancia del origen de ruta a cada lugar de la respuesta.

De forma predeterminada, la Búsqueda de texto (nueva) 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 que coinciden y el array routingSummaries que contiene la duración y la distancia para viajar a cada lugar:

{
  "places": [
    {
      "formattedAddress": "1477 Plymouth St suite c, Mountain View, CA 94043, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Zareen's",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "2464 W El Camino Real C, Mountain View, CA 94040, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Veggie Garden",
        "languageCode": "en"
      }
    },
   …
],
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "285s",
          "distanceMeters": 1616
        },
        {
          "duration": "2466s",
          "distanceMeters": 58147
        }
      ]
    },
    {
      "legs": [
        {
          "duration": "696s",
          "distanceMeters": 4704
        },
        {
          "duration": "2787s",
          "distanceMeters": 58901
        }
      ]
    },
   …
  ]
}

Para cada entrada del array legs, Text Search (nueva) muestra un viaje de two-leg. hora:

  • El primer tramo contiene la duración del viaje y la distancia 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 del viaje y la distancia 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 de la ruta, el medio de transporte y los modificadores de ruta

Puedes modificar el cálculo del resumen de búsqueda y enrutamiento especificando origen de la ruta, medio de transporte, modificadores de ruta y preferencias de planificación de ruta. Los modificadores de modo de viaje y ruta funcionan de la misma manera que para calcular resúmenes de enrutamiento sin especificar una ruta, como se muestra en Especifica opciones de viaje.

De forma predeterminada, el primer segmento de cada resultado contiene la distancia desde el origen. definidos por la polilínea a 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, la primera etapa de todas las respuestas especifica las distancias y la duración desde el origen de planificación de ruta especificado, anulando el origen del polilínea.

En el siguiente ejemplo, especificas un origen de planificación de ruta como las coordenadas de San Mateo, California, especificas que quieres evitar peajes y estableces 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 (pin azul claro) y los lugares de los resultados de la búsqueda (pins verdes). Observa cómo todos los resultados están a lo largo de la ruta, pero después de San Mateo:

Resultados de la búsqueda desde el origen de la actualización.