ডিফল্টরূপে, রুটস এপিআই ডিফল্ট রুটটি ফেরত দেয়, যা সাধারণত উৎপত্তিস্থল থেকে গন্তব্যস্থলে পৌঁছানোর দ্রুততম রুট। যখন আপনি বিকল্প রুটের অনুরোধ করেন, তখন এপিআই ডিফল্ট রুট সহ সর্বাধিক তিনটি রুট ফেরত দেয়। এরপর আপনার গ্রাহকরা তাদের প্রয়োজনীয়তার সাথে সবচেয়ে উপযুক্ত রুটটি বেছে নিতে পারেন।
বিকল্প রুটের অনুরোধ করার সময় বিবেচনার বিষয়গুলি
বিকল্প রুটের অনুরোধ করতে, নিম্নলিখিত বিবেচ্য বিষয়গুলি সম্পর্কে সচেতন থাকুন:
আপনি শুধুমাত্র মধ্যবর্তী ওয়েপয়েন্ট ছাড়া রুটের জন্য বিকল্প রুটের অনুরোধ করতে পারেন। রুট মধ্যবর্তী ওয়েপয়েন্ট নির্দিষ্ট করে দিলে বিকল্প রুটের অনুরোধ করলে কোনও ত্রুটি হয় না। তবে, কোনও বিকল্প রুট ফেরত দেওয়া হয় না।
প্রতিক্রিয়াটিতে সর্বাধিক তিনটি বিকল্প রুট থাকে। তবে, কখনও কখনও কোনও বিকল্প রুট পাওয়া যায় না তাই প্রতিক্রিয়াটিতে কেবল ডিফল্ট রুট থাকে।
বিকল্প রুট গণনা করার জন্য অতিরিক্ত প্রক্রিয়াকরণের প্রয়োজন হওয়ায়, বিকল্প রুট অনুরোধ করলে API-এর প্রতিক্রিয়া সময় বাড়তে পারে।
বিকল্প রুটের অনুরোধের উদাহরণ
বিকল্প রুট অনুরোধ করতে 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" ] } ] }