Toplu taşıma rotası, toplu taşıma için navigasyon talimatları sunar. bölgede mevcut seçeneklere sahip olmak. Toplu taşıma seçenekleri arasında otobüs, metro ve trenler gibi pek çok araç. Toplu taşıma rotası genellikle toplu taşıma istasyonları arasında yaya, uzaklık ve toplu taşıma durakları arasında geçiş yapabilirsiniz. çünkü toplu taşıma rotası genellikle birden fazla ulaşım şekli kullanarak seyahat etmeniz gerekir. ve yanıtın bazı bölümleri farklı.
Toplu taşıma rotalarının diğer rotalardan farkı
TRANSIT ulaşım yöntemini ayarlayarak istekte bulunduğunuz toplu taşıma rotaları, farklı ulaşım modu seçenekleri kullanan rotalardan. Aynı nesnelerin ve seçeneklerin tümünü isteyemezsiniz ve yanıt şunu döndürür: daha iyi performans göstermesidir.
Routes API'de adımlar sürekli olarak tek bir gezinme talimatıdır sizi bekliyor. Yani her gezinme talimatı bir adımdır. Toplu taşıma rota yanıtı, diğer ulaşım şekilleriyle rotalara çok benzer, ancak yalnızca birkaç anahtar farklar:
İstek farklılıkları | Yanıt farklılıkları |
---|---|
Ara ara noktalar belirtemezsiniz. | Toplu taşıma ayrıntılarını içerir. |
Çevre dostu rotalar alınamıyor | Her ulaşım şekli için, uygulamanız gereken adımların özetini içeren meta verileri içerir bu ulaşım şeklini "stepsOverview"te (bu meta verileri istemek için "routes.legs.stepsOverview" alan maskesi). |
Trafik verilerinin nasıl ve nasıl dahil edileceği belirlenemiyor | |
Kaçınılacak rota özellikleri belirlenemiyor | |
Şunun için yalnızca transitPreferences belirtilebilir:
routingPreference . Ayrıntılar için bkz.
[TransitPreferences](reference/rest/v2/TransitPreferences). |
Routes API'nin döndürdüğü yanıt hakkında daha fazla bilgi için bkz. Toplu taşıma rotası yanıtlarını inceleyin.
Toplu taşıma rotası almak için
Kalkış ve varış noktalarınızı belirleyin.
Ulaşım şeklini toplu taşıma olarak ayarlayın:
travelMode: "TRANSIT"
İstediğiniz yanıt alanlarını elde etmek için bir alan maskesi ekleyin. Görüntüleyin İhtiyacınız olan toplu taşıma rotası alanlarını isteyin.
Gerekirse isteğe bağlı parametreler ayarlayın. Görüntüleyin Toplu taşıma rotası parametrelerini ayarlayın.
İhtiyacınız olan toplu taşıma rotası alanlarını isteyin
Alan maskelerini kullanarak ihtiyacınız olan toplu taşıma rotası alanlarını isteyin. Aşağıdaki tablo toplu taşıma için önerilen bazı yanıtları içerir rotayı ve bunları istemek için kullanılacak alan maskesini gösterir.
Bu bilgileri istemek için | Bu alan maskesini kullan |
---|---|
Tüm rota ayrıntıları | routes.* |
Tüm toplu taşıma ayrıntıları | routes.legs.steps.transitDetails |
Her ayak için başlangıç konumu | routes.legs.steps.startLocation |
Her ayak için bitiş konumu | routes.legs.steps.endLocation |
Her adım için çoklu çizgiyi yönlendir | routes.legs.steps.polyline |
Her adım için 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 maskelerini ayarlama hakkında daha fazla bilgi için bkz. Döndürülecek alanları seçin.
Toplu taşıma rotası için parametreler ayarlama
Toplu taşıma rotalarıyla ilgili parametreler aşağıda verilmiştir:
Bunu yapmak için: | Bu parametreyi kullan | Notlar |
---|---|---|
Toplu taşıma modunu seçin | travelMode: "TRANSIT" |
Zorunlu. Daha fazla bilgi edinin. |
Varış veya kalkış saati ayarlayın | "arrivalTime": "yyyy-mm-ddThh:mm:ssZ"
VEYA "departureTime": "yyyy-mm-ddThh:mm:ssZ" |
İsteğe bağlı. varış_saati veya çıkış_saati seçeneklerinden birini belirtebilirsiniz. Eğer
iki saat de belirtilmez, departure_time varsayılan olarak
geçerli yürütme zamanı (now ). Varışı ayarlayabilir ve
yalnızca sonraki zaman aralığında gerçekleşen kalkış saatleri
referans olarak yürütme süresi (now ):
|
Alternatif rotaları dahil et | "computeAlternativeRoutes": true |
İsteğe bağlı. Routes API'nin en fazla 3 işlem yapması için doğru değerine ayarlayın (varsa) ek rotalar. Daha fazla bilgi |
Toplu taşıma türüyle ilgili tercihleri belirtin | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Not: Tercih edilen bir ulaşım şekli belirtirseniz, döndürülen rotalar kullanım durumuna bağlı olarak yalnızca diğer toplu taşıma modlarını rotanın verimliliği ve tercih edilen rotanın kullanılabilirliği yardımcı olur. |
İsteğe bağlı. Tercih edilen toplu taşıma ulaşım şekillerini belirtin. Daha fazla bilgi |
Toplu taşıma rotasıyla ilgili tercihleri belirtin | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
İsteğe bağlı. Toplu taşıma rotası tercihlerini belirtin. Daha fazla bilgi |
Örnek: Toplu taşımada rota bulma
Aşağıdaki örnekte, aşağıdaki parametrelere sahip toplu taşıma rotası verilmektedir:
Trenle seyahat ve daha az yürüyüş için 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ıtta iki rota için route.legs.steps.transitDetails
alanları gösteriliyor:
{ "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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }