আপনি Routes Preferred API-এর ComputeRouteMatrix মেথড ব্যবহার করে একাধিক উৎস ও গন্তব্যের জন্য একটি রুটের দূরত্ব এবং সময়কাল গণনা করতে পারেন। ComputeRouteMatrix স্ট্রিমিং gRPC কল এবং REST HTTP কল উভয়ই সমর্থন করে।
উৎস এবং গন্তব্যের জোড়াগুলোর একটি তালিকা দেওয়া থাকলে, ComputeRouteMatrix প্রতিটি উৎস থেকে শুরু হয়ে প্রতিটি গন্তব্যে শেষ হওয়া একটি পথের দূরত্ব ও সময়কাল গণনা করে। স্ট্রিমটির প্রতিটি উপাদান একটিমাত্র পথের তথ্যের সাথে সঙ্গতিপূর্ণ।
Distance Matrix Service-এর তুলনায় ComputeRouteMatrix পদ্ধতির বেশ কিছু সুবিধা রয়েছে:
- স্ট্রিমিংয়ের মাধ্যমে সম্পূর্ণ ম্যাট্রিক্সটি গণনা করার আগেই এর উপাদানগুলো ফেরত দেওয়া যায়, ফলে লেটেন্সি কমে আসে।
-
ComputeRouteMatrixট্র্যাফিক গণনার জন্য সূক্ষ্ম বিকল্প রয়েছে, যা আপনাকে কোয়ালিটি ও ল্যাটেন্সির মধ্যে ভারসাম্য রক্ষার সিদ্ধান্ত নিতে সাহায্য করে। - গুগলের পরিকাঠামোর মধ্যে অনুরোধগুলো উচ্চতর অগ্রাধিকার দিয়ে চালানো হয়, যার ফলে প্রাপ্যতা বৃদ্ধি পায়।
- আপনি ওয়েপয়েন্টগুলোর জন্য হেডিং (যাত্রার দিক) এবং রাস্তার পাশের তথ্য নির্দিষ্ট করতে পারেন।
- আপনি রুটের দূরত্ব এবং পৌঁছানোর আনুমানিক সময় (ETA) সহ টোলের তথ্য ফেরত পাওয়ার জন্য অনুরোধ করতে পারেন।
ComputeRouteMatrix পদ্ধতিটি সক্রিয় করুন
আপনার কোডে ComputeRouteMatrix মেথডটি ব্যবহার করার আগে, আপনাকে অবশ্যই এটি সক্রিয় করতে হবে। রাউটের পছন্দের এপিআই মেথডগুলো সক্রিয় করার বিষয়ে আরও তথ্যের জন্য, ‘শুরু করা’ দেখুন।
ComputeRouteMatrix পদ্ধতি ব্যবহার করুন
ComputeRouteMatrix মেথডটি Routes Preferred v1 এন্ডপয়েন্টের মাধ্যমে পাওয়া যায়।
আরও বিস্তারিত তথ্যের জন্য নিম্নলিখিত ডকুমেন্টেশন দেখুন:
gRPC ব্যবহার করে ComputeRouteMatrix মেথডটি কল করার পদ্ধতি নিম্নলিখিত সাধারণ ধাপগুলিতে বর্ণনা করা হলো:
googleapis রিপোজিটরি থেকে প্রয়োজনীয় প্রোটোবাফারগুলো চেক আউট করুন:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
উল্লেখ্য যে, Go-এর মতো কিছু বিল্ড সিস্টেম আপনার জন্য এই কাজটি স্বয়ংক্রিয়ভাবে করে দিতে পারে।
আপনার পছন্দের ভাষা এবং বিল্ড টুল ব্যবহার করে প্রাসঙ্গিক প্রোটোবাফার কোডটি তৈরি করুন।
আপনার অনুরোধটি তৈরি করুন। অনুরোধের সাথে দুটি প্রয়োজনীয় মেটাডেটা অবশ্যই পাঠাতে হবে:
- X-Goog-Api-Key অবশ্যই আপনার API কী-তে সেট করতে হবে।
X-Goog-Fieldmask-কে অবশ্যই রেসপন্স থেকে আপনার প্রয়োজনীয় ফিল্ডগুলোর একটি কমা দিয়ে আলাদা করা তালিকা হিসেবে সেট করতে হবে। উদাহরণস্বরূপ, X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status । আপনি সমস্ত ফিল্ড বোঝাতে ওয়াইল্ডকার্ড ক্যারেক্টার (*) ব্যবহার করতে পারেন, কিন্তু এটি নিরুৎসাহিত করা হয়। এপিআই রেসপন্স পরীক্ষা করতে এবং বুঝতে ওয়াইল্ডকার্ড ক্যারেক্টার ব্যবহার করুন, কিন্তু আপনার প্রোডাকশন কোডে ফিল্ড মাস্কে যে ফিল্ডগুলো চান, সেগুলো স্পষ্টভাবে তালিকাভুক্ত করুন।
ফিল্ড মাস্ক স্ট্রিং কীভাবে তৈরি করতে হয় সে সম্পর্কে আরও তথ্যের জন্য, https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto দেখুন। মনে রাখবেন যে, আপনার অপ্রয়োজনীয় ফিল্ডগুলো নিষ্ক্রিয় করলে ল্যাটেন্সি কমতে পারে, কারণ সেই ফিল্ডগুলোর জন্য আরও গণনার প্রয়োজন হতে পারে। আপনার প্রয়োজনীয় ফিল্ডগুলো নির্দিষ্ট করে দিলে এবং পরবর্তীতে আরও গণনার প্রয়োজন এমন নতুন ফিল্ড যোগ করলে আপনার ল্যাটেন্সি স্থিতিশীল থাকবে।
আপনার অনুরোধ
routespreferred.googleapis.com:443এ পাঠান। আপনাকে অবশ্যই TLS প্রোটোকল ব্যবহার করতে হবে।
ComputeRouteMatrix মেথড ব্যবহারের উদাহরণের জন্য, Computing a Route Matrix (Beta) Examples দেখুন।
ComputeRouteMatrix মেথডটির একটি স্বতন্ত্র বৈশিষ্ট্য হলো, এরর কোড পুরো স্ট্রিমের জন্য অথবা স্বতন্ত্র এলিমেন্টগুলোর জন্যও রিটার্ন করা যেতে পারে। উদাহরণস্বরূপ, যদি রিকোয়েস্টটি ত্রুটিপূর্ণ হয় (যেমন, এতে কোনো অরিজিন নেই), তাহলে স্ট্রিম কানেকশনটি একটি এরর রিটার্ন করে। তবে, যদি কোনো এরর স্ট্রিমের মাত্র কয়েকটি এলিমেন্টের ক্ষেত্রে প্রযোজ্য হয় (যেমন, কোনো অরিজিনের জন্য একটি অবৈধ প্লেস আইডি সেট করা), তাহলে শুধুমাত্র সেই এরর দ্বারা প্রভাবিত এলিমেন্টগুলোতেই এরর কোড থাকে।
স্ট্রিম দ্বারা ফেরত আসা এলিমেন্টগুলো যে কোনো ক্রমে ফেরত আসবে, এমন কোনো নিশ্চয়তা নেই। এই কারণে, প্রতিটি এলিমেন্টে একটি origin_index এবং একটি destination_index থাকে। রিকোয়েস্ট দ্বারা নির্দিষ্ট করা অরিজিন এবং ডেস্টিনেশনগুলোর জন্য, একটি নির্দিষ্ট এলিমেন্টের ক্ষেত্রে রুট origin হলো origins[origin_index] এর সমতুল্য এবং রুট destination হলো destinations[destination_index] এর সমতুল্য। এই অ্যারেগুলো জিরো-ইনডেক্সড। অরিজিন এবং ডেস্টিনেশন তালিকার ক্রম সংরক্ষণ করা গুরুত্বপূর্ণ।
টোল ফি গণনা করা
টোল ফি গণনা করার তথ্যের জন্য, টোল ফি গণনা করুন দেখুন।
টোল ফি গণনার উদাহরণের জন্য, “রুট ম্যাট্রিক্স গণনার উদাহরণ” দেখুন।