Un percorso con il trasporto pubblico fornisce istruzioni di navigazione utilizzando il trasporto pubblico. di archiviazione disponibili nella regione. Le opzioni di trasporto pubblico possono includere bus, metropolitana e treni, tra gli altri. Un percorso con il trasporto pubblico di solito include anche a piedi da, verso e tra stazioni di trasporto pubblico. Poiché un percorso con il trasporto pubblico di solito richiede di viaggiare usando più di una modalità di viaggio, come la route e alcune parti della risposta sono diverse.
Differenza tra i percorsi per il trasporto pubblico e altri percorsi
I percorsi con il trasporto pubblico, che richiedi impostando il valore TravelMode di TRANSIT, sono diversi partendo da percorsi con opzioni di viaggio diverse. Non puoi richiedere tutti gli stessi oggetti e le stesse opzioni e la risposta restituisce campi diversi rispetto ad altri percorsi.
Nell'API Routes, i passaggi sono sempre un'istruzione di navigazione per tutti i tipi di viaggi. Ogni istruzione di navigazione è quindi un passaggio. Una risposta al percorso con il trasporto pubblico è molto simile ai percorsi con altre modalità di viaggio, con alcune differenze chiave:
Differenze nelle richieste | Differenze nelle risposte |
---|---|
Non puoi specificare tappe intermedie. | Include i dettagli sul trasporto pubblico. |
Impossibile visualizzare percorsi ecosostenibili | Include i metadati per ogni modalità di viaggio che contiene il riepilogo dei passaggi per quella modalità di viaggio, in "stepsPanoramica" (per richiedere questi metadati, utilizza maschera di campo "routes.legs.stepsPanoramica"). |
Impossibile specificare come e se includere i dati sul traffico | |
Impossibile specificare le caratteristiche del percorso da evitare | |
Puoi specificare solo transitPreferences per
routingPreference . Per maggiori dettagli, vedi
[TransitPreferences](reference/rest/v2/TransitPreferences). |
Per ulteriori informazioni sulla risposta restituita dall'API Routes, vedi Esamina le risposte ai percorsi con il trasporto pubblico.
Per visualizzare un percorso con il trasporto pubblico
Imposta il luogo di partenza e la destinazione.
Imposta la modalità di viaggio su Trasporto pubblico:
travelMode: "TRANSIT"
Aggiungi una maschera di campo per ottenere i campi di risposta che vuoi. Consulta Richiedi i campi del percorso di trasporto pubblico di cui hai bisogno.
Se necessario, imposta i parametri facoltativi. Consulta Impostare i parametri per un percorso di trasporto pubblico.
Richiedi i campi del percorso di trasporto pubblico necessari
Richiedi i campi necessari del percorso di trasporto pubblico utilizzando le maschere di campo. La tabella seguente contiene alcune risposte suggerite per un trasporto pubblico percorso e la maschera di campo da utilizzare per richiederli.
Per richiedere queste informazioni | Utilizza questa maschera dei campi |
---|---|
Tutti i dettagli della route | routes.* |
Tutti i dettagli sul trasporto pubblico | routes.legs.steps.transitDetails |
Posizione di partenza per ogni tratto | routes.legs.steps.startLocation |
Posizione dell'estremità di ogni tratto | routes.legs.steps.endLocation |
Esegui il routing della polilinea per ogni passaggio | routes.legs.steps.polyline |
Tipo di trasporto pubblico utilizzato per ogni passaggio | routes.legs.steps.travelMode |
Tariffa stimata per ogni passaggio e per il percorso e Tariffa stimata localizzata | routes.travel_advisory.transitFare
localized routes.localizedValues.transitFare
Nota: |
Testo localizzato per durata e distanza | routes.localizedValues |
Per ulteriori informazioni sull'impostazione delle maschere di campo, consulta Scegliere i campi da restituire.
Impostare i parametri per un percorso di trasporto pubblico
Ecco i parametri pertinenti per i percorsi con il trasporto pubblico:
Per | Utilizza questo parametro | Note |
---|---|---|
Seleziona la modalità di trasporto pubblico | travelMode: "TRANSIT" |
Obbligatorio. Ulteriori informazioni. |
Impostare un'ora di arrivo o di partenza | "arrivalTime": "yyyy-mm-ddThh:mm:ssZ"
OPPURE "departureTime": "yyyy-mm-ddThh:mm:ssZ" |
(Facoltativo) Puoi specificare wait_time o departure_time. Se
né l'ora è specificata, per impostazione predefinita departure_time
tempo di esecuzione attuale (now ). Puoi impostare arrivo e
orari di partenza solo nella finestra temporale successiva, con le date correnti
tempo di esecuzione (now ) come riferimento:
|
Includi percorsi alternativi | "computeAlternativeRoutes": true |
(Facoltativo) Imposta su true per consentire all'API Routes di calcolare fino a 3 percorsi aggiuntivi, se disponibili. Scopri di più |
Specifica le preferenze per il tipo di trasporto pubblico | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Nota: se specifichi una modalità di viaggio preferita, i percorsi di ritorno potrebbero comunque utilizzare altre modalità di trasporto pubblico e persino altre modalità, a seconda l'efficienza del percorso e la disponibilità del viaggiare. |
(Facoltativo) Specifica le modalità di viaggio con il trasporto pubblico preferite. Scopri di più |
Specificare le preferenze per il percorso con il trasporto pubblico | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
(Facoltativo) Specifica le preferenze per i percorsi con il trasporto pubblico. Scopri di più |
Esempio: visualizzare un percorso per i trasporti pubblici
L'esempio seguente restituisce un percorso sul trasporto pubblico con i seguenti parametri:
Specifica le preferenze per gli spostamenti in treno e meno a piedi.
Consente di richiedere percorsi alternativi.
Fornisce una maschera del campo che restituisce i dettagli del trasporto pubblico:
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "address": "Humberto Delgado Airport, Portugal" }, "destination": { "address": "Basílica of Estrela, Praça da Estrela, 1200-667 Lisboa, Portugal" }, "travelMode": "TRANSIT", "computeAlternativeRoutes": true, "transitPreferences": { routingPreference: "LESS_WALKING", allowedTravelModes: ["TRAIN"] }, }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.legs.steps.transitDetails' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
La risposta mostra i campi route.legs.steps.transitDetails
per le due route:
{ "routes": [ { "legs": [ { "steps": [ {}, {}, {}, { "transitDetails": { "stopDetails": { "arrivalStop": { "name": "Saldanha", "location": { "latLng": { "latitude": 38.73532, "longitude": -9.14543 } } }, "arrivalTime": "2023-08-26T10:49:42Z", "departureStop": { "name": "Aeroporto", "location": { "latLng": { "latitude": 38.769047799999996, "longitude": -9.1284593 } } }, "departureTime": "2023-08-26T10:32:10Z" }, "localizedValues": { "arrivalTime": { "time": { "text": "11:49" }, "timeZone": "Europe/Lisbon" }, "departureTime": { "time": { "text": "11:32" }, "timeZone": "Europe/Lisbon" } }, "headsign": "São Sebastião", "transitLine": { "agencies": [ { "name": "Metropolitano de Lisboa, E.P.E.", "phoneNumber": "+351 21 350 0115", "uri": "https://www.metrolisboa.pt/" } ], "name": "Vermelha", "color": "#f23061", "nameShort": "Vm", "textColor": "#000000", "vehicle": { "name": { "text": "Metrô" }, "type": "SUBWAY", "iconUri": "//maps.gstatic.com/mapfiles/transit/iw2/6/subway2.png" } }, "stopCount": 11 } }, {}, { "transitDetails": { "stopDetails": { "arrivalStop": { "name": "Rato", "location": { "latLng": { "latitude": 38.7201022, "longitude": -9.1540562 } } }, "arrivalTime": "2023-08-26T11:01:37Z", "departureStop": { "name": "Saldanha", "location": { "latLng": { "latitude": 38.73527, "longitude": -9.1455200000000012 } } }, "departureTime": "2023-08-26T10:57:57Z" }, "localizedValues": { "arrivalTime": { "time": { "text": "12:01" }, "timeZone": "Europe/Lisbon" }, "departureTime": { "time": { "text": "11:57" }, "timeZone": "Europe/Lisbon" } }, "headsign": "Rato", "transitLine": { "agencies": [ { "name": "Metropolitano de Lisboa, E.P.E.", "phoneNumber": "+351 21 350 0115", "uri": "https://www.metrolisboa.pt/" } ], "name": "Amarela", "color": "#f2c200", "nameShort": "Am", "textColor": "#000000", "vehicle": { "name": { "text": "Metrô" }, "type": "SUBWAY", "iconUri": "//maps.gstatic.com/mapfiles/transit/iw2/6/subway2.png" } }, "stopCount": 4 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }