একটি ট্রানজিট রুট পান

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA) ডেভেলপাররা

একটি ট্রানজিট রুট ঐ অঞ্চলে উপলব্ধ গণপরিবহনের বিকল্পগুলো ব্যবহার করে যাতায়াতের নির্দেশনা প্রদান করে। ট্রানজিট বিকল্পগুলোর মধ্যে বাস, সাবওয়ে এবং ট্রেন ইত্যাদি অন্তর্ভুক্ত থাকতে পারে। একটি ট্রানজিট রুটে সাধারণত ট্রানজিট স্টেশনগুলোতে হেঁটে যাওয়া, স্টেশন থেকে ফেরা এবং স্টেশনগুলোর মধ্যে যাতায়াতের নির্দেশনাও থাকে। যেহেতু একটি ট্রানজিট রুটে সাধারণত আপনাকে একাধিক পরিবহন মাধ্যম ব্যবহার করে ভ্রমণ করতে হয়, তাই আপনি কীভাবে রুটের জন্য অনুরোধ করবেন এবং প্রতিক্রিয়ার কিছু অংশ ভিন্ন হয়।

গণপরিবহনের পথগুলো অন্যান্য পথ থেকে কীভাবে আলাদা

ট্রানজিট রুট, যা আপনি TRANSIT ট্র্যাভেলমোড সেট করে অনুরোধ করেন, তা ভিন্ন ট্র্যাভেলমোড বিকল্প ব্যবহারকারী রুটগুলো থেকে আলাদা। আপনি একই সব অবজেক্ট এবং বিকল্পের জন্য অনুরোধ করতে পারবেন না, এবং অন্যান্য রুটের তুলনায় এর প্রতিক্রিয়ায় ভিন্ন ফিল্ড ফেরত আসে।

Routes API-তে, সব ধরনের ভ্রমণের ক্ষেত্রেই ধাপগুলো ধারাবাহিকভাবে একটি নেভিগেশন নির্দেশনা হিসেবে গণ্য হয়। সুতরাং প্রতিটি নেভিগেশন নির্দেশনাই একটি ধাপ। একটি ট্রানজিট রুটের প্রতিক্রিয়া অন্যান্য ভ্রমণ মাধ্যমের রুটের মতোই, তবে কয়েকটি মূল পার্থক্য রয়েছে:

পার্থক্য অনুরোধ করুন প্রতিক্রিয়ার পার্থক্য
আপনি মধ্যবর্তী ওয়েপয়েন্ট নির্দিষ্ট করতে পারবেন না। গণপরিবহনের বিবরণ অন্তর্ভুক্ত।
পরিবেশ-বান্ধব পথ পাওয়া যাচ্ছে না প্রতিটি ভ্রমণ পদ্ধতির জন্য মেটাডেটা অন্তর্ভুক্ত করে, যা `stepsOverview`-এ সেই ভ্রমণ পদ্ধতির ধাপগুলোর সারসংক্ষেপ ধারণ করে (এই মেটাডেটা অনুরোধ করতে, `routes.legs.stepsOverview` ফিল্ড মাস্ক ব্যবহার করুন)।
ট্র্যাফিক ডেটা কীভাবে এবং আদৌ অন্তর্ভুক্ত করা হবে কিনা তা নির্দিষ্ট করা সম্ভব নয়।
এড়ানোর জন্য রুটের বৈশিষ্ট্য নির্দিষ্ট করা সম্ভব নয়
শুধুমাত্র routingPreference জন্যই transitPreferences নির্দিষ্ট করা যায়। বিস্তারিত জানতে, TransitPreferences দেখুন।

Routes API দ্বারা ফেরত আসা প্রতিক্রিয়া সম্পর্কে আরও তথ্যের জন্য, “Review transit route responses” দেখুন।

একটি ট্রানজিট রুট পেতে

  1. আপনার যাত্রা শুরুর স্থান ও গন্তব্যস্থল নির্ধারণ করুন।

  2. ভ্রমণ মোড ট্রানজিটে সেট করুন:

    travelMode: "TRANSIT"

  3. আপনার কাঙ্ক্ষিত রেসপন্স ফিল্ডগুলো পেতে একটি ফিল্ড মাস্ক যোগ করুন। আপনার প্রয়োজনীয় ট্রানজিট রুট ফিল্ডগুলোর জন্য অনুরোধ দেখুন।

  4. প্রয়োজনে, ঐচ্ছিক প্যারামিটার সেট করুন। ট্রানজিট রুটের জন্য প্যারামিটার সেট করা দেখুন।

আপনার প্রয়োজনীয় ট্রানজিট রুটের ফিল্ডগুলির জন্য অনুরোধ করুন।

ফিল্ড মাস্ক ব্যবহার করে আপনার প্রয়োজনীয় ট্রানজিট রুটের ফিল্ডগুলো অনুরোধ করুন। নিচের সারণিতে একটি ট্রানজিট রুটের জন্য কিছু প্রস্তাবিত প্রতিক্রিয়া এবং সেগুলো অনুরোধ করার জন্য ব্যবহারযোগ্য ফিল্ড মাস্ক দেওয়া আছে।

এই তথ্য অনুরোধ করতে এই ফিল্ড মাস্কটি ব্যবহার করুন
সমস্ত রুটের বিবরণ routes.*
সমস্ত ট্রানজিট বিবরণ routes.legs.steps.transitDetails
প্রতিটি লেগের জন্য শুরুর স্থান routes.legs.steps.startLocation
প্রতিটি পায়ের শেষ অবস্থান routes.legs.steps.endLocation
প্রতিটি ধাপের জন্য পলিলাইন রুট করুন routes.legs.steps.polyline
প্রতিটি ধাপের জন্য ব্যবহৃত পরিবহনের ধরন routes.legs.steps.travelMode
প্রতিটি ধাপ ও পথের জন্য আনুমানিক ভাড়া এবং স্থানীয় আনুমানিক ভাড়া routes.travel_advisory.transitFare localized routes.localizedValues.transitFare

দ্রষ্টব্য: transitFare শুধুমাত্র তখনই প্রদান করা হয়, যখন এপিআই সমস্ত ধাপের জন্য ট্রানজিট ভাড়ার তথ্য নির্ধারণ করতে পারে।

সময়কাল এবং দূরত্বের জন্য স্থানীয় পাঠ্য routes.localizedValues

ফিল্ড মাস্ক সেট করার বিষয়ে আরও তথ্যের জন্য, ফেরত দেওয়ার জন্য ফিল্ড নির্বাচন করুন দেখুন।

একটি ট্রানজিট রুটের জন্য প্যারামিটার সেট করুন

ট্রানজিট রুটের জন্য প্রাসঙ্গিক প্যারামিটারগুলো নিচে দেওয়া হলো:

এটা করতে এই প্যারামিটারটি ব্যবহার করুন নোট
ট্রানজিট মোড নির্বাচন করুন travelMode: "TRANSIT" আবশ্যক। আরও জানুন
আগমন বা প্রস্থানের সময় নির্ধারণ করুন "arrivalTime": "yyyy-mm-ddThh:mm:ssZ"

অথবা

"departureTime": "yyyy-mm-ddThh:mm:ssZ"
ঐচ্ছিক। আপনি আগমন_সময় (arrival_time) অথবা প্রস্থান_সময় (departure_time) নির্দিষ্ট করতে পারেন। যদি কোনো সময়ই নির্দিষ্ট না করা হয়, তাহলে departure_time ডিফল্টভাবে বর্তমান এক্সিকিউশন সময় ( now ) হবে। আপনি বর্তমান এক্সিকিউশন সময়কে ( now ) রেফারেন্স হিসেবে ধরে শুধুমাত্র নিম্নলিখিত সময়সীমার মধ্যে আগমন এবং প্রস্থান সময় নির্ধারণ করতে পারবেন:
  • now থেকে পূর্বের ৭ দিন পর্যন্ত
  • now থেকে ১০০ দিন পর্যন্ত
সময়কে RFC3339 UTC 'জুলু' ফরম্যাটে একটি টাইমস্ট্যাম্প হিসেবে প্রকাশ করা হয়। আরও জানুন।

দ্রষ্টব্য: গণপরিবহনের সময়সূচী প্রায়শই পরিবর্তিত হয়, সময়ের সাথে সাথে উপলব্ধ ট্রিপের সংখ্যাও পরিবর্তিত হতে পারে এবং অনেক আগে থেকে করা পূর্বাভাসের ক্ষেত্রে ধারাবাহিক ফলাফল প্রদানের কোনো নিশ্চয়তা নেই।

বিকল্প পথ অন্তর্ভুক্ত করুন "computeAlternativeRoutes": true ঐচ্ছিক। উপলব্ধ থাকলে, Compute Routes-কে দিয়ে সর্বোচ্চ ৩টি অতিরিক্ত রুট গণনা করাতে এটিকে 'true'-তে সেট করুন। আরও জানুন।
ট্রানজিট প্রকারের জন্য পছন্দগুলি নির্দিষ্ট করুন "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}

দ্রষ্টব্য: আপনি পছন্দের কোনো ভ্রমণ মাধ্যম নির্দিষ্ট করে দিলেও, ফেরার পথে অন্যান্য পরিবহন মাধ্যমও ব্যবহার করা হতে পারে, এমনকি শুধু অন্যান্য পরিবহন মাধ্যমও ব্যবহার হতে পারে; এটি নির্ভর করবে সেই পছন্দের পরিবহন মাধ্যমের কার্যকারিতা এবং প্রাপ্যতার ওপর।

ঐচ্ছিক। পছন্দের গণপরিবহন মাধ্যম নির্দিষ্ট করুন। আরও জানুন।
ট্রানজিট রুটের জন্য পছন্দগুলি নির্দিষ্ট করুন। "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} ঐচ্ছিক। ট্রানজিট রাউটিং পছন্দসমূহ নির্দিষ্ট করুন। আরও জানুন।

উদাহরণ: গণপরিবহনে একটি রুট খুঁজুন

নিম্নলিখিত উদাহরণটি নিম্নলিখিত প্যারামিটারগুলির সাহায্যে ট্রানজিটে একটি রুট পায়:

  • ট্রেনে ভ্রমণ এবং কম হাঁটার পছন্দ নির্দিষ্ট করা হয়েছে।

  • বিকল্প পথের অনুরোধ করা হয়েছে।

  • একটি ফিল্ড মাস্ক প্রদান করে যা ট্রানজিটের বিবরণ ফেরত দেয়:

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'

প্রতিক্রিয়াটি দুটি রুটের জন্য route.legs.steps.transitDetails ফিল্ডগুলি দেখায়:

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