Rute transportasi umum memberikan petunjuk navigasi menggunakan transportasi umum opsi yang tersedia di wilayah tersebut. Pilihan transportasi umum dapat mencakup bus, kereta bawah tanah, dan kereta api, dan sebagainya. Rute transit biasanya juga menyertakan petunjuk tentang berjalan ke, dari, dan antara stasiun transit. Karena rute transportasi umum biasanya mengharuskan Anda bepergian menggunakan lebih dari satu moda perjalanan, dengan cara meminta rute dan ada beberapa bagian respon yang berbeda.
Perbedaan rute transportasi umum dengan rute lainnya
Rute transportasi umum, yang Anda minta dengan menetapkan travelMode TRANSIT, berbeda dari rute yang menggunakan opsi travelMode yang berbeda. Anda tidak dapat meminta semua objek dan opsi yang sama, dan responsnya akan menampilkan isian yang berbeda, jika dibandingkan dengan rute lainnya.
Di Routes API, langkah-langkah secara konsisten merupakan satu petunjuk navigasi di semua jenis perjalanan. Jadi setiap petunjuk navigasi adalah langkah. Transportasi umum respons rute sangat mirip dengan rute dengan mode perjalanan lainnya, dengan beberapa perbedaan:
Minta perbedaan | Perbedaan respons |
---|---|
Anda tidak dapat menentukan titik jalan perantara. | Termasuk detail Transportasi Umum. |
Tidak bisa mendapatkan rute ramah lingkungan | Menyertakan metadata untuk setiap mode perjalanan yang berisi ringkasan langkah-langkah untuk mode perjalanan tersebut, di `stepsOverview` (untuk meminta metadata ini, gunakan Mask kolom `routes.legs.stepsOverview`). |
Tidak dapat menentukan bagaimana dan apakah data traffic harus disertakan | |
Tidak dapat menentukan fitur rute yang harus dihindari | |
Hanya dapat menentukan transitPreferences untuk
routingPreference . Untuk mengetahui detailnya, lihat
[TransitPreferences](reference/rest/v2/TransitPreferences). |
Untuk 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 mode perjalanan ke transportasi umum:
travelMode: "TRANSIT"
Tambahkan mask kolom untuk mendapatkan kolom respons yang Anda inginkan. Lihat Minta kolom rute transportasi umum yang Anda perlukan.
Jika perlu, tetapkan parameter opsional. Lihat Menetapkan parameter untuk rute transportasi umum.
Meminta kolom rute transportasi umum yang diperlukan
Minta kolom rute transportasi umum yang Anda perlukan menggunakan mask kolom. Tabel berikut berisi beberapa respons yang disarankan untuk transportasi umum rute, 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 kaki | routes.legs.steps.startLocation |
Lokasi akhir untuk setiap kaki | routes.legs.steps.endLocation |
Merutekan polyline 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, dan Perkiraan tarif lokal | routes.travel_advisory.transitFare
localized routes.localizedValues.transitFare
Catatan: |
Teks yang dilokalkan untuk durasi dan jarak | routes.localizedValues |
Untuk informasi selengkapnya tentang cara menyetel mask kolom, lihat Pilih kolom untuk ditampilkan.
Menetapkan parameter untuk rute transportasi umum
Berikut adalah parameter yang relevan untuk rute transportasi umum:
Untuk melakukan hal berikut | Gunakan parameter ini | Catatan |
---|---|---|
Pilih mode transportasi umum | travelMode: "TRANSIT" |
Wajib diisi. Pelajari lebih lanjut. |
Menetapkan waktu kedatangan atau keberangkatan | "arrivalTime": "yyyy-mm-ddThh:mm:ssZ"
ATAU "departureTime": "yyyy-mm-ddThh:mm:ssZ" |
Opsional. Anda dapat menentukan arrival_time atau Keberangkatan_time. Jika
tidak ada waktu yang ditentukan, departure_time akan ditetapkan secara default ke
waktu eksekusi saat ini (now ). Anda dapat mengatur
kedatangan dan
waktu keberangkatan hanya dalam jangka waktu berikut, dengan informasi
waktu eksekusi (now ) sebagai referensi:
|
Sertakan rute alternatif | "computeAlternativeRoutes": true |
Opsional. Tetapkan ke true agar Routes API menghitung hingga 3 rute tambahan, jika tersedia. Pelajari lebih lanjut |
Menentukan preferensi untuk jenis transportasi umum | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Catatan: Jika Anda menentukan mode perjalanan yang disukai, rute yang dikembalikan mungkin masih menggunakan mode transit lain, bahkan hanya menggunakan mode transit lainnya, bergantung pada efisiensi rute di, dan ketersediaan, pilihan bepergian. |
Opsional. Tentukan mode perjalanan transportasi umum pilihan. Pelajari lebih lanjut |
Menentukan preferensi untuk rute transportasi umum | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
Opsional. Tentukan preferensi pemilihan rute transportasi umum. Pelajari lebih lanjut |
Contoh: Mendapatkan rute transportasi umum
Contoh berikut mendapatkan rute di transportasi umum dengan parameter berikut:
Menentukan preferensi untuk perjalanan dengan kereta dan lebih 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'
Responsnya menampilkan kolom route.legs.steps.transitDetails
untuk dua 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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }