Rute transportasi umum memberikan petunjuk navigasi menggunakan opsi transportasi umum yang tersedia di wilayah tersebut. Opsi transportasi umum dapat mencakup bus, kereta bawah tanah, dan kereta api, serta opsi lainnya. Rute transportasi umum juga biasanya menyertakan petunjuk tentang cara berjalan kaki ke, dari, dan antar-stasiun transportasi umum. Karena rute transportasi umum biasanya mengharuskan Anda bepergian menggunakan lebih dari satu moda transportasi, cara Anda meminta rute dan beberapa bagian respons akan berbeda.
Perbedaan rute transportasi umum dengan rute lainnya
Rute transportasi umum, yang Anda minta dengan menetapkan travelMode ke TRANSIT, berbeda dengan rute yang menggunakan opsi travelMode yang berbeda. Anda tidak dapat meminta semua objek dan opsi yang sama, dan respons akan menampilkan kolom yang berbeda, jika dibandingkan dengan rute lainnya.
Di Routes API, langkah-langkahnya secara konsisten merupakan satu petunjuk navigasi di semua jenis perjalanan. Jadi, setiap petunjuk navigasi adalah sebuah langkah. Respons rute transportasi umum sangat mirip dengan rute dengan moda transportasi lainnya, dengan beberapa perbedaan utama:
| Perbedaan permintaan | Perbedaan respons |
|---|---|
| Anda tidak dapat menentukan titik jalan perantara. | Menyertakan detail Transportasi umum. |
| Tidak dapat mendapatkan rute ramah lingkungan | Menyertakan metadata untuk setiap moda transportasi yang berisi ringkasan langkah-langkah untuk moda transportasi tersebut, di `stepsOverview` (untuk meminta metadata ini, gunakan mask kolom `routes.legs.stepsOverview`). |
| Tidak dapat menentukan cara dan apakah akan menyertakan data lalu lintas | |
| Tidak dapat menentukan fitur rute yang akan dihindari | |
Hanya dapat menentukan transitPreferences untuk
routingPreference. Untuk mengetahui detailnya, lihat
TransitPreferences. |
Untuk mengetahui informasi selengkapnya tentang respons yang ditampilkan oleh Routes API, lihat Meninjau respons rute transportasi umum.
Untuk mendapatkan rute transportasi umum
Tetapkan asal dan tujuan Anda.
Tetapkan moda transportasi ke transportasi umum:
travelMode: "TRANSIT"Tambahkan mask kolom untuk mendapatkan kolom respons yang Anda inginkan. Lihat Meminta kolom rute transportasi umum yang Anda butuhkan.
Jika diperlukan, tetapkan parameter opsional. Lihat Menetapkan parameter untuk rute transportasi umum.
Meminta kolom rute transportasi umum yang Anda butuhkan
Minta kolom rute transportasi umum yang Anda butuhkan menggunakan mask kolom. Tabel berikut berisi beberapa respons yang disarankan untuk rute transportasi umum, dan mask kolom yang akan digunakan untuk memintanya.
| Untuk meminta informasi ini | Gunakan mask kolom ini |
|---|---|
| Semua detail rute | routes.* |
| Semua detail transportasi umum | routes.legs.steps.transitDetails |
| Lokasi awal untuk setiap segmen | routes.legs.steps.startLocation |
| Lokasi akhir untuk setiap segmen | routes.legs.steps.endLocation |
| Polyline rute untuk setiap langkah | routes.legs.steps.polyline |
| Jenis transportasi umum yang digunakan untuk setiap langkah | routes.legs.steps.travelMode |
| Perkiraan tarif untuk setiap langkah dan rute, serta Perkiraan tarif yang dilokalkan | routes.travel_advisory.transitFare
localized routes.localizedValues.transitFare
Catatan: |
| Teks yang dilokalkan untuk durasi dan jarak | routes.localizedValues |
Untuk mengetahui informasi selengkapnya tentang cara menetapkan mask kolom, lihat Memilih kolom yang akan ditampilkan.
Menetapkan parameter untuk rute transportasi umum
Berikut adalah parameter yang relevan untuk rute transportasi umum:
| Untuk melakukan hal ini | Gunakan parameter ini | Catatan |
|---|---|---|
| Pilih moda transportasi umum | travelMode: "TRANSIT" |
Wajib. Pelajari lebih lanjut. |
| Tetapkan waktu kedatangan atau keberangkatan | "arrivalTime": "yyyy-mm-ddThh:mm:ssZ"
ATAU "departureTime": "yyyy-mm-ddThh:mm:ssZ" |
Opsional. Anda dapat menentukan arrival_time atau departure_time. Jika
tidak ada waktu yang ditentukan, departure_time akan ditetapkan secara default ke
waktu eksekusi saat ini (now). Anda hanya dapat menetapkan waktu kedatangan dan
keberangkatan dalam jangka waktu berikut, dengan waktu eksekusi saat ini (now) sebagai referensi:
Catatan: Jadwal transportasi umum sering berubah, perjalanan transportasi umum yang tersedia dapat berubah dari waktu ke waktu, dan tidak ada jaminan untuk memberikan hasil yang konsisten untuk prediksi jauh di masa mendatang. |
| Sertakan rute alternatif | "computeAlternativeRoutes": true |
Opsional. Tetapkan ke benar (true) agar Compute Routes menghitung hingga 3 rute tambahan, jika tersedia. Pelajari lebih lanjut |
| Tentukan preferensi untuk jenis transportasi umum | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Catatan: Jika Anda menentukan moda transportasi pilihan, rute yang ditampilkan mungkin masih menggunakan moda transportasi umum lainnya, bahkan hanya menggunakan moda transportasi umum lainnya, bergantung pada efisiensi rute dan ketersediaan perjalanan pilihan. |
Opsional. Tentukan moda transportasi umum pilihan. Pelajari lebih lanjut |
| Tentukan preferensi untuk rute transportasi umum | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
Opsional. Tentukan preferensi perutean transportasi umum. Pelajari lebih lanjut |
Contoh: Mendapatkan rute transportasi umum
Contoh berikut mendapatkan rute transportasi umum dengan parameter berikut:
Menentukan preferensi untuk perjalanan dengan kereta api dan sedikit berjalan kaki.
Meminta rute alternatif.
Menyediakan mask kolom yang menampilkan detail transportasi umum:
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'
Respons menampilkan kolom route.legs.steps.transitDetails untuk kedua rute:
{ "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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }