ডিফল্টরূপে, রাউটস এপিআই ডিফল্ট রুটটি ফেরত দেয়, যা সাধারণত উৎস থেকে গন্তব্যে পৌঁছানোর দ্রুততম পথ। আপনি যখন বিকল্প রুটের জন্য অনুরোধ করেন, তখন এপিআই ডিফল্ট রুটের সাথে সর্বোচ্চ তিনটি রুট ফেরত দেয়। এরপর আপনার গ্রাহকরা তাদের প্রয়োজন অনুযায়ী সবচেয়ে উপযুক্ত রুটটি বেছে নিতে পারেন।
বিকল্প পথের অনুরোধ করার সময় বিবেচ্য বিষয়সমূহ
বিকল্প পথের অনুরোধ করার ক্ষেত্রে নিম্নলিখিত বিষয়গুলো মনে রাখবেন:
রেসপন্সটিতে সর্বাধিক তিনটি বিকল্প রুট থাকতে পারে। তবে, কখনও কখনও কোনো বিকল্প রুট উপলব্ধ না থাকায় রেসপন্সটিতে কেবল ডিফল্ট রুটটিই থাকে।
বিকল্প পথ গণনা করার জন্য অতিরিক্ত প্রক্রিয়াকরণের প্রয়োজন হওয়ায়, বিকল্প পথের অনুরোধ করলে এপিআই-এর প্রতিক্রিয়া সময় বেড়ে যেতে পারে।
বিকল্প পথের অনুরোধের উদাহরণ
বিকল্প রুটের অনুরোধ করতে computeAlternativeRoutes true তে সেট করুন। নিচের উদাহরণটিতে দেখানো হয়েছে কিভাবে একটি computeRoutes মেথড (REST) অনুরোধে বিকল্প রুটের জন্য অনুরোধ করতে হয়।
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude":42.340173523716736, "longitude":-71.05997968330408 } } }, "destination":{ "location":{ "latLng":{ "latitude":42.075698891472804, "longitude": -72.59806562080408 } } }, "travelMode": "DRIVE", "routingPreference":"TRAFFIC_AWARE", "computeAlternativeRoutes": true }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.routeLabels' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
এই উদাহরণে, আপনি একটি ফিল্ড মাস্ক নির্দিষ্ট করে দেন যাতে রেসপন্সে প্রতিটি রুটের জন্য শুধুমাত্র duration , distanceMeters, এবং routeLabels প্রপার্টিগুলো থাকে। এরপর আপনার গ্রাহক কোন রুটটি নেবেন তা বেছে নিতে সেই তথ্য ব্যবহার করতে পারেন। আরও তথ্যের জন্য, ‘কোন তথ্য রিটার্ন করবেন তা বেছে নিন ’ দেখুন।
বিকল্প পথের প্রতিক্রিয়ার উদাহরণ
রেসপন্সে, রিচ রুট শনাক্ত করতে routeLabels অ্যারে প্রপার্টিটি ব্যবহার করুন:
ডিফল্ট রুটের ক্ষেত্রে,
routeLabelsপ্রপার্টিতেDEFAULT_ROUTEথাকে।যেকোনো বিকল্প রুটের জন্য,
routeLabelsপ্রপার্টিতেDEFAULT_ROUTE_ALTERNATEঅন্তর্ভুক্ত থাকে।
এই উদাহরণে, রেসপন্সটিতে ডিফল্ট রুট এবং দুটি বিকল্প রুট রয়েছে। লক্ষ্য করুন যে, প্রতিটি রুটের জন্য duration এবং distanceMeters প্রপার্টিগুলোর মান ভিন্ন ভিন্ন:
{ "routes": [ { "distanceMeters": 150322, "duration": "5309s", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 157614, "duration": "6879s", "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] }, { "distanceMeters": 189311, "duration": "7376s", "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] } ] }
উত্তরে পলিলাইন অন্তর্ভুক্ত করুন
ব্যবহারকারীর জন্য পথ নির্বাচন করা সহজ করতে, রেসপন্সে প্রতিটি পথের জন্য পলিলাইন যোগ করুন। এরপর আপনি প্রতিটি পলিলাইন একটি মানচিত্রে প্রদর্শন করতে পারেন।
পলিলাইনটি যোগ করতে, ফিল্ড মাস্কে routes.polyline অন্তর্ভুক্ত করুন:
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.routeLabels,routes.polyline'
এরপর প্রতিক্রিয়াটিতে প্রতিটি রুটের জন্য পলিলাইন থাকে:
{ "routes": [ { "distanceMeters": 150322, "duration": "5309s", "polyline": { "encodedPolyline": "mrlaGtavpLPLBTm…PgA^qC" }, "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 157614, "duration": "6879s", "polyline": { "encodedPolyline": "DmEd`@e@pCo@pCs@z…PgA^qC" }, "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] }, { "distanceMeters": 189311, "duration": "7376s", "polyline": { "encodedPolyline": "FVLL|Af@HPAV…PgA^qC" }, "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] } ] }