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

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

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

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

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

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

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

মনে রাখবেন: API যদি সব ধাপের জন্য ট্রানজিট ভাড়া সংক্রান্ত তথ্য নির্ধারণ করতে পারে, তবেই 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 "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
          }
        },
        {},
        {},
        {},
        {},
        {},
        {}
        ]
      }
    ]
  }
]
}