ট্রানজিট রুট পাওয়া

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

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

ট্রানজিট রুট অন্যান্য রুট থেকে কীভাবে আলাদা হয়

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

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

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

Routes API-এর মাধ্যমে পাওয়া উত্তর সম্পর্কে আরও জানতে, ট্রানজিট রুটের উত্তর পর্যালোচনা করুন দেখুন।

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

  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 শুধুমাত্র তখনই প্রদান করা হয় যখন API সব ধাপের জন্য ট্রানজিট ভাড়ার তথ্য নির্ধারণ করতে পারে।

সময়কাল ও দূরত্বের জন্য স্থানীয়করণ করা টেক্সট 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 "Zulu" ফর্ম্যাটে টাইমস্ট্যাম্প হিসেবে সময় উল্লেখ করা হয়। আরও জানুন

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

বিকল্প রুট অন্তর্ভুক্ত করুন "computeAlternativeRoutes": true ঐচ্ছিক। Compute Routes-এর মাধ্যমে ৩টি অতিরিক্ত রুট গণনা করতে, উপলভ্য থাকলে, 'সত্য' হিসেবে সেট করুন। আরও জানুন
ট্রানজিটের প্রকারের জন্য পছন্দ নির্দিষ্ট করুন "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
          }
        },
        {},
        {},
        {},
        {},
        {},
        {}
        ]
      }
    ]
  }
]
}