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 di testo (nuova) per calcolare il riepilogo dell'itinerario insieme alla ricerca lungo un percorso:
-
Utilizza l'API Routes per calcolare un percorso che restituisce una polilinea del percorso nella risposta.
-
Utilizza il parametro
searchAlongRouteParameters.polyline.encodedPolylineper trasferire la polilinea dell'itinerario a Text Search (New) 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 al percorso specificato. -
Includi
routingSummariesnella maschera del campo in modo che la risposta includa l'arrayroutingSummaries. 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 di due tappe:
-
La prima tratta contiene la durata e la distanza del viaggio dal punto 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 gamba di ogni risultato contiene la distanza dall'origine definita dalla polilinea a ciascun punto. Tuttavia, puoi eseguire l'override di questo valore predefinito specificando esplicitamente un'origine di routing nella richiesta. Se specificato, la prima tappa di tutte le risposte specifica le distanze e la durata dall'origine del percorso specificata, sovrascrivendo l'origine dalla polilinea.
Nell'esempio successivo, si specifica come origine del percorso le coordinate di San Mateo, CA, si specifica di evitare i pedaggi e si imposta 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 (puntina azzurra) e i luoghi nei risultati della ricerca (puntina verde). Nota come tutti i risultati si trovino lungo il percorso, ma dopo San Mateo:
Prova
L'Explorer API ti consente di effettuare richieste di esempio per familiarizzare con l'API e le relative opzioni.
Seleziona l'icona API api sul lato destro della pagina.
(Facoltativo) Modifica i parametri di richiesta.
Seleziona il pulsante Esegui. Nella finestra di dialogo, scegli l'account che vuoi utilizzare per effettuare la richiesta.
Nel riquadro Explorer API, seleziona l'icona a schermo intero fullscreen per espandere la finestra di Explorer API.