Strumento: search_along_route
Chiama questo strumento quando l'utente vuole trovare luoghi, attività o punti di interesse lungo un percorso di viaggio (ad es. "stazioni di servizio sulla strada per Tahoe", "bar tra SF e San Jose"). La chiamata a questo strumento comporta un costo più elevato rispetto a search_places, quindi utilizza search_places quando esegui una ricerca vicino a una singola località anziché lungo un percorso.
Requisiti di input (FONDAMENTALI):
text_query(stringa - OBBLIGATORIO): una descrizione in linguaggio naturale di cosa cercare lungo il percorso.- Esempi:
'ev chargers','coffee','vegetarian restaurants','rest stops'.
- Esempi:
Route specification (MANDATORY - provide exactly ONE of the following):
retrieval_token(stringa): ilretrieval_tokenrestituito da una chiamatacompute_routesprecedente per un percorsoDRIVE. Preferisci questa opzione ogni volta che il percorso è già stato calcolato. Il token è valido per 10 minuti.route_endpoints(oggetto):originedestinationdel percorso. Ognuno deve essere fornito utilizzandoaddress,lat_lngoplace_id.- Esempio:
{"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
- Esempio:
encoded_polyline(stringa): una polilinea codificata che rappresenta un percorsoDRIVE.
travel_mode(enum - FACOLTATIVO):DRIVE(predefinito),WALKoBICYCLE.WALKeBICYCLEsono supportati solo conroute_endpoints.TRANSITnon è supportato.routing_preference(enum - FACOLTATIVO):ROUTING_PREFERENCE_TRAFFIC_UNAWARE(valore predefinito): calcola il percorso e le deviazioni senza traffico in tempo reale. Latenza minima.ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: utilizza le condizioni del traffico in tempo reale, se disponibili. Non supportato perWALKoBICYCLE. Imposta questo valore SOLO quando l'utente chiede informazioni sul traffico, sulla congestione o sui tempi di deviazione in base al traffico. Comporta una latenza maggiore.
include_extended_details(booleano - FACOLTATIVO): imposta sutruesolo quando la richiesta richiede approfondimenti qualitativi sulle recensioni, voci di menu o offerte specifiche, atmosfera, suggerimenti o affollamento dei visitatori, disponibilità di caricabatterie EV, prezzi del carburante o altri dettagli qualitativi avanzati. Il valore predefinito èfalse. L'attivazione di questa opzione potrebbe aumentare la latenza.language_code(stringa - FACOLTATIVO): la lingua per il riepilogo dei risultati e i dettagli del luogo, ad esempioen,ja,en-US. Il valore predefinito èen-US.region_code(stringa - FACOLTATIVA): il codice regione CLDR Unicode dell'utente, ad esempioUS,CA.
Instructions for Tool Call:
- Ogni risultato include un
detour_summary(se disponibile) che descrive la distanza aggiuntiva (localized_detour_distance) e, a meno che il percorso non sia stato fornito comeencoded_polyline, il tempo aggiuntivo (detour_duration) necessario per fermarsi in quel luogo. Utilizzalo per confrontare le opzioni. - La risposta
summarypuò contenere citazioni basate su zero (ad es. "[0]") che fanno riferimento alle voci inresults. - L'output basato su dati reali deve essere attribuito alla fonte utilizzando il campo
attributiondi ogniresults[].place, se disponibile.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP search_along_route.
| Richiesta curl |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_along_route", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
Messaggio di richiesta per SearchAlongRoute.
SearchAlongRouteRequest
| Rappresentazione JSON |
|---|
{ "textQuery": string, "languageCode": string, "regionCode": string, "routingPreference": enum ( |
| Campi | |
|---|---|
textQuery |
Obbligatorio. Query di ricerca in linguaggio naturale (ad es. "caricabatterie EV", "caffè"). |
languageCode |
Facoltativo. La lingua per il riepilogo e i dettagli del luogo. Il valore predefinito è "en-US". |
regionCode |
Facoltativo. Codice paese/regione (CLDR) della località (ad es. "US"). |
routingPreference |
Facoltativo. Preferenza di routing facoltativa che specifica come vengono utilizzati i dati sul traffico. Il valore predefinito è TRAFFIC_UNAWARE. |
includeExtendedDetails |
Facoltativo. Include i Place Details estesi nella risposta. Imposta questo campo su Lascia L'attivazione di questo campo potrebbe comportare una latenza maggiore. |
travelMode |
Facoltativo. Specifica la modalità di viaggio utilizzata per calcolare il percorso e le deviazioni. Il valore predefinito è |
Campo unione route_spec. Specifica del percorso: un percorso esistente, un token del percorso o gli endpoint di origine/destinazione. route_spec può essere solo uno dei seguenti tipi: |
|
encodedPolyline |
Una stringa di polilinea codificata che rappresenta il percorso. Consulta https://developers.google.com/maps/documentation/utilities/polylinealgorithm |
retrievalToken |
Un token di recupero restituito da una chiamata ComputeRoutes precedente che rappresenta il percorso. |
routeEndpoints |
Endpoint espliciti del percorso (origine e destinazione). |
RouteEndpoints
| Rappresentazione JSON |
|---|
{ "origin": { object ( |
| Campi | |
|---|---|
origin |
Obbligatorio. Punto di partenza (indirizzo, ID luogo o coordinate geografiche). |
destination |
Obbligatorio. Punto di destinazione (indirizzo, ID luogo o coordinate geografiche). |
Waypoint
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione location_type. Diversi modi per rappresentare una località. location_type può essere solo uno dei seguenti tipi: |
|
latLng |
Un punto specificato utilizzando le coordinate geografiche. |
placeId |
L'ID luogo associato al waypoint. |
address |
Indirizzo leggibile o Plus Code. Per maggiori dettagli, visita la pagina https://plus.codes. |
LatLng
| Rappresentazione JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campi | |
|---|---|
latitude |
La latitudine in gradi. Deve essere compreso nell'intervallo [-90,0, +90,0]. |
longitude |
La longitudine in gradi. Deve essere compreso nell'intervallo [-180,0, +180,0]. |
RoutingPreference
Un insieme di valori che specificano i fattori da prendere in considerazione durante il calcolo del percorso.
| Enum | |
|---|---|
ROUTING_PREFERENCE_UNSPECIFIED |
Nessuna preferenza di routing specificata. Il valore predefinito è ROUTING_PREFERENCE_TRAFFIC_UNAWARE. |
ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
Calcola i percorsi senza tenere conto delle condizioni del traffico in tempo reale. Adatto quando le condizioni del traffico non sono importanti o non sono applicabili. L'utilizzo di questo valore produce la latenza più bassa. |
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
Calcola i percorsi tenendo conto delle condizioni del traffico in tempo reale, se i dati sul traffico sono disponibili. Per Questo valore attiverà il livello Pro e comporterà costi fatturati e latenza più elevati. |
RouteTravelMode
Un insieme di valori utilizzati per specificare la modalità di viaggio.
| Enum | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
Nessuna modalità di trasporto specificata. Il valore predefinito è DRIVE. |
DRIVE |
Viaggia in auto. |
WALK |
Spostati a piedi. NOTA: i percorsi di WALK sono in versione beta e a volte potrebbero non includere marciapiedi o percorsi pedonali chiari. Devi mostrare questo avviso all'utente per tutti i percorsi a piedi che mostri nella tua app. |
BICYCLE |
Spostamenti in bicicletta. |
TRANSIT |
Viaggia con i mezzi pubblici. |
Schema di output
Messaggio di risposta per SearchAlongRoute.
SearchAlongRouteResponse
| Rappresentazione JSON |
|---|
{
"results": [
{
object ( |
| Campi | |
|---|---|
results[] |
Solo output. L'elenco classificato dei risultati di ricerca trovati lungo il percorso. |
summary |
Solo output. Riepilogo in linguaggio naturale dei risultati di ricerca e dei compromessi delle deviazioni. Può contenere citazioni in base zero (ad es. "[0]", "[1]") che fanno riferimento alle voci corrispondenti nell'elenco |
contentToken |
Solo output. Un token criptato che incapsula il contesto di ricerca e può essere passato ai servizi di rendering visivo di Google Maps, agli SDK o al Maps Agentic UI Toolkit (A2UI) per visualizzare componenti UI interattivi per i risultati di ricerca restituiti. |
Risultato
| Rappresentazione JSON |
|---|
{ "place": { object ( |
| Campi | |
|---|---|
place |
Solo output. Dettagli sul luogo trovato lungo il percorso. |
detourSummary |
Solo output. Metriche della deviazione generate dall'aggiunta di questo luogo come fermata intermedia lungo il percorso. Omesso o vuoto se non è stato possibile calcolare le metriche di deviazione. |
PlaceView
| Rappresentazione JSON |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| Campi | |
|---|---|
place |
Il nome risorsa del luogo sottostante, nel formato "places/{id}". |
id |
L'ID luogo del luogo sottostante. |
googleMapsLinks |
Link per attivare diverse azioni di Google Maps. |
attribution |
Attribuzione obbligatoria da mostrare con il luogo. |
Campo unione
|
|
location |
La posizione di questo luogo. |
LatLng
| Rappresentazione JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campi | |
|---|---|
latitude |
La latitudine in gradi. Deve essere compreso nell'intervallo [-90,0, +90,0]. |
longitude |
La longitudine in gradi. Deve essere compreso nell'intervallo [-180,0, +180,0]. |
GoogleMapsLinks
| Rappresentazione JSON |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| Campi | |
|---|---|
directionsUrl |
Un link per mostrare le indicazioni stradali per raggiungere il luogo. Il link compila solo la località di destinazione e utilizza la modalità di viaggio predefinita |
placeUrl |
Un link per mostrare questo luogo. |
writeAReviewUrl |
Un link per scrivere una recensione per questo luogo su Google Maps. |
reviewsUrl |
Un link per mostrare le recensioni di questo luogo su Google Maps. |
photosUrl |
Un link per mostrare le foto di questo luogo su Google Maps. |
Attribuzione
| Rappresentazione JSON |
|---|
{ "title": string, "url": string } |
| Campi | |
|---|---|
title |
Il titolo da visualizzare per l'attribuzione. |
url |
L'URL a cui collegare l'attribuzione. |
DetourSummary
| Rappresentazione JSON |
|---|
{ "detourDuration": string, "localizedDetourDistance": string } |
| Campi | |
|---|---|
detourDuration |
Il tempo di percorrenza aggiuntivo necessario per deviare verso questo luogo dal percorso principale. Questo valore non viene impostato se la route è specificata da Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
localizedDetourDistance |
La distanza aggiuntiva necessaria per deviare verso questo luogo dal percorso principale, formattata per la visualizzazione nella lingua della richiesta (ad es. "1,2 mi" o "1,9 km"). |
Durata
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Secondi con segno dell'intervallo di tempo. Deve essere compreso tra -315.576.000.000 e +315.576.000.000 inclusi. Nota: questi limiti vengono calcolati da: 60 sec/min * 60 min/ora * 24 ore/giorno * 365,25 giorni/anno * 10.000 anni |
nanos |
Frazioni di secondo con segno con risoluzione in nanosecondi dell'intervallo di tempo. Le durate inferiori a un secondo sono rappresentate con un campo |
Annotazioni dello strumento
Le annotazioni degli strumenti vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare una richiesta di conferma a un utente.
Oltre alla stringa del titolo, i seguenti suggerimenti booleani sono definiti come segue:
readOnlyHint: se true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se true, lo strumento può eseguire azioni distruttive. Se è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se true, la chiamata ripetuta dello strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.openWorldHint: se true, lo strumento può interagire con un "open world" di entità esterne. Se false, lo strumento può interagire solo con entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌