আপনি যখন একটি অনুরোধ করেন, তখন আপনাকে সবচেয়ে সঠিক ফলাফলগুলি ফেরত দেওয়া ভাল, বা যত তাড়াতাড়ি সম্ভব ফলাফল ফেরত দেওয়া ভাল কিনা সে সম্পর্কে আপনাকে সিদ্ধান্ত নিতে হতে পারে৷ Routes API এমন বিকল্পগুলি প্রদান করে যা আপনাকে প্রতিক্রিয়া ডেটার গুণমান বনাম প্রতিক্রিয়ার বিলম্বিতা নিয়ন্ত্রণ করতে দেয়।
ট্রাফিক ডেটার স্তর কনফিগার করুন
Routes API RoutingPreference (REST) এবং RoutingPreference (gRPC) প্রদান করে যা আপনাকে রুট গণনা করার জন্য রাউটিং পছন্দগুলি নির্দিষ্ট করতে দেয়। এই পছন্দগুলি রুট গণনার ক্ষেত্রে ট্র্যাফিক অবস্থার উপর নির্ভর করে। প্রতিটি রাউটিং পছন্দ ফলাফল তৈরি করে যা রুটের গুণমান, আনুমানিক ETA এবং প্রতিক্রিয়া লেটেন্সির ক্ষেত্রে একটি ডিগ্রী থেকে আলাদা।
ট্র্যাফিক পরিস্থিতি ট্র্যাফিক প্রবাহের হারকে চিহ্নিত করে। উদাহরণ স্বরূপ:
- যখন কোন যানজট থাকে না, তখন ট্রাফিক পরিস্থিতি স্বাভাবিক বলে বিবেচিত হয় এবং ট্রাফিক নিয়মিত নিরবচ্ছিন্ন গতিতে প্রবাহিত হয়।
- রাশ-ঘণ্টা কাছাকাছি হলে, ট্রাফিকের ঘনত্ব বেড়ে যায়, যা ট্র্যাফিককে ধীর করে দেয়, হালকা থেকে মাঝারি ট্রাফিক পরিস্থিতি তৈরি করে।
- বাম্পার-টু-বাম্পার ট্র্যাফিকের মধ্যে, প্রবাহের হার থেমে যায়, যা ভারী ট্র্যাফিক পরিস্থিতি তৈরি করে।
ট্রাফিক সচেতন না
আপনি যখন TRAFFIC_UNAWARE
রাউটিং পছন্দ সেট করেন, তখন বর্তমান ট্রাফিক অবস্থার হিসাব না করেই রুটগুলি গণনা করা হয়৷ এই রাউটিং পছন্দটি সর্বনিম্ন প্রতিক্রিয়া বিলম্বিত করে (প্রতিক্রিয়াগুলি দ্রুত ফেরত দেওয়া হয়)।
TRAFFIC_UNAWARE
হল ডিফল্ট সেটিং।
প্রতিক্রিয়ায়:
ETA
duration
প্রতিক্রিয়া বৈশিষ্ট্য অন্তর্ভুক্ত করা হয়.duration
এবংstaticDuration
প্রতিক্রিয়া বৈশিষ্ট্য একই মান ধারণ করে।
আপনি যখন প্রতিক্রিয়াগুলি দ্রুত ফেরত দিতে চান তখন এই রাউটিং পছন্দটি ব্যবহার করুন এবং আনুমানিক রাউটিং বিশদ যথেষ্ট ভাল।
ট্রাফিক সচেতন
আপনি যখন TRAFFIC_AWARE
রাউটিং পছন্দ সেট করেন, তখন বর্তমান ট্রাফিক অবস্থার জন্য রুটগুলি গণনা করা হয়৷ ফলস্বরূপ, রুট এবং রুটের বিবরণ আরও সঠিকভাবে বাস্তব-বিশ্বের পরিস্থিতি প্রতিফলিত করে। যেহেতু ডেটার গুণমানে এই বৃদ্ধি প্রতিক্রিয়ার বিলম্বের খরচে আসে, তাই কর্মক্ষমতা অপ্টিমাইজেশানগুলি বেশিরভাগ বিলম্ব কমাতে প্রয়োগ করা হয়।
প্রতিক্রিয়ায়:
রিয়েল-টাইম ট্র্যাফিক বিবেচনায় নেওয়া ETA
duration
প্রতিক্রিয়া বৈশিষ্ট্যের মধ্যে রয়েছে।staticDuration
রেসপন্স প্রপার্টিতে ট্রাফিক পরিস্থিতি বিবেচনায় না নিয়ে রুট দিয়ে ভ্রমণের সময়কাল রয়েছে।
আপনি যখন TRAFFIC_UNAWARE
এর চেয়ে আরও সঠিক রাউটিং বিশদ চান তখন এই রাউটিং পছন্দটি ব্যবহার করুন, এবং তারপরও যদি প্রতিক্রিয়াগুলি লেটেন্সিতে মাঝারি বৃদ্ধির সাথে ফেরত দেওয়া হয় তবে আপনি কিছু মনে করবেন না৷
ট্রাফিক সচেতন সর্বোত্তম
আপনি যখন TRAFFIC_AWARE_OPTIMAL
রাউটিং পছন্দ সেট করেন, তখন বর্তমান ট্র্যাফিক অবস্থার জন্য রুটগুলি গণনা করা হয়, কিন্তু কোন কর্মক্ষমতা অপ্টিমাইজেশান প্রয়োগ করা হয় না। এই মোডে, সার্ভারটি সর্বোত্তম রুট খুঁজে পেতে রাস্তার নেটওয়ার্কের আরও বিস্তৃত অনুসন্ধান করে।
TRAFFIC_AWARE_OPTIMAL
রাউটিং পছন্দ maps.google.com এবং Google মানচিত্র মোবাইল অ্যাপ দ্বারা ব্যবহৃত মোডের সমতুল্য৷
কম্পিউট রুট ম্যাট্রিক্সের সাথে এই বিকল্পটি ব্যবহার করার সময়, একটি অনুরোধে উপাদানের সংখ্যা (উৎপত্তির সংখ্যা × গন্তব্যের সংখ্যা) 100 এর বেশি হতে পারে না। কম্পিউট রুট ম্যাট্রিক্স সীমা সম্পর্কে আরও জানতে, একটি রুট ম্যাট্রিক্স গণনা করুন দেখুন।
প্রতিক্রিয়ায়:
রিয়েল-টাইম ট্র্যাফিক বিবেচনায় নেওয়া ETA
duration
প্রতিক্রিয়া বৈশিষ্ট্যের মধ্যে রয়েছে।staticDuration
রেসপন্স প্রপার্টিতে ট্রাফিক পরিস্থিতি বিবেচনায় না নিয়ে রুট দিয়ে ভ্রমণের সময়কাল রয়েছে।
এই রাউটিং পছন্দ সর্বোচ্চ প্রতিক্রিয়া লেটেন্সি প্রদান করে (অর্থাৎ, প্রতিক্রিয়াগুলি দীর্ঘতম বিলম্বের সাথে ফিরে আসে)। প্রতিক্রিয়া কত সময় নেয় তা বিবেচনা না করে আপনি যখন সর্বোচ্চ মানের ফলাফল চান তখন এই রাউটিং পছন্দটি ব্যবহার করুন।
প্রস্থানের সময় নির্ধারণের প্রভাব
আপনি ঐচ্ছিকভাবে একটি ট্রিপ প্রস্থানের জন্য পছন্দসই সময় সেট করতে departureTime
সম্পত্তি ব্যবহার করুন। আপনি departureTime
প্রপার্টি সেট না করলে, আপনি অনুরোধ করার সময় এটি ডিফল্ট হয়।
TRAFFIC_UNAWARE
এর জন্য, আপনিdepartureTime
সময় সেট করতে পারবেন না কারণ রুট এবং সময়কালের পছন্দটি রাস্তার নেটওয়ার্ক এবং গড় সময়-স্বাধীন ট্রাফিক অবস্থার উপর ভিত্তি করে।TRAFFIC_AWARE
এবংTRAFFIC_AWARE_OPTIMAL
এর জন্য, যা লাইভ ট্রাফিক পরিস্থিতি বিবেচনা করে, লাইভ ট্র্যাফিক এখনdepartureTime
সময় যত কাছাকাছি হবে ততই গুরুত্বপূর্ণ হয়ে উঠবে৷ আপনি যতদূর ভবিষ্যতে প্রস্থানের সময় নির্ধারণ করবেন, ঐতিহাসিক ট্র্যাফিক অবস্থার জন্য তত বেশি বিবেচনা করা হবে।
উদাহরণ সেটিং রাউটিং পছন্দ
নিম্নলিখিত JSON কোডটি একটি অনুরোধ বার্তা সত্তা বডিতে কীভাবে রাউটিং পছন্দ সেট করতে হয় তা প্রদর্শন করে।
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }
পলিলাইন গুণমান কনফিগার করুন
Routes API আপনাকে একটি ট্রাফিক-সচেতন পলিলাইন বরাবর ট্রাফিক পরিস্থিতি সম্পর্কে তথ্যের অনুরোধ করতে দেয়। আরও তথ্যের জন্য পলিলাইনে ট্রাফিক তথ্যের অনুরোধ দেখুন।
একটি পলিলাইনের গুণমান নিম্নলিখিত পদে বর্ণনা করা যেতে পারে:
পলিলাইন তৈরি করে এমন পয়েন্টের সংখ্যা
যত বেশি পয়েন্ট আছে, পলিলাইন তত মসৃণ হবে (বিশেষ করে বক্ররেখায়)।
পয়েন্টের ফ্লোটিং-পয়েন্ট নির্ভুলতা
পয়েন্টগুলি অক্ষাংশ এবং দ্রাঘিমাংশের মান হিসাবে নির্দিষ্ট করা হয়, যা একক-নির্ভুল ফ্লোটিং-পয়েন্ট বিন্যাসে উপস্থাপিত হয়। এটি ছোট মানগুলির জন্য ভাল কাজ করে (যা সুনির্দিষ্টভাবে উপস্থাপন করা যেতে পারে), তবে ফ্লোটিং-পয়েন্ট রাউন্ডিং ত্রুটির কারণে মান বৃদ্ধির সাথে সাথে নির্ভুলতা হ্রাস পায়।
ComputeRoutes পদ্ধতি (REST) এবং ComputeRoutes পদ্ধতি (gRPC) পলিলাইন গুণমান নিয়ন্ত্রণের জন্য polylineQuality
কোয়ালিটি অনুরোধ বিকল্পকে সমর্থন করে।
পলিলাইন গুণমান নির্ধারণের উদাহরণ
polylineQuality
কোয়ালিটি OVERVIEW
HIGH_QUALITY
বা ওভারভিউ (ডিফল্ট) হিসাবে নির্দিষ্ট করে। OVERVIEW
সাথে, পলিলাইনটি অল্প সংখ্যক পয়েন্ট ব্যবহার করে তৈরি করা হয়েছে এবং HIGH_QUALITY
এর চেয়ে কম অনুরোধের বিলম্ব রয়েছে।
উদাহরণস্বরূপ, অনুরোধের অংশে:
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "polylineQuality": "HIGH_QUALITY", "polylineEncoding": "ENCODED_POLYLINE", "departureTime": "2023-10-15T15:01:23.045123456Z", ... }