Combinare i riepiloghi dei percorsi con la ricerca lungo il percorso

Puoi combinare i calcoli del riepilogo del percorso con la ricerca lungo un percorso. In questo caso, Ricerca di testo (nuova) restituisce la durata e la distanza del viaggio per ogni luogo nella risposta e poi da ogni luogo alla destinazione finale dell'itinerario.

Per utilizzare la ricerca testuale (nuova) per calcolare il riepilogo dell'itinerario insieme alla ricerca lungo un percorso:

  1. Utilizza l'API Routes per calcolare un itinerario che restituisce una polilinea dell'itinerario nella risposta.

  2. Utilizza il parametro searchAlongRouteParameters.polyline.encodedPolyline per passare la polilinea dell'itinerario a Ricerca di testo (nuova) per orientare i risultati di ricerca verso l'itinerario. La risposta contiene quindi i luoghi che corrispondono ai criteri di ricerca e che si trovano anche vicino all'itinerario specificato.

  3. Includi routingSummaries nella maschera del campo in modo che la risposta includa l'array routingSummaries. Questo array contiene la durata e la distanza dall'origine del percorso a ogni luogo nella risposta.

L'API Explorer ti consente di effettuare richieste in tempo reale per familiarizzare con l'API e le relative opzioni:

Per impostazione predefinita, la ricerca di testo (nuova) esegue la ricerca lungo l'intero percorso:

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 risposta contiene due array: l'array places contenente i luoghi corrispondenti e l'array routingSummaries contenente la durata e la distanza da percorrere per raggiungere ogni luogo:

{
  "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"
    },
   
  ]
}

Per ogni voce dell'array legs, Text Search (New) restituisce un tempo di viaggio a due tappe:

  • La prima tratta contiene la durata e la distanza del viaggio dal luogo di partenza al luogo. In questo esempio, la durata e la distanza dall'origine al primo luogo nei risultati sono 285 secondi e 1616 metri.

  • Il secondo segmento contiene la durata e la distanza del viaggio dal luogo alla destinazione dell'itinerario. In questo esempio, la durata e la distanza sono 2466 secondi e 58147 metri.

Specificare l'origine del percorso, la modalità di viaggio e i modificatori del percorso

Puoi modificare il calcolo del riepilogo di ricerca e routing specificando l'origine del percorso, la modalità di viaggio, i modificatori del percorso e le preferenze di routing. I modificatori della modalità di viaggio e dell'itinerario funzionano allo stesso modo del calcolo dei riepiloghi dell'itinerario senza specificare un itinerario, come mostrato nell'argomento Specificare le opzioni di viaggio.

Per impostazione predefinita, la prima tappa di ogni risultato contiene la distanza dall'origine definita dalla polilinea a ogni luogo. Tuttavia, puoi eseguire l'override di questo valore predefinito specificando esplicitamente un'origine di routing nella richiesta. Se specificato, il primo tragitto di tutte le risposte specifica le distanze e la durata dall'origine dell'itinerario specificata, ignorando l'origine della polilinea.

Nell'esempio successivo, specifichi un'origine del percorso come le coordinate di San Mateo, CA, specifichi di evitare i pedaggi e imposti il numero di risultati su 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'

L'immagine seguente mostra una mappa che contiene la polilinea del percorso, la nuova origine (segnaposto azzurro) e i luoghi nei risultati di ricerca (segnaposto verdi). Nota come tutti i risultati si trovino lungo il percorso, ma dopo San Mateo:

Risultati di ricerca dall'origine dell'aggiornamento.

Prova

L'Explorer API ti consente di effettuare richieste di esempio per familiarizzare con l'API e le relative opzioni.

  1. Seleziona l'icona API api sul lato destro della pagina.

  2. (Facoltativo) Modifica i parametri della richiesta.

  3. Seleziona il pulsante Esegui. Nella finestra di dialogo, scegli l'account che vuoi utilizzare per effettuare la richiesta.

  4. Nel riquadro Explorer API, seleziona l'icona a schermo intero fullscreen per espandere la finestra di Explorer API.