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

আপনার উত্তরে এই প্রতিটি রুট কম্পোনেন্ট সম্পর্কে তথ্য থাকতে পারে:
রুট: শুরু করার ওয়েপয়েন্ট থেকে শুরু করে, যেকোনও মধ্যবর্তী ওয়েপয়েন্টের মাধ্যমে, গন্তব্যের ওয়েপয়েন্ট পর্যন্ত সম্পূর্ণ ট্রিপ। একটি রুটে এক বা একাধিক লেগ থাকে।
লেগ: রুটের একটি ওয়েপয়েন্ট থেকে পরবর্তী ওয়েপয়েন্ট পর্যন্ত পথ। প্রতিটি লেগ এক বা একাধিক স্বতন্ত্র ধাপ নিয়ে গঠিত।
একটি রুটে প্রতিটি ওয়েপয়েন্ট থেকে পরবর্তী ওয়েপয়েন্ট পর্যন্ত পথের জন্য একটি আলাদা লেগ থাকে। যেমন, রুটে যদি একটিমাত্র শুরু করার ওয়েপয়েন্ট এবং একটিমাত্র গন্তব্যের ওয়েপয়েন্ট থাকে, তাহলে রুটে একটিমাত্র লেগ থাকে। শুরু ও গন্তব্যের পরে রুটে যোগ করা প্রতিটি অতিরিক্ত ওয়েপয়েন্টকে ইন্টারমিডিয়েট ওয়েপয়েন্ট বলা হয়, API একটি আলাদা লেগ যোগ করে।
API কোনও পাস-থ্রু ইন্টারমিডিয়েট ওয়েপয়েন্টের জন্য লেগ যোগ করে না। যেমন, একটি রুটে যদি একটি শুরুর ওয়েপয়েন্ট, একটি পাস-থ্রু ইন্টারমিডিয়েট ওয়েপয়েন্ট এবং একটি গন্তব্য ওয়েপয়েন্ট থাকে, তাহলে শুরু থেকে গন্তব্য পর্যন্ত একটিই লেগ থাকে, যা ওয়েপয়েন্টের মধ্য দিয়ে যায়। পাস-থ্রু ওয়েপয়েন্ট সম্পর্কে আরও জানতে, পাস-থ্রু ওয়েপয়েন্ট নির্ধারণ করুন দেখুন।
ধাপ: রুটের একটি লেগ বরাবর একটি নির্দেশ। একটি ধাপ হল রুটের সবচেয়ে অ্যাটমিক ইউনিট। যেমন, কোনও ধাপে "Main Street-এ বাঁদিকে ঘুরুন" নির্দেশ করা থাকতে পারে।
উত্তরে কী আছে
API রেসপন্সকে উপস্থাপনকারী JSON অবজেক্টে নিম্নলিখিত টপ-লেভেল প্রপার্টি থাকে:
routes, রুট ধরনের এলিমেন্টের অ্যারে। API-এর মাধ্যমে ফেরত পাঠানো প্রতিটি রুটের জন্যroutesঅ্যারেতে একটি এলিমেন্ট থাকে। অ্যারেতে সর্বাধিক পাঁচটি এলিমেন্ট থাকতে পারে: ডিফল্ট রুট, ইকো-ফ্রেন্ডলি রুট এবং সর্বাধিক তিনটি বিকল্প রুট।geocodingResults, GeocodingResults ধরনের এলিমেন্টের অ্যারে। অনুরোধে উল্লেখ করা প্রতিটি লোকেশনের (শুরু, গন্তব্য বা মধ্যবর্তী ওয়েপয়েন্ট) জন্য, যা আপনি ঠিকানার স্ট্রিং বা Plus কোড হিসেবে উল্লেখ করেছেন, 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 অ্যারে থাকে, যেখানে প্রতিটি অ্যারে এলিমেন্ট
রুট টাইপের হয়।
প্রতিটি অ্যারে এলিমেন্ট, শুরু থেকে গন্তব্য পর্যন্ত সম্পূর্ণ রুট দেখায়। 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 অ্যারেতে
দুটি লেবেলই আছে: 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 হল street-এর সমার্থক শব্দ।
geocodingResults অ্যারে বোঝা
অনুরোধে উল্লেখ করা প্রতিটি লোকেশনের (শুরু, গন্তব্য বা মধ্যবর্তী
ওয়েপয়েন্ট) জন্য, যা ঠিকানা স্ট্রিং বা Plus Code হিসেবে উল্লেখ করা হয়েছে,
API সবচেয়ে প্রাসঙ্গিক লোকেশন খোঁজার চেষ্টা করে, যার সাথে সংশ্লিষ্ট জায়গা
আইডি আছে। geocodingResults
অ্যারের প্রতিটি এলিমেন্টে placeID ফিল্ড থাকে
যেখানে লোকেশনকে প্লেস আইডি হিসেবে দেখানো হয় এবং type ফিল্ডে লোকেশনের ধরন
নির্দিষ্ট করা থাকে, যেমন street_address, premise বা airport।
geocodingResults অ্যারেতে তিনটি ফিল্ড আছে:
origin: এটি ঠিকানা স্ট্রিং বা Plus Code হিসেবে উল্লেখ করা হলে, শুরুর জায়গার আইডি। অন্যথায়, এই ফিল্ডটি উত্তর থেকে বাদ দেওয়া হয়।destination: এটি ঠিকানা স্ট্রিং বা Plus Code হিসেবে উল্লেখ করা হলে, গন্তব্যের প্লেস আইডি। অন্যথায়, এই ফিল্ডটি উত্তর থেকে বাদ দেওয়া হয়।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 ভ্যালু পাবেন,
কিন্তু জার্মান এবং ইম্পেরিয়াল ইউনিটে দূরত্বের পরিমাপ প্রদানকারী লোকালাইজড টেক্সটও পাবেন, যেমন "31 Meile."
লোকালাইজ করা ভ্যালুর জন্য আপনি কী দেখতে পাবেন তার একটি উদাহরণ এখানে দেওয়া হল:
{ "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' ভাষা এবং মেট্রিক ইউনিট ব্যবহার করে।