Method: computeCustomRoutes

টার্মিনাল এবং মধ্যবর্তী ওয়েপয়েন্টের একটি সেট এবং একটি রুট উদ্দেশ্য দেওয়া, রুট উদ্দেশ্যের জন্য সেরা রুট গণনা করে। এছাড়াও রেফারেন্স রুট হিসাবে দ্রুততম রুট এবং সংক্ষিপ্ততম রুট প্রদান করে।

দ্রষ্টব্য: এই পদ্ধতির জন্য আপনাকে ইনপুটে একটি প্রতিক্রিয়া ক্ষেত্র মাস্ক নির্দিষ্ট করতে হবে। আপনি URL প্যারামিটার $fields বা fields ব্যবহার করে প্রতিক্রিয়া ক্ষেত্র মাস্ক প্রদান করতে পারেন, অথবা HTTP/gRPC হেডার X-Goog-FieldMask ব্যবহার করে ( উপলব্ধ URL প্যারামিটার এবং শিরোনাম দেখুন। মান হল ফিল্ড পাথগুলির একটি কমা দ্বারা বিভক্ত তালিকা। ক্ষেত্র পাথ কিভাবে নির্মাণ করতে হয় সে সম্পর্কে এই বিস্তারিত ডকুমেন্টেশন দেখুন।

উদাহরণস্বরূপ, এই পদ্ধতিতে:

  • সমস্ত উপলব্ধ ক্ষেত্রের ফিল্ড মাস্ক (ম্যানুয়াল পরিদর্শনের জন্য): X-Goog-FieldMask: *
  • রুটের দূরত্ব, সময়কাল, টোকেন এবং টোল তথ্যের ফিল্ড মাস্ক: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

Google ওয়াইল্ডকার্ড ( * ) প্রতিক্রিয়া ফিল্ড মাস্ক ব্যবহার করতে নিরুৎসাহিত করে, বা শীর্ষ স্তরে ফিল্ড মাস্ক নির্দিষ্ট করে ( routes ), কারণ:

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

HTTP অনুরোধ

POST https://routespreferred.googleapis.com/v1:computeCustomRoutes

URL gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।

শরীরের অনুরোধ

অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

JSON প্রতিনিধিত্ব
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "routeObjective": {
    object (RouteObjective)
  },
  "languageCode": string,
  "units": enum (Units)
}
ক্ষেত্র
origin

object ( Waypoint )

প্রয়োজন। মূল পথপয়েন্ট।

destination

object ( Waypoint )

প্রয়োজন। গন্তব্য পথপয়েন্ট।

intermediates[]

object ( Waypoint )

ঐচ্ছিক। রুট বরাবর ওয়েপয়েন্টের একটি সেট (টার্মিনাল পয়েন্ট বাদে), হয় থামার জন্য বা পাশ দিয়ে যাওয়ার জন্য। 25টি পর্যন্ত মধ্যবর্তী ওয়েপয়েন্ট সমর্থিত।

travelMode

enum ( RouteTravelMode )

ঐচ্ছিক। পরিবহনের মোড নির্দিষ্ট করে। শুধুমাত্র ড্রাইভ এখন সমর্থিত।

routingPreference

enum ( RoutingPreference )

ঐচ্ছিক। রুট গণনা কিভাবে নির্দিষ্ট করে. সার্ভার রুট গণনা করার জন্য নির্বাচিত রাউটিং পছন্দ ব্যবহার করার চেষ্টা করে। যদি রাউটিং পছন্দ একটি ত্রুটি বা একটি অতিরিক্ত দীর্ঘ লেটেন্সি ফলাফল, তারপর একটি ত্রুটি ফেরত হয়. ভবিষ্যতে, পছন্দের বিকল্পটি একটি বৈধ ফলাফল না দিলে আমরা একটি ভিন্ন বিকল্প ব্যবহার করার জন্য একটি ফলব্যাক প্রক্রিয়া প্রয়োগ করতে পারি। আপনি এই বিকল্পটি শুধুমাত্র তখনই নির্দিষ্ট করতে পারেন যখন travelMode DRIVE বা TWO_WHEELER হয়, অন্যথায় অনুরোধটি ব্যর্থ হয়।

polylineQuality

enum ( PolylineQuality )

ঐচ্ছিক। পলিলাইনের মানের জন্য আপনার পছন্দ নির্দিষ্ট করে।

polylineEncoding

enum ( PolylineEncoding )

ঐচ্ছিক। পলিলাইনের জন্য পছন্দের এনকোডিং নির্দিষ্ট করে।

departureTime

string ( Timestamp format)

ঐচ্ছিক। প্রস্থানের সময়। আপনি যদি এই মানটি সেট না করেন, তাহলে এই মানটি আপনার অনুরোধ করার সময় ডিফল্ট হবে। যদি আপনি এই মানটি এমন একটি সময়ে সেট করেন যা ইতিমধ্যেই ঘটেছে, তাহলে অনুরোধটি ব্যর্থ হবে।

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

routeModifiers

object ( RouteModifiers )

ঐচ্ছিক। সন্তুষ্ট করার শর্তের একটি সেট যা রুট গণনা করার পদ্ধতিকে প্রভাবিত করে।

routeObjective

object ( RouteObjective )

প্রয়োজন। অপ্টিমাইজ করার জন্য একটি রুট উদ্দেশ্য।

languageCode

string

ঐচ্ছিক। BCP-47 ভাষার কোড, যেমন "en-US" বা "sr-Latn"। আরও তথ্যের জন্য, http://www.unicode.org/reports/tr35/#Unicode_locale_identifier দেখুন। সমর্থিত ভাষার তালিকার জন্য ভাষা সমর্থন দেখুন। আপনি যখন এই মানটি প্রদান করেন না, তখন প্রদর্শনের ভাষাটি রুট অনুরোধের অবস্থান থেকে অনুমান করা হয়।

units

enum ( Units )

ঐচ্ছিক। প্রদর্শন ক্ষেত্রগুলির জন্য পরিমাপের এককগুলি নির্দিষ্ট করে। এর মধ্যে রয়েছে NavigationInstruction instruction ক্ষেত্র। রুট, পা, ধাপের দূরত্ব এবং সময়কালের জন্য ব্যবহৃত পরিমাপের একক এই মান দ্বারা প্রভাবিত হয় না। আপনি যদি এই মান প্রদান না করেন, তাহলে ডিসপ্লে ইউনিট অনুরোধের অবস্থান থেকে অনুমান করা হয়।

প্রতিক্রিয়া শরীর

সফল হলে, প্রতিক্রিয়া বডিতে ComputeCustomRoutesResponse এর একটি উদাহরণ থাকে।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগ প্রয়োজন:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

আরও তথ্যের জন্য, OAuth 2.0 ওভারভিউ দেখুন।