Routes API কোনও রুট গণনা করার সময়, আপনার ইনপুট হিসেবে দেওয়া ওয়েপয়েন্ট ও কনফিগারেশন প্যারামিটার ব্যবহার করে। API তারপরে একটি উত্তর প্রদান করে যাতে ডিফল্ট রুট এবং এক বা একাধিক বিকল্প রুট থাকে।
আপনার অনুরোধ করা ফিল্ডের উপর ভিত্তি করে, আপনার উত্তরে বিভিন্ন ধরনের রুট ও অন্যান্য ডেটা থাকতে পারে:
| উত্তরে এটি অন্তর্ভুক্ত করতে | এই ডকুমেন্টেশন দেখুন |
|---|---|
| গাড়ির ইঞ্জিনের ধরনের উপর নির্ভর করে সবচেয়ে জ্বালানি বা বিদ্যুৎ সাশ্রয়ী রুট। | ইকো-ফ্রেন্ডলি রুট কনফিগার করা |
| সর্বাধিক তিনটি বিকল্প রুট | বিকল্প রুটের জন্য অনুরোধ করা |
| সম্পূর্ণ রুটের জন্য, রুটের প্রতিটি লেগের জন্য এবং লেগের প্রতিটি ধাপের জন্য পলিলাইন। | রুট পলিলাইন সংক্রান্ত অনুরোধ |
| ড্রাইভার বা গাড়ির জন্য উপলভ্য টোল পাসের দাম বা টোল পাসের উপর ছাড় বিবেচনা করে আনুমানিক টোল। | টোলের ফি গণনা করা |
| ভাষা কোড ও পরিমাপের একক (ইম্পিরিয়াল বা মেট্রিক) অনুযায়ী স্থানীয় ভাষায় উত্তর। | স্থানীয় মান পাওয়ার অনুরোধ করা |
HTML টেক্সট স্ট্রিং হিসেবে নেভিগেশন সংক্রান্ত নির্দেশাবলী ফর্ম্যাট করতে, extraComputations-এ
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS যোগ করুন। |
অতিরিক্ত কম্পিউটেশন |
ইনপুট বিকল্পের সম্পূর্ণ তালিকা দেখতে, উপলভ্য রুট বিকল্প এবং অনুরোধ বডি দেখুন।
এই উত্তর ব্যবহার করে, আপনি গ্রাহকদের প্রয়োজনীয় তথ্য প্রদান করতে পারবেন যাতে তারা নিজেদের প্রয়োজন অনুযায়ী উপযুক্ত রুট বেছে নিতে পারেন।
ফিল্ড মাস্ক সম্পর্কে
কোনও রুট গণনা করার জন্য আপনি কোনও মেথড কল করলে, আপনাকে অবশ্যই একটি ফিল্ড মাস্ক নির্দিষ্ট করতে হবে যা নির্ধারণ করে যে আপনি উত্তরে কোন ফিল্ড ফেরত পেতে চান। রিটার্ন করা ফিল্ডের কোনও ডিফল্ট তালিকা নেই। আপনি এই তালিকা বাদ দিলে, পদ্ধতিগুলি একটি ত্রুটি দেখায়।
এই ডকুমেন্টের উদাহরণে ফিল্ড মাস্ক বিবেচনা না করেই সম্পূর্ণ রেসপন্স অবজেক্ট দেখানো হয়েছে। প্রোডাকশন এনভায়রনমেন্টে, আপনার উত্তরে শুধুমাত্র সেইসব ফিল্ড অন্তর্ভুক্ত থাকবে যেগুলি আপনি ফিল্ড মাস্কে স্পষ্টভাবে উল্লেখ করেছেন।
আরও তথ্যের জন্য, কী তথ্য রিটার্ন করতে হবে তা বেছে নিন দেখুন।
কপিরাইট দেখানোর ব্যাপারে
আপনার ব্যবহারকারীদের ফলাফল দেখানোর সময় আপনাকে অবশ্যই নিম্নলিখিত কপিরাইট বিবৃতি অন্তর্ভুক্ত করতে হবে:
Powered by Google, ©YEAR Google
যেমন:
Powered by Google, ©2023 Google
রুট, লেগ ও ধাপ সম্পর্কে
Routes API-এর দেওয়া উত্তর দেখার আগে, আপনার রুট তৈরি করা কম্পোনেন্ট সম্পর্কে ধারণা থাকা উচিত:

আপনার উত্তরে এইসব রুট কম্পোনেন্টের প্রতিটি সম্পর্কে তথ্য থাকতে পারে:
রুট: সোর্স ওয়েপয়েন্ট থেকে শুরু করে, যেকোনও মধ্যবর্তী ওয়েপয়েন্ট হয়ে, গন্তব্য ওয়েপয়েন্ট পর্যন্ত সম্পূর্ণ ট্রিপ। একটি রুটে এক বা একাধিক লেগ থাকে।
লেগ: রুটের একটি ওয়েপয়েন্ট থেকে রুটের পরবর্তী ওয়েপয়েন্ট পর্যন্ত পাথ। প্রতিটি লেগ এক বা একাধিক আলাদা ধাপ নিয়ে গঠিত।
প্রতিটি ওয়েপয়েন্ট থেকে পরের ওয়েপয়েন্ট পর্যন্ত পথের জন্য রুটে আলাদা আলাদা লেগ থাকে। যেমন, রুটে যদি একটিই সোর্স ওয়েপয়েন্ট ও একটিই ডেস্টিনেশন ওয়েপয়েন্ট থাকে, তাহলে রুটে একটিই লেগ থাকবে। সোর্স ও গন্তব্যের পরে রুটে যোগ করা প্রতিটি অতিরিক্ত ওয়েপয়েন্টের জন্য, যাকে ইন্টারমিডিয়েট ওয়েপয়েন্ট বলা হয়, API একটি আলাদা লেগ যোগ করে।
API পাস-থ্রু ইন্টারমিডিয়েট ওয়েপয়েন্টের জন্য কোনও লেগ যোগ করে না। যেমন, কোনও রুটে যদি একটি শুরুর ওয়েপয়েন্ট, একটি মধ্যবর্তী ওয়েপয়েন্ট এবং একটি গন্তব্যের ওয়েপয়েন্ট থাকে, তাহলে সেটিতে শুরুর জায়গা থেকে গন্তব্য পর্যন্ত একটিই লেগ থাকে, তবে সেটি ওয়েপয়েন্টের মধ্যে দিয়ে যায়। পাস-থ্রু ওয়েপয়েন্ট সম্পর্কে আরও তথ্যের জন্য, পাস-থ্রু ওয়েপয়েন্ট নির্ধারণ করুন দেখুন।
ধাপ: রুটের কোনও একটি অংশ ধরে যাওয়ার জন্য একটি নির্দেশ। একটি ধাপ হল রুটের সবচেয়ে ছোট ইউনিট। যেমন, একটি ধাপে "মেইন স্ট্রিটে'' বাঁদিকে ঘোরার কথা বলা হতে পারে।
উত্তরে কী কী আছে
API রেসপন্সকে উপস্থাপন করা JSON অবজেক্টে নিম্নলিখিত টপ-লেভেল প্রপার্টি থাকে:
routes, রুট ধরনের এলিমেন্টের অ্যারে। API-এর মাধ্যমে ফেরত পাঠানো প্রতিটি রুটের জন্যroutesঅ্যারেতে একটি করে এলিমেন্ট থাকে। অ্যারেতে সর্বাধিক পাঁচটি এলিমেন্ট থাকতে পারে: ডিফল্ট রুট, পরিবেশ-বান্ধব রুট এবং সর্বাধিক তিনটি বিকল্প রুট।geocodingResults, GeocodingResults ধরনের এলিমেন্টের একটি অ্যারে। অনুরোধে (শুরু, গন্তব্য বা মধ্যবর্তী ওয়েপয়েন্ট) প্রতিটি লোকেশনের জন্য, আপনি অ্যাড্রেস স্ট্রিং বা Plus code হিসেবে যা উল্লেখ করেছেন, API সেটির প্লেস আইডি খোঁজে। এই অ্যারের প্রতিটি এলিমেন্টে কোনও লোকেশনের সাথে সম্পর্কিত প্লেস আইডি থাকে। অনুরোধে উল্লেখ করা লোকেশন জায়গার আইডি বা অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেট হিসেবে অন্তর্ভুক্ত করা হয়নি। আপনি যদি জায়গার আইডি বা অক্ষাংশ ও দ্রাঘিমাংশ কোঅর্ডিনেট ব্যবহার করে সব লোকেশন নির্দিষ্ট করে থাকেন, তাহলে এই অ্যারে প্রদান করা হয় না।fallbackInfo, যার ধরন হল FallbackInfo. API যদি ইনপুট প্রপার্টির সবকটি থেকে রুট গণনা করতে না পারে, তাহলে এটি গণনা করার অন্য কোনও পদ্ধতি ব্যবহার করতে পারে। ফলব্যাক মোড ব্যবহার করা হলে, এই ফিল্ডে ফলব্যাক উত্তর সম্পর্কে বিস্তারিত তথ্য থাকে। অন্যথায়, এই ফিল্ডটি আনসেট করা হয়।
উত্তরটি এই ফর্ম্যাটে হতে হবে:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
রুটের অ্যারে ডিকোড করা
উত্তরে routes অ্যারে আছে, যেখানে প্রতিটি অ্যারে এলিমেন্ট হল
Route ধরনের।
অ্যারের প্রতিটি এলিমেন্ট সোর্স থেকে ডেস্টিনেশন পর্যন্ত সম্পূর্ণ রুটকে দেখায়। API সবসময় অন্তত একটি রুট রিটার্ন করে, যাকে ডিফল্ট রুট বলা হয়।
আপনি অতিরিক্ত রুটের জন্য অনুরোধ করতে পারেন। আপনি যদি কোনও
ইকো-ফ্রেন্ডলি রুটের অনুরোধ করেন, তাহলে অ্যারেতে দুটি এলিমেন্ট থাকতে পারে: ডিফল্ট রুট
ও ইকো-ফ্রেন্ডলি রুট। অথবা, উত্তরে সর্বাধিক তিনটি বিকল্প রুট যোগ করার অনুরোধে computeAlternativeRoutes-কে
true হিসেবে সেট করুন।
অ্যারের প্রতিটি রুট routeLabels অ্যারে প্রপার্টির মাধ্যমে শনাক্ত করা হয়:
| ভ্যালু | বিবরণ |
|---|---|
DEFAULT_ROUTE |
ডিফল্ট রুট শনাক্ত করে। |
FUEL_EFFICIENT |
ইকো-ফ্রেন্ডলি রুট শনাক্ত করে। |
DEFAULT_ROUTE_ALTERNATE |
বিকল্প রুট দেখায়। |
legs অ্যারেতে রুটের প্রতিটি লেগের সংজ্ঞা থাকে। বাকি
প্রপার্টি, যেমন distanceMeters, duration এবং polyline,-এ
সম্পূর্ণ রুট সম্পর্কে তথ্য থাকে:
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
বর্তমান ড্রাইভিং পরিস্থিতি ও অন্যান্য কারণে, ডিফল্ট রুট ও
ইকো-ফ্রেন্ডলি রুট একই হতে পারে। এই ক্ষেত্রে, routeLabels array
এ দুটি লেবেলই আছে: DEFAULT_ROUTE এবং FUEL_EFFICIENT।
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
লেগ অ্যারে বোঝা
উত্তরের প্রতিটি route-এ একটি legs অ্যারে থাকে, যেখানে প্রতিটি legs অ্যারে
এলিমেন্ট হল
RouteLeg ধরনের।
অ্যারের প্রতিটি লেগ রুট বরাবর
একটি ওয়েপয়েন্ট থেকে পরবর্তী ওয়েপয়েন্টের পাথকে সংজ্ঞায়িত করে। রুটে সবসময় অন্তত একটি লেগ থাকে।
legs প্রপার্টিতে steps অ্যারের লেগ বরাবর প্রতিটি ধাপের সংজ্ঞা থাকে। distanceMeters, duration,
এবং polyline-এর মতো বাকি প্রপার্টিতে লেগ সম্পর্কে তথ্য থাকে।
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
ধাপের অ্যারে বোঝা
উত্তরের প্রতিটি লেগে একটি steps অ্যারে থাকে, যেখানে প্রতিটি steps অ্যারে
এলিমেন্ট
RouteLegStep ধরনের হয়।
একটি ধাপ হল পায়ের বরাবর একটি নির্দেশ। একটি লেগ সবসময়
অন্তত একটি ধাপ কন্টেন করে।
steps অ্যারেরnavigationInstruction
প্রতিটি এলিমেন্টে
NavigationInstruction
টাইপের প্রপার্টি থাকে, যার মধ্যে স্টেপ সংক্রান্ত নির্দেশাবলী থাকে। যেমন:
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
instructions-এ ধাপ সম্পর্কে অতিরিক্ত তথ্য থাকতে পারে। যেমন:
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
ধাপের বাকি প্রপার্টিগুলি ধাপের তথ্য বর্ণনা করে, যেমন
distanceMeters, duration এবং polyline:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
ধাপের নির্দেশাবলীর ভাষা নির্দিষ্ট করুন
API, পছন্দের ভাষা মেনে চলার পাশাপাশি, প্রয়োজনে ব্যবহারকারীর পঠনযোগ্য স্ক্রিপ্টে ট্রান্সলিটারেট করে স্থানীয় ভাষায় রুট সংক্রান্ত তথ্য রিটার্ন করে। ঠিকানার কম্পোনেন্টগুলি একই ভাষায় দেখানো হয়।
কাজ করে এমন ভাষার তালিকা থেকে রুট ভাষা স্পষ্টভাবে সেট করতে, কোনও অনুরোধের
languageCodeপ্যারামিটার ব্যবহার করুন। Google প্রায়ই কাজ করে এমন ভাষা আপডেট করে, তাই এই তালিকা সম্পূর্ণ নাও হতে পারে।নির্দিষ্ট ভাষায় কোনও নাম উপলভ্য না থাকলে, API সবচেয়ে কাছাকাছি ম্যাচ ব্যবহার করে।
নির্দিষ্ট ভাষা, API-এর বেছে নেওয়া ফলাফলের সেট এবং সেগুলি যে ক্রমে দেখানো হয়, সেগুলিকে প্রভাবিত করতে পারে। ভাষা অনুযায়ী জিওকোডার সংক্ষিপ্ত শব্দ আলাদাভাবে ব্যাখ্যা করে, যেমন রাস্তার ধরনের সংক্ষিপ্ত শব্দ বা সমার্থক শব্দ যা একটি ভাষায় বৈধ হতে পারে কিন্তু অন্য ভাষায় নয়। যেমন, হাঙ্গেরিয়ান ভাষায় utca ও tér শব্দ দুটি রাস্তার সমার্থক শব্দ।
geocodingResults অ্যারে বোঝা
অনুরোধে উল্লেখ করা প্রতিটি লোকেশনের (উৎস, গন্তব্য বা মধ্যবর্তী
ওয়েপয়েন্ট) জন্য, যা ঠিকানার স্ট্রিং বা Plus Code হিসেবে নির্দিষ্ট করা হয়েছে, API
সবচেয়ে প্রাসঙ্গিক লোকেশন খুঁজে পাওয়ার চেষ্টা করে, যার সাথে সংশ্লিষ্ট প্লেস
আইডি আছে।
geocodingResults
অ্যারের প্রতিটি এলিমেন্টে placeID ফিল্ড থাকে
যেখানে লোকেশনকে প্লেস আইডি হিসেবে এবং type ফিল্ডে লোকেশনের
ধরন নির্দিষ্ট করা থাকে, যেমন street_address, premise বা airport।
geocodingResults অ্যারেতে তিনটি ফিল্ড থাকে:
origin: এটি যদি কোনও ঠিকানা স্ট্রিং বা Plus Code হিসেবে নির্দিষ্ট করা থাকে, তাহলে উৎস প্লেস আইডি। অন্যথায়, এই ফিল্ডটি উত্তর থেকে বাদ দেওয়া হয়।destination: এটি যদি অ্যাড্রেস স্ট্রিং বা Plus কোড হিসেবে উল্লেখ করা হয়, তাহলে গন্তব্যের প্লেস আইডি। অন্যথায়, এই ফিল্ডটি উত্তর থেকে বাদ দেওয়া হয়।intermediates: ঠিকানা স্ট্রিং বা Plus কোড হিসেবে উল্লেখ করা যেকোনও মধ্যবর্তী ওয়েপয়েন্টের স্থান আইডি সহ অ্যারে। আপনি যদি প্লেস আইডি বা অক্ষাংশ ও দ্রাঘিমাংশের কোঅর্ডিনেট ব্যবহার করে কোনও মধ্যবর্তী ওয়েপয়েন্ট নির্দিষ্ট করেন, তাহলে সেটি উত্তর থেকে বাদ দেওয়া হয়। অনুরোধে কোন ইন্টারমিডিয়েট ওয়েপয়েন্ট, উত্তরে থাকা প্লেস আইডির সাথে মিলে যাচ্ছে তা নির্ধারণ করতে, উত্তরেintermediateWaypointRequestIndexপ্রপার্টি ব্যবহার করুন।
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
লোকালাইজ করা উত্তরের ভ্যালু সম্পর্কে বোঝা
লোকালাইজ করা রেসপন্স ভ্যালু হল একটি অতিরিক্ত রেসপন্স ফিল্ড যা ফেরত আসা প্যারামিটার ভ্যালুর জন্য লোকালাইজ করা টেক্সট প্রদান করে। ট্রিপের সময়সীমা, দূরত্ব ও একক সিস্টেমের (মেট্রিক বা ইম্পিরিয়াল) জন্য স্থানীয়করণ করা টেক্সট প্রদান করা হয়। আপনি ফিল্ড মাস্ক ব্যবহার করে স্থানীয়করণ করা ভ্যালু অনুরোধ করেন এবং ভাষা ও ইউনিট সিস্টেম নির্দিষ্ট করতে পারেন অথবা API-এর মাধ্যমে অনুমান করা ভ্যালু ব্যবহার করতে পারেন। বিস্তারিত জানতে, LocalizedValues দেখুন।
যেমন, আপনি যদি জার্মান (de) ভাষার কোড এবং ইম্পিরিয়াল
ইউনিট নির্দিষ্ট করেন, তাহলে distanceMeters-এর ভ্যালু হিসেবে 49889.7 পাবেন,
কিন্তু তার সাথে জার্মান ও ইম্পিরিয়াল ইউনিটে দূরত্ব পরিমাপের
লোকালাইজ করা টেক্সটও পাবেন, যেমন "৩১ মাইল"।
লোকালাইজ করা ভ্যালুর জন্য আপনি কী দেখতে পাবেন তার একটি উদাহরণ এখানে দেওয়া হল:
{ "localized_values":
{
"distance": { "text": "31,0 Meile/n" },
"duration": { "text": 38 Minuten}.
"static_duration": { "text": 36 Minuten}.
}
}আপনি ভাষা বা ইউনিট সিস্টেম নির্দিষ্ট না করলে, API নিম্নলিখিতভাবে ভাষা ও ইউনিট অনুমান করে:
ComputeRoutesপদ্ধতিটি অরিজিন ওয়েপয়েন্ট থেকে লোকেশন ও দূরত্বের একক অনুমান করে। তাই মার্কিন যুক্তরাষ্ট্রে রাউটিং সংক্রান্ত অনুরোধের জন্য, APIen-USভাষা ওIMPERIALএকক অনুমান করে।ComputeRouteMatrixপদ্ধতি ডিফল্ট হিসেবে 'en-US' ভাষা ও মেট্রিক একক ব্যবহার করে।