Combinare i riepiloghi di routing con la ricerca lungo il percorso

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

Per utilizzare Ricerca testuale (nuova) per calcolare il riepilogo di routing insieme alla ricerca lungo un percorso:

  1. Utilizza l'API Routes per calcolare un percorso che restituisce una polilinea del percorso in risposta.

  2. Utilizza il parametro searchAlongRouteParameters.polyline.encodedPolyline per passare la polilinea del percorso a Ricerca testuale (nuova) per dare priorità ai risultati di ricerca per il percorso. La risposta contiene quindi i luoghi che corrispondono ai criteri di ricerca e che si trovano anche vicino al percorso 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 routing a ogni luogo nella risposta.

L'Explorer API ti consente di effettuare richieste live in modo da familiarizzare con l'API e le opzioni dell'API:

Per impostazione predefinita, Ricerca testuale (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, Ricerca testuale (nuova) restituisce un tempo di viaggio di due tappe:

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

  • La seconda tappa contiene la durata e la distanza del viaggio dal luogo a la destinazione del percorso. In questo esempio, la durata e la distanza sono 2466 secondi e 58147 metri.

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

Puoi modificare la ricerca e il calcolo del riepilogo di routing specificando l'origine del routing, la modalità di viaggio, i modificatori del percorso e le preferenze di routing. La modalità di viaggio e i modificatori del percorso funzionano come per il calcolo dei riepiloghi di routing senza specificare un percorso, 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 sostituire questa impostazione predefinita specificando esplicitamente un'origine del routing nella richiesta. Se specificata, la prima tappa di tutte le risposte specifica le distanze e la durata dall'origine del routing specificata, sostituendo l'origine della polilinea.

Nell'esempio seguente, specifichi un'origine del routing 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 blu chiaro) e i luoghi nei risultati di ricerca (segnaposti verdi). Tieni presente che tutti i risultati si trovano lungo il percorso, ma dopo San Mateo:

Risultati di ricerca dall'origine dell'aggiornamento.

Fai una prova!

L'Explorer API ti consente di effettuare richieste di esempio in modo da familiarizzare con l'API e le opzioni dell'API.

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

  2. Se vuoi, 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 Explorer API.