Toplu taşıma rotası alın

Toplu taşıma rotası, bölgede sunulan toplu taşıma seçeneklerini kullanarak navigasyon talimatları sağlar. Toplu taşıma seçenekleri arasında otobüs, metro, tren ve diğer ulaşım seçenekleri yer alır. Toplu taşıma rotası genellikle, toplu taşıma istasyonlarına gitmek, bu istasyonlardan gitmek ve istasyonlardan gitmek istediğiniz noktalar arasında yürümeyle ilgili talimatları da içerir. Toplu taşıma rotası genellikle birden fazla ulaşım şekli kullanarak seyahat etmenizi gerektirdiği için 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ı

TRANSIT ulaşım şekli belirleyerek istediğiniz toplu taşıma rotaları, farklı seyahat modu seçenekleri kullanan rotalardan farklıdır. Aynı nesnelerin ve seçeneklerin tümünü isteyemezsiniz ve yanıt, diğer rotalarla karşılaştırıldığında farklı alanlar döndürür.

Routes API'deki adımlar, tüm seyahat türleri genelinde tutarlı olarak tek bir navigasyon talimatıdır. Dolayısıyla, her gezinme talimatı bir adımdır. Toplu taşıma rotası yanıtı, birkaç temel fark dışında diğer ulaşım modlarındaki rotalara çok benzer:

Farklılıkları iste Yanıt farklılıkları
Ara noktalar belirtemezsiniz. Toplu taşıma ayrıntılarını içerir.
Çevre dostu rotalar alınamıyor Her bir ulaşım şekline ait meta verileri, "stepsOverview" bölümünde söz konusu ulaşım şekliyle ilgili adımların özetini içerir (bu meta veriyi istemek için "routes.legs.stepsOverview" alan maskesini kullanın).
Trafik verilerinin nasıl ve nasıl dahil edileceği ve eklenip eklenmeyeceği belirlenemiyor
Kaçınılacak rota özellikleri belirlenemiyor
routingPreference için yalnızca transitPreferences belirtilebilir. Ayrıntılı bilgi için [TransitPreferences](reference/rest/v2/TransitPreferences) sayfasına bakın.

Routes API'nin döndürdüğü yanıt hakkında daha fazla bilgi edinmek için Toplu taşıma rotası yanıtlarını inceleme başlıklı makaleye bakın.

Toplu taşıma rotası almak için

  1. Başlangıç ve varış noktalarınızı ayarlayın.

  2. Ulaşım şeklini toplu taşıma olarak ayarlayın:

    travelMode: "TRANSIT"

  3. İstediğiniz yanıt alanlarını almak için alan maskesi ekleyin. İhtiyacınız olan toplu taşıma rotası alanlarını isteme bölümüne göz atın.

  4. Gerekirse isteğe bağlı parametreler ayarlayın. Toplu taşıma rotası parametrelerini ayarlama başlıklı makaleyi inceleyin.

İhtiyaç duyduğunuz toplu taşıma rotası alanlarını isteyin

Alan maskelerini kullanarak ihtiyacınız olan toplu taşıma rotası alanlarını isteyin. Aşağıdaki tabloda, bir toplu taşıma rotası için önerilen bazı yanıtlar ve bunları istemek için kullanılacak alan maskesi gösterilmektedir.

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 bacak için başlangıç konumu routes.legs.steps.startLocation
Her bacak için bitiş konumu routes.legs.steps.endLocation
Her adım için rota çoklu çizgisi 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 ile Yerelleştirilmiş tahmini ücret routes.travel_advisory.transitFare localized routes.localizedValues.transitFare

Not: transitFare, yalnızca API'nin tüm adımlar için toplu taşıma ücreti bilgilerini belirleyebiliyorsa sağlanır.

Süre ve mesafe için yerelleştirilmiş metin routes.localizedValues

Alan maskelerini ayarlama hakkında daha fazla bilgi için Döndürülecek alanları seçme bölümüne bakın.

Toplu taşıma rotası parametrelerini ayarlama

Toplu taşıma rotalarıyla ilgili parametreler:

Bunu yapmak için Bu parametreyi kullanın 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 Kalkış_saati'ni belirtebilirsiniz. İki zaman da belirtilmezse departure_time varsayılan olarak geçerli yürütme süresine (now) ayarlanır. Varış ve kalkış saatlerini yalnızca aşağıdaki zaman aralığında ayarlayabilirsiniz. Mevcut yürütme zamanı (now) referans olarak kullanılır:
  • now tarihinden önceki 7 gün dahil olmak üzere en fazla
  • now tarihinden sonraki 100 gün dahil olmak üzere en fazla
Zaman, RFC3339 UTC "Zulu" biçiminde bir zaman damgası olarak ifade edilir. Daha fazla bilgi
Alternatif rotaları dahil et "computeAlternativeRoutes": true İsteğe bağlı. Routes API'nin 3 taneye kadar ek rota hesaplayabilmesi için mevcut olduğunda değeri true olarak ayarlayın. 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önüş rotalarında, rotanın verimliliğine ve tercih edilen ulaşım durumuna bağlı olarak diğer toplu taşıma modları kullanılmaya devam edebilir.

İsteğe bağlı. Tercih edilen toplu taşıma ulaşım şekillerini belirtin. Daha fazla bilgi
Toplu taşıma rotası ile ilgili tercihlerinizi 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 alma

Aşağıdaki örnekte, toplu taşımada şu parametrelere sahip bir rota verilmiştir:

  • Trenle seyahat ve daha az yürümeyle ilgili tercihleri belirtir.

  • Alternatif rotalar ister.

  • Geçiş 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 alanlarını gösterir:

{
  "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
          }
        },
        {},
        {},
        {},
        {},
        {},
        {}
        ]
      }
    ]
  }
]
}