Toplu taşıma rotası, bölgedeki toplu taşıma seçeneklerini kullanarak navigasyon talimatları sağlar. Toplu taşıma seçenekleri arasında otobüs, metro ve tren gibi araçlar yer alabilir. Toplu taşıma rotası genellikle toplu taşıma istasyonlarına yürüme, istasyonlardan yürüme ve istasyonlar arasında yürüme talimatlarını da içerir. Toplu taşıma rotası genellikle birden fazla ulaşım şekliyle seyahat etmenizi gerektirdiğinden rotayı nasıl istediğiniz ve yanıtın bazı bölümleri farklıdır.
Toplu taşıma rotalarının diğer rotalardan farkı
travelMode'u TRANSIT olarak ayarlayarak istediğiniz toplu taşıma rotaları, farklı travelMode seçeneklerinin kullanıldığı rotalardan farklıdır. Aynı nesnelerin ve seçeneklerin tümünü isteyemezsiniz. Ayrıca, yanıt diğer rotalara kıyasla farklı alanlar döndürür.
Routes API'de adımlar, tüm seyahat türlerinde tutarlı bir şekilde tek bir navigasyon talimatıdır. Yani her navigasyon talimatı bir adımdır. Toplu taşıma rotası yanıtı, diğer ulaşım şekillerindeki rotalara çok benzer. Ancak birkaç önemli fark vardır:
| Farklılıkları iste | Yanıt farklılıkları |
|---|---|
| Ara yol noktaları belirtemezsiniz. | Toplu taşıma bilgilerini içerir. |
| Çevre dostu rotalar alınamıyor | Her seyahat modunun adımlarının özetini içeren meta verileri `stepsOverview` alanında içerir (bu meta verileri istemek için `routes.legs.stepsOverview` alan maskesini kullanın). |
| Trafik verilerinin nasıl ve dahil edilip edilmeyeceğini belirleyemezsiniz. | |
| Kaçınılacak rota özellikleri belirtilemiyor | |
Yalnızca routingPreference için transitPreferences belirtilebilir. Ayrıntılı bilgi için TransitPreferences başlıklı makaleyi inceleyin. |
Routes API tarafından döndürülen yanıt hakkında daha fazla bilgi için Toplu taşıma rotası yanıtlarını inceleme başlıklı makaleyi inceleyin.
Toplu taşıma rotası almak için
Başlangıç ve varış noktanızı ayarlayın.
Seyahat modunu toplu taşıma olarak ayarlayın:
travelMode: "TRANSIT"İstediğiniz yanıt alanlarını almak için alan maskesi ekleyin. İhtiyacınız olan toplu taşıma rotası alanlarını isteme başlıklı makaleyi inceleyin.
Gerekirse isteğe bağlı parametreleri ayarlayın. Toplu taşıma rotası için parametreleri ayarlama başlıklı makaleyi inceleyin.
İhtiyacınız olan toplu taşıma rotası alanlarını isteme
Alan maskelerini kullanarak ihtiyacınız olan toplu taşıma rotası alanlarını isteyin. Aşağıdaki tabloda, toplu taşıma rotası için önerilen bazı yanıtlar ve bunları istemek için kullanılacak alan maskesi yer almaktadır.
| Bu bilgileri istemek için | Bu alan maskesini kullanın |
|---|---|
| Tüm rota ayrıntıları | routes.* |
| Tüm toplu taşıma ayrıntıları | routes.legs.steps.transitDetails |
| Her ayağın başlangıç konumu | routes.legs.steps.startLocation |
| Her ayağın bitiş konumu | routes.legs.steps.endLocation |
| Her adım için rota çoklu çizgisi | routes.legs.steps.polyline |
| Her adımda kullanılan toplu taşıma türü | routes.legs.steps.travelMode |
| Her adım ve rota için tahmini ücret ve Yerelleştirilmiş tahmini ücret | routes.travel_advisory.transitFare
localized routes.localizedValues.transitFare
Not: |
| Süre ve mesafe için yerelleştirilmiş metin | routes.localizedValues |
Alan maskeleri ayarlama hakkında daha fazla bilgi için Döndürülecek alanları seçme başlıklı makaleyi inceleyin.
Toplu taşıma rotası için parametreleri ayarlama
Toplu taşıma rotalarıyla ilgili parametreler şunlardır:
| Bunu yapmak için | Bu parametreyi kullanın | Notlar |
|---|---|---|
| Toplu taşıma modunu seçin | travelMode: "TRANSIT" |
Zorunlu. Daha fazla bilgi |
| Varış veya kalkış zamanı ayarlama | "arrivalTime": "yyyy-mm-ddThh:mm:ssZ"
VEYA "departureTime": "yyyy-mm-ddThh:mm:ssZ" |
İsteğe bağlıdır. arrival_time veya departure_time değerlerinden birini belirtebilirsiniz. Hiçbir zaman belirtilmezse departure_time, varsayılan olarak geçerli yürütme zamanına (now) ayarlanır. Varış ve ayrılış zamanlarını yalnızca aşağıdaki zaman aralığında, geçerli yürütme zamanını (now) referans alarak ayarlayabilirsiniz:
Not: Toplu taşıma tarifeleri sık sık değişir, mevcut toplu taşıma yolculukları zaman içinde değişebilir ve çok önceden yapılan tahminler için tutarlı sonuçlar sağlama garantisi verilmez. |
| Alternatif rotaları dahil etme | "computeAlternativeRoutes": true |
İsteğe bağlıdır. Kullanılabilir olduğunda Compute Routes'un 3 ek rota hesaplaması için true olarak ayarlayın. Daha fazla bilgi |
| Toplu taşıma türüyle ilgili tercihleri belirtme | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Not: Tercih edilen bir seyahat modu belirtirseniz döndürülen rotalar, tercih edilen seyahat modundaki rotanın verimliliğine ve kullanılabilirliğine bağlı olarak diğer toplu taşıma modlarını kullanmaya devam edebilir, hatta yalnızca diğer toplu taşıma modlarını kullanabilir. |
İsteğe bağlıdır. Tercih edilen toplu taşıma seyahat modlarını belirtin. Daha fazla bilgi |
| Toplu taşıma rotası için tercihleri belirtme | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
İsteğe bağlıdır. Toplu taşıma rotası tercihlerini belirtme Daha fazla bilgi |
Örnek: Toplu taşıma rotası alma
Aşağıdaki örnekte, aşağıdaki parametrelerle toplu taşıma rotası alınmaktadır:
Trenle seyahat ve daha az yürüyüşle ilgili tercihleri belirtir.
Alternatif rotalar ister.
Toplu taşıma ayrıntılarını döndüren bir alan maskesi sağlar:
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'
Yanıt, iki rota için route.legs.steps.transitDetails alanını gösteriyor:
{ "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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }