একটি রুট গণনা করার জন্য, আপনাকে অবশ্যই কমপক্ষে রুটের উৎপত্তিস্থল এবং রুটের গন্তব্যস্থলের অবস্থান নির্দিষ্ট করতে হবে। আপনি এই অবস্থানগুলিকে রুটের ওয়েপয়েন্ট হিসাবে সংজ্ঞায়িত করেন।
উৎপত্তিস্থল এবং গন্তব্যস্থল ছাড়াও, আপনি বিভিন্ন ধরণের ওয়েপয়েন্ট এবং রুটের জন্য ওয়েপয়েন্টগুলি কীভাবে পরিচালনা করবেন তা নির্দিষ্ট করতে পারেন। আরও তথ্য এবং উদাহরণের জন্য, এই বিষয়গুলি দেখুন:
- গাড়ির মাথা এবং রাস্তার পাশ নির্দিষ্ট করুন
- মধ্যবর্তী ওয়েপয়েন্টগুলি নির্দিষ্ট করুন
- রুটে একটি স্টপ সেট করুন
- একটি রুট অতিক্রম করার জন্য একটি বিন্দু নির্ধারণ করুন
- আপনার রুটে স্টপের ক্রম অপ্টিমাইজ করুন
রুটের জন্য অবস্থান নির্দিষ্ট করুন
আপনি একটি ওয়েপয়েন্ট (REST) অথবা ওয়েপয়েন্ট (gRPC) অবজেক্ট তৈরি করে একটি অবস্থান উপস্থাপন করেন। ওয়েপয়েন্ট সংজ্ঞায়, আপনি নিম্নলিখিত যেকোনো উপায়ে একটি অবস্থান নির্দিষ্ট করতে পারেন:
- স্থান আইডি (পছন্দসই)
- অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক
- ঠিকানা স্ট্রিং ("শিকাগো, আইএল" অথবা "ডারউইন, এনটি, অস্ট্রেলিয়া")
- প্লাস কোড
আপনি একইভাবে একটি অনুরোধে সমস্ত ওয়েপয়েন্টের জন্য অবস্থান নির্দিষ্ট করতে পারেন, অথবা আপনি তাদের মিশ্রিত করতে পারেন। উদাহরণস্বরূপ, আপনি উৎপত্তি ওয়েপয়েন্টের জন্য অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক ব্যবহার করতে পারেন এবং গন্তব্য ওয়েপয়েন্টের জন্য একটি স্থান আইডি ব্যবহার করতে পারেন।
দক্ষতা এবং নির্ভুলতার জন্য, অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক বা ঠিকানা স্ট্রিং এর পরিবর্তে স্থান আইডি ব্যবহার করুন। স্থান আইডিগুলি অনন্যভাবে স্পষ্ট এবং অ্যাক্সেস পয়েন্ট এবং ট্র্যাফিক ভেরিয়েবলের মতো রাউটিংয়ের জন্য জিওকোডিং সুবিধা প্রদান করে। তারা নিম্নলিখিত পরিস্থিতিগুলি এড়াতে সাহায্য করে যা অবস্থান নির্দিষ্ট করার অন্যান্য উপায়ের ফলে হতে পারে:
- অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক ব্যবহার করলে অবস্থানটি সেই স্থানাঙ্কগুলির নিকটতম রাস্তায় স্ন্যাপ করা হতে পারে - যা সম্পত্তির অ্যাক্সেস পয়েন্ট নাও হতে পারে, এমনকি এমন কোনও রাস্তাও নাও হতে পারে যা দ্রুত বা নিরাপদে গন্তব্যে নিয়ে যায়।
- ঠিকানা স্ট্রিংগুলিকে প্রথমে Routes API দ্বারা জিওকোড করতে হবে যাতে কোনও রুট গণনা করার আগে সেগুলিকে অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করা যায়। এই রূপান্তর কর্মক্ষমতাকে প্রভাবিত করতে পারে।
স্থান আইডি হিসেবে একটি স্থান উল্লেখ করুন
আপনি একটি স্থান আইডি ব্যবহার করে একটি ওয়েপয়েন্টের অবস্থান নির্দিষ্ট করতে পারেন। যেহেতু অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কগুলি রাস্তায় স্ন্যাপ করা হয়, তাই আপনি কিছু পরিস্থিতিতে একটি স্থান আইডি আরও ভাল ফলাফল প্রদান করতে পারেন।
জিওকোডিং API এবং প্লেস API (প্লেস অটোকম্পলিট সহ) থেকে প্লেস আইডি পুনরুদ্ধার করুন। প্লেস আইডি সম্পর্কে আরও জানতে, প্লেস আইডি ওভারভিউ দেখুন।
নিচের উদাহরণে origin এবং destination উভয়ের জন্য একটি place ID পাস করার জন্য placeId প্রোপার্টি ব্যবহার করা হয়েছে:
{ "origin":{ "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o" }, "destination":{ "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU" }, ... }
অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে একটি অবস্থান নির্দিষ্ট করুন
ওয়েপয়েন্টে অবস্থান নির্ধারণ করতে, অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক ব্যবহার করে অবস্থান (REST) বা অবস্থান (gRPC) নির্দিষ্ট করুন।
উদাহরণস্বরূপ, latitude এবং longitude স্থানাঙ্ক ব্যবহার করে রুটের origin এবং destination জন্য একটি ওয়েপয়েন্ট নির্দিষ্ট করুন:
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, ... }
ঠিকানা স্ট্রিং হিসেবে একটি অবস্থান নির্দিষ্ট করুন
ঠিকানা স্ট্রিং হল আক্ষরিক ঠিকানা যা একটি স্ট্রিং দ্বারা প্রতিনিধিত্ব করা হয় (যেমন "1600 অ্যাম্ফিথিয়েটার পার্কওয়ে, মাউন্টেন ভিউ, CA")। জিওকোডিং হল একটি ঠিকানা স্ট্রিংকে অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করার প্রক্রিয়া (যেমন অক্ষাংশ 37.423021 এবং দ্রাঘিমাংশ -122.083739)।
যখন আপনি একটি ঠিকানা স্ট্রিংকে একটি ওয়েপয়েন্টের অবস্থান হিসেবে পাস করেন, তখন Routes API অভ্যন্তরীণভাবে স্ট্রিংটিকে অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করার জন্য জিওকোড করে।
উদাহরণস্বরূপ, একটি রুট গণনা করার জন্য আপনি ঠিকানা স্ট্রিং ব্যবহার করে রুটের origin এবং destination জন্য একটি ওয়েপয়েন্ট নির্দিষ্ট করেন:
{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "450 Serra Mall, Stanford, CA 94305, USA" }, ... }
এই উদাহরণে, Routes API উভয় ঠিকানাকেই অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করার জন্য জিওকোড করে।
যদি ঠিকানার মান অস্পষ্ট হয়, তাহলে Routes API একই ধরণের ঠিকানা থেকে দ্ব্যর্থতা নিরসনের জন্য অনুসন্ধান শুরু করতে পারে। উদাহরণস্বরূপ, "1st Street" একটি সম্পূর্ণ মান অথবা "1st street NE" বা "1st St SE" এর জন্য একটি আংশিক মান হতে পারে। এই ফলাফল Geocoding API দ্বারা প্রদত্ত ফলাফল থেকে ভিন্ন হতে পারে। আপনি স্থান আইডি ব্যবহার করে সম্ভাব্য ভুল ব্যাখ্যা এড়াতে পারেন।
ঠিকানার জন্য অঞ্চল নির্ধারণ করুন
যদি আপনি একটি অসম্পূর্ণ ঠিকানা স্ট্রিংকে একটি ওয়েপয়েন্টের অবস্থান হিসেবে পাস করেন, তাহলে API ভুল জিওকোডেড অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক ব্যবহার করতে পারে। উদাহরণস্বরূপ, আপনি একটি ড্রাইভিং রুটের জন্য "টলেডো" কে উৎস এবং "মাদ্রিদ" কে গন্তব্য হিসেবে উল্লেখ করে একটি অনুরোধ করেন:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
এই উদাহরণে, "টলেডো" কে স্পেনের নয়, মার্কিন যুক্তরাষ্ট্রের ওহিও রাজ্যের একটি শহর হিসেবে ব্যাখ্যা করা হয়েছে। অতএব, অনুরোধটি একটি খালি অ্যারে প্রদান করে, যার অর্থ কোনও রুট বিদ্যমান নেই:
{ [] }
আপনি regionCode প্যারামিটার অন্তর্ভুক্ত করে একটি নির্দিষ্ট অঞ্চলে পক্ষপাতদুষ্ট ফলাফল ফেরত দেওয়ার জন্য API কনফিগার করতে পারেন। এই প্যারামিটারটি অঞ্চল কোডটিকে ccTLD ("শীর্ষ-স্তরের ডোমেন") দুই-অক্ষরের মান হিসাবে নির্দিষ্ট করে। বেশিরভাগ ccTLD কোড ISO 3166-1 কোডের অনুরূপ, কিছু উল্লেখযোগ্য ব্যতিক্রম ছাড়া। উদাহরণস্বরূপ, যুক্তরাজ্যের ccTLD হল "uk" (.co.uk) যেখানে এর ISO 3166-1 কোড হল "gb" (প্রযুক্তিগতভাবে "গ্রেট ব্রিটেন এবং উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" সত্তার জন্য)।
"টলেডো" থেকে "মাদ্রিদ" পর্যন্ত একটি নির্দেশিকা অনুরোধ যাতে regionCode প্যারামিটার অন্তর্ভুক্ত থাকে, উপযুক্ত ফলাফল প্রদান করে কারণ "টলেডো" কে স্পেনের একটি শহর হিসাবে ব্যাখ্যা করা হয়েছে:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE", "regionCode": "es" }
প্রতিক্রিয়াটিতে এখন স্পেনের টলেডো থেকে মাদ্রিদ, স্পেনের রুট গণনা করা হয়েছে:
{ "routes": [ { "distanceMeters": 75330, "duration": "4137s", ... } ] }
প্লাস কোড হিসেবে একটি অবস্থান নির্দিষ্ট করুন
অনেকেরই সঠিক ঠিকানা থাকে না, যার ফলে তাদের ডেলিভারি গ্রহণ করা কঠিন হয়ে পড়ে। অথবা, ঠিকানা থাকা ব্যক্তিরা আরও নির্দিষ্ট স্থানে, যেমন পিছনের প্রবেশপথ বা লোডিং ডকে ডেলিভারি গ্রহণ করতে পছন্দ করতে পারেন।
প্লাস কোডগুলি এমন লোক বা স্থানের রাস্তার ঠিকানার মতো যাদের প্রকৃত ঠিকানা নেই। রাস্তার নাম এবং সংখ্যা সহ ঠিকানার পরিবর্তে, প্লাস কোডগুলি অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কের উপর ভিত্তি করে তৈরি করা হয় এবং সংখ্যা এবং অক্ষর হিসাবে প্রদর্শিত হয়।
গুগল সকলকে এবং সকলকে ঠিকানার সুবিধা দেওয়ার জন্য প্লাস কোড তৈরি করেছে। প্লাস কোড হল একটি এনকোডেড অবস্থান রেফারেন্স, যা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক থেকে প্রাপ্ত, যা একটি ক্ষেত্রফলকে প্রতিনিধিত্ব করে: এক ডিগ্রির ১/৮০০০ ভাগ বাই এক ডিগ্রির ১/৮০০০ ভাগ (নিরক্ষরেখায় প্রায় ১৪ মি x ১৪ মি) বা তার চেয়ে কম। আপনি এমন জায়গাগুলিতে রাস্তার ঠিকানার পরিবর্তে প্লাস কোড ব্যবহার করতে পারেন যেখানে সেগুলি বিদ্যমান নেই বা যেখানে ভবনগুলি নম্বরযুক্ত নয় বা রাস্তার নামকরণ করা হয়নি।
প্লাস কোডগুলিকে অবশ্যই একটি গ্লোবাল কোড অথবা একটি যৌগিক কোড হিসেবে ফর্ম্যাট করতে হবে:
- একটি গ্লোবাল কোড ৪ অক্ষরের একটি এরিয়া কোড এবং ৬ অক্ষর বা তার বেশি লম্বা স্থানীয় কোড দিয়ে গঠিত।
উদাহরণস্বরূপ, "1600 Amphitheatre Parkway, Mountain View, CA" ঠিকানার জন্য, গ্লোবাল কোড হল "849V" এবং স্থানীয় কোড হল "CWC8+R9"। তারপর আপনি "849VCWC8+R9" হিসাবে অবস্থানের মান নির্দিষ্ট করতে পুরো 10 অক্ষরের প্লাস কোড ব্যবহার করুন।
- একটি যৌগিক কোড একটি স্পষ্ট অবস্থানের সাথে মিলিত একটি 6 অক্ষর বা তার বেশি স্থানীয় কোড দিয়ে গঠিত।
উদাহরণস্বরূপ, "450 Serra Mall, Stanford, CA 94305, USA" ঠিকানাটির স্থানীয় কোড "CRHJ+C3"। একটি যৌগিক ঠিকানার জন্য, "CRHJ+C3 Stanford, CA 94305, USA" ফর্মে ঠিকানার শহর, রাজ্য, জিপ কোড এবং দেশের অংশের সাথে স্থানীয় কোড একত্রিত করুন।
উদাহরণস্বরূপ, প্লাস কোড ব্যবহার করে রুটের
originএবংdestinationজন্য একটি ওয়েপয়েন্ট নির্দিষ্ট করে একটি রুট গণনা করুন:{ "origin":{ "address": "849VCWC8+R9" }, "destination":{ "address": "CRHJ+C3 Stanford, CA 94305, USA" }, "travelMode": "DRIVE" }
প্লাস কোডগুলি Google Maps প্ল্যাটফর্ম API-তে সমর্থিত, যার মধ্যে রয়েছে Place Autocomplete , Place Details , Directions API (Legacy) এবং Geocoding API । উদাহরণস্বরূপ, আপনি Geocoding API ব্যবহার করে অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক দ্বারা নির্দিষ্ট করা কোনও অবস্থানের জিওকোডিং বিপরীত করতে পারেন যাতে অবস্থানের প্লাস কোড নির্ধারণ করা যায়।