রুট বরাবর সার্চের ওভারভিউ
রুট বরাবর সার্চ করার ফিচার নিম্নলিখিত Places (New) API-তে উপলভ্য:
- শুধুমাত্র টেক্সট সার্চ (নতুন): আগে থেকে নির্ধারিত ট্রিপ রুট বরাবর জায়গা খুঁজুন।
- টেক্সট সার্চ (নতুন) ও কাছাকাছি সার্চ (নতুন): নির্দিষ্ট রাউটিংয়ের মূল লোকেশন থেকে সার্চ ফলাফলে থাকা প্রতিটি জায়গার রাউটিং সারসংক্ষেপ গণনা করে।
- শুধুমাত্র টেক্সট সার্চ (নতুন): আগে থেকে নির্ধারিত ট্রিপ রুট বরাবর প্রতিটি জায়গার জন্য রাউটিংয়ের সারসংক্ষেপ গণনা করে।
রুট বরাবর সার্চ করা
দুটি লোকেশনের মধ্যে ট্রিপ রুট গণনা করতে আপনি Routes API ব্যবহার করেন। Routes API, গাড়ি, সাইকেল, দু'চাকার গাড়ি, ট্রানজিট সিস্টেম বা হাঁটার জন্য রুট গণনা করতে পারে।
টেক্সট সার্চ (নতুন) আপনাকে এই গণনা করা রুট ব্যবহার করে কোনও রুট বরাবর সার্চ করতে দেয়। এই বিকল্পের মাধ্যমে, আপনি Routes API থেকে টেক্সট সার্চ (নতুন) অনুরোধে আগে থেকে গণনা করা রুট পাস করেন। উত্তরে এমনসব জায়গা দেখানো হয় যেগুলি সার্চের মাপকাঠি পূরণ করে এবং নির্দিষ্ট রুট থেকে কাছাকাছি দূরত্বে অবস্থিত।
কোনও রুট বরাবর সার্চ করা হল locationRestriction বা
locationBias অনুরোধের বিকল্প ব্যবহার করে সার্চ ফলাফলকে প্রভাবিত করার মতো। locationRestriction
ভিউ পোর্ট বাউন্ডের মধ্যে থাকা সার্চ ফলাফল দেখায়, যেখানে
locationBias ভিউ পোর্টের বাইরে থাকা সার্চ ফলাফল দেখাতে পারে। তবে, locationBias এবং locationRestriction বিকল্প আপনাকে সার্চ ফলাফলকে
পক্ষপাতদুষ্ট করার জন্য একটি অঞ্চল নির্দিষ্ট করতে দিলেও, টেক্সট সার্চে রুট বরাবর সার্চ করার ফিচার আপনাকে
রুট শুরু থেকে রুট গন্তব্য পর্যন্ত ন্যূনতম ডেট্যুর সময় সহ সার্চ ফলাফলকে পক্ষপাতদুষ্ট করতে দেয়। আপনি পলিলাইনের সাথে
locationBias বা locationRestriction যেকোনও একটি ব্যবহার করে সার্চ ফলাফলকে পক্ষপাতদুষ্ট করতে পারবেন।
যেমন, Routes API-এর মাধ্যমে গণনা করা গন্তব্যে, যেখান থেকে যাত্রা শুরু হচ্ছে, সেখান থেকে রুটটি বিবেচনা করুন, যা Routes API-তে ওয়েপয়েন্ট হিসেবে উল্লেখ করা হয়েছে:
আপনি রুট বরাবর সার্চ করলে, সার্চের ফলাফল এমনভাবে দেখানো হয় যাতে রুট থেকে সবচেয়ে কম ঘুরে গন্তব্যে পৌঁছানো যায়। এই উদাহরণে, A, B ও C পয়েন্ট হল সার্চের মাধ্যমে পাওয়া জায়গা।
রাউটিংয়ের সারসংক্ষেপ গণনা করা
টেক্সট সার্চ (নতুন) ও আশেপাশের সার্চ (নতুন), রুটিং সারাংশ গণনা করতে পারে। এর অর্থ হল, অনুরোধে উল্লেখ করা রুটিংয়ের মূল লোকেশন-এর ভিত্তিতে, উত্তরের প্রতিটি জায়গার জন্য সময়সীমা ও দূরত্ব গণনা করা। আপনি রাউটিং অরিজিন নির্দিষ্ট করলে, উত্তরে শুধু সার্চের সাথে মিলে যাওয়া জায়গার তালিকা থাকে না, তার সাথে রাউটিং অরিজিন থেকে প্রতিটি জায়গার দূরত্ব ও ভ্রমণের সময়ও থাকে।
নিচের ছবিতে, পয়েন্ট A, B ও C হল সার্চ উত্তরে দেখানো জায়গা:
ফলাফলে দেখানো প্রতিটি জায়গার জন্য, রেসপন্সে ভ্রমণের সময়সীমা এবং রুট শুরুর জায়গা থেকে সেই জায়গার দূরত্ব দেখানো হয়, যদি তা উপলভ্য থাকে।
সাধারণত, Routes API-তে TRAFFIC_UNAWARE
বিকল্প ব্যবহার করে ভ্রমণের সময়সীমা ও দূরত্ব গণনা করা হয়। আপনি ঐচ্ছিকভাবে রাউটিং সংক্রান্ত পছন্দ সেট করতে পারেন যাতে
লাইভ ট্রাফিক কন্ডিশন TRAFFIC_AWARE_OPTIMAL
বা লেটেন্সি-কমানো লাইভ ট্রাফিক কন্ডিশন TRAFFIC_AWARE
গণনা করার সময় বিবেচনা করা হয়।
রুট, লেগ ও ওয়েপয়েন্ট সম্পর্কে
Routes API-এর মাধ্যমে গণনা করা রুট বিভিন্ন কম্পোনেন্ট দিয়ে তৈরি হয়:
একটি রুটে নিম্নলিখিত কম্পোনেন্ট থাকে:
- Waypoint: কোনও রুট গণনা করতে, আপনাকে কমপক্ষে যাত্রা শুরুর এবং গন্তব্যের লোকেশন উল্লেখ করতে হবে। আপনি রুটে এইসব লোকেশনকে ওয়েপয়েন্ট হিসেবে সংজ্ঞায়িত করেন। ইন্টারমিডিয়েট ওয়েপয়েন্ট হল যাত্রা শুরুর স্থান ও গন্তব্যের মধ্যে এমন লোকেশন যেখান দিয়ে আপনি রুটটি নিয়ে যেতে চান।
-
রুট: যাত্রা শুরুর ওয়েপয়েন্ট থেকে, যেকোনও মধ্যবর্তী ওয়েপয়েন্ট হয়ে, গন্তব্যের ওয়েপয়েন্ট পর্যন্ত সম্পূর্ণ ট্রিপ। একটি রুটে এক বা একাধিক লেগ থাকে।
Text Search-এ কোনও রুট পাস করার সময়, Routes API-এর রিটার্ন করা রুটের এনকোড করা পলাইন পাস করেন। একটি এনকোড করা পলিলাইন হল অক্ষাংশ এবং দ্রাঘিমাংশ পয়েন্টের একটি এনকোড করা তালিকা যা আপনাকে রুটের পলিলাইনকে একটি স্ট্রিং হিসাবে উপস্থাপন করতে দেয়।
-
লেগ: কোনও রুটের একটি ওয়েপয়েন্ট থেকে পরবর্তী ওয়েপয়েন্ট পর্যন্ত পথ। প্রতিটি লেগ এক বা একাধিক আলাদা ধাপ নিয়ে গঠিত।
একটি রুটে প্রতিটি ওয়েপয়েন্ট থেকে পরবর্তী ওয়েপয়েন্ট পর্যন্ত পথের জন্য একটি আলাদা লেগ থাকে। যেমন, রুটে যদি একটিমাত্র সোর্স ওয়েপয়েন্ট এবং একটিমাত্র গন্তব্য ওয়েপয়েন্ট থাকে, তাহলে রুটে একটিমাত্র লেগ থাকে।
শুরু ও গন্তব্যের পরে রুটে যোগ করা প্রতিটি অতিরিক্ত ওয়েপয়েন্টকে ইন্টারমিডিয়েট ওয়েপয়েন্ট বলা হয়, API প্রতিটি ইন্টারমিডিয়েট ওয়েপয়েন্টের জন্য আলাদা লেগ যোগ করে।
রুট ও রুট গণনা করা সম্পর্কে আরও জানতে, Routes API দেখুন।
রুট বরাবর সার্চ করে রাউটিংয়ের সারসংক্ষেপ গণনা করুন
আপনি রুট সংক্রান্ত সংক্ষিপ্তসার গণনাকে রুট বরাবর সার্চ করার সাথে একত্রিত করতে পারবেন। এই ক্ষেত্রে, টেক্সট সার্চ (নতুন) উত্তরে প্রতিটি জায়গায় পৌঁছাতে কত সময় লাগবে এবং দূরত্ব কত তা দেখায় এবং তারপর প্রতিটি জায়গা থেকে রুটের চূড়ান্ত গন্তব্যে পৌঁছাতে কত সময় লাগবে এবং দূরত্ব কত তা দেখায়। এই গণনাকে এইভাবে ভাবুন যে, আপনি যদি নির্দিষ্ট রুট থেকে ঘুরে সার্চ ফলাফলে দেখানো কোনও জায়গায় যান এবং তারপর চূড়ান্ত গন্তব্যের দিকে এগিয়ে যান, তাহলে ভ্রমণের সময়সীমা ও দূরত্ব কত হবে।
যেমন, Routes API-এর মাধ্যমে গণনা করা, সোর্স থেকে ডেস্টিনেশন পর্যন্ত নিম্নলিখিত রুটটি দেখুন। আপনার সার্চ ক্রাইটেরিয়ার সাথে এই রুটটি Text Search (New) API-তে পাঠান।
এই উদাহরণে, লোকেশন A হল এমন একটি জায়গা যা টেক্সট সার্চ (নতুন) থেকে সার্চ ফলাফলে দেখানো হয়েছে। উত্তরে উল্লেখ করা প্রতিটি জায়গার জন্য, সার্চে সেই জায়গায় যাওয়ার জন্য প্রয়োজনীয় সময় ও দূরত্ব অন্তর্ভুক্ত থাকে, এটি দুটি লেগ বিশিষ্ট ট্রিপ হিসেবে দেখানো হয়:
- প্রথম লেগটিতে যাত্রা শুরুর স্থান থেকে গন্তব্য পর্যন্ত যাত্রার সময়সীমা ও দূরত্ব দেখানো হয়। এই উদাহরণে, সোর্স থেকে প্লেস 'ক'।
- দ্বিতীয় ধাপে জায়গা থেকে রুটের গন্তব্য পর্যন্ত ভ্রমণের সময়সীমা ও দূরত্ব দেখানো হয়। এই উদাহরণে, A থেকে গন্তব্য পর্যন্ত।
উত্তরে দেওয়া তথ্য থেকে, আপনি ঘুরে যাওয়ার সময়সীমা ও দূরত্ব হিসেব করতে পারবেন, যেখানে:
- \(t_{OD}\) হল যাত্রা শুরুর স্থান থেকে গন্তব্য পর্যন্ত ভ্রমণের সময়সীমা, \(s_{OD}\) হল যাত্রা শুরুর স্থান থেকে গন্তব্য পর্যন্ত ভ্রমণের দূরত্ব
- \(t_{OA}\) হল যাত্রা শুরু করার জায়গা থেকে A পর্যন্ত ভ্রমণের সময়সীমা; \(s_{OA}\) হল যাত্রা শুরু করার জায়গা থেকে A পর্যন্ত ভ্রমণের দূরত্ব
- \(t_{AD}\) হল A থেকে গন্তব্য পর্যন্ত ভ্রমণের সময়সীমা; \(s_{AD}\) হল A থেকে গন্তব্য পর্যন্ত ভ্রমণের দূরত্ব
ডেট্যুরয়ের সময়সীমা হল মূল ট্রিপ (যাত্রা শুরুর স্থান থেকে গন্তব্য) এবং নতুন ট্রিপের (যাত্রা শুরুর স্থান থেকে গন্তব্য হয়ে A) মধ্যে সময়সীমার পার্থক্য:
ডেট্যুর দূরত্ব হল মূল ট্রিপ (যাত্রা শুরুর স্থান থেকে গন্তব্য) এবং নতুন ট্রিপের (যাত্রা শুরুর স্থান থেকে গন্তব্য হয়ে A) মধ্যে দূরত্বের পার্থক্য: