একটি রুট গণনা করতে, আপনাকে অবশ্যই ন্যূনতম রুটের উত্স এবং রুটের গন্তব্যের অবস্থানগুলি নির্দিষ্ট করতে হবে৷ আপনি এই অবস্থানগুলিকে রুটের ওয়েপয়েন্ট হিসাবে সংজ্ঞায়িত করেন।
উত্স এবং গন্তব্য ছাড়াও, আপনি বিভিন্ন ধরণের ওয়েপয়েন্ট এবং একটি রুটের জন্য ওয়েপয়েন্টগুলি কীভাবে পরিচালনা করবেন তা নির্দিষ্ট করতে পারেন। আরও তথ্য এবং উদাহরণের জন্য, এই বিষয়গুলি দেখুন:
- গাড়ির হেডিং এবং রাস্তার পাশে নির্দিষ্ট করুন
- মধ্যবর্তী পথপয়েন্ট নির্দিষ্ট করুন
- একটি রুট বরাবর একটি স্টপ সেট করুন
- একটি পথ অতিক্রম করার জন্য একটি বিন্দু সেট করুন
- আপনার রুটে স্টপের ক্রম অপ্টিমাইজ করুন
একটি রুট জন্য অবস্থান নির্দিষ্ট করুন
আপনি একটি ওয়েপয়েন্ট (REST) বা ওয়েপয়েন্ট (gRPC) অবজেক্ট তৈরি করে একটি অবস্থানের প্রতিনিধিত্ব করেন। ওয়েপয়েন্ট সংজ্ঞায়, আপনি নিম্নলিখিত যে কোনও উপায়ে একটি অবস্থান নির্দিষ্ট করতে পারেন:
- স্থান আইডি (পছন্দের)
- অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক
- ঠিকানা স্ট্রিং ("শিকাগো, আইএল" বা "ডারউইন, এনটি, অস্ট্রেলিয়া")
- প্লাস কোড
আপনি একইভাবে অনুরোধে সমস্ত ওয়েপয়েন্টের জন্য অবস্থান নির্দিষ্ট করতে পারেন, অথবা আপনি তাদের মিশ্রিত করতে পারেন। উদাহরণস্বরূপ, আপনি অরিজিন ওয়েপয়েন্টের জন্য অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক ব্যবহার করতে পারেন এবং গন্তব্য ওয়েপয়েন্টের জন্য একটি স্থান আইডি ব্যবহার করতে পারেন।
দক্ষতা এবং নির্ভুলতার জন্য, অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক বা ঠিকানা স্ট্রিংয়ের পরিবর্তে স্থান আইডি ব্যবহার করুন। প্লেস আইডিগুলি স্বতন্ত্রভাবে স্পষ্ট এবং রাউটিং যেমন অ্যাক্সেস পয়েন্ট এবং ট্র্যাফিক ভেরিয়েবলের জন্য জিওকোডিং সুবিধা প্রদান করে। তারা নিম্নলিখিত পরিস্থিতিগুলি এড়াতে সাহায্য করে যা একটি অবস্থান নির্দিষ্ট করার অন্যান্য উপায়ের ফলে হতে পারে:
- অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কগুলি ব্যবহার করার ফলে অবস্থানটি সেই স্থানাঙ্কগুলির নিকটবর্তী রাস্তাতে স্ন্যাপ করা হতে পারে - যা সম্পত্তির অ্যাক্সেস পয়েন্ট নাও হতে পারে, এমনকি এমন একটি রাস্তা যা দ্রুত বা নিরাপদে গন্তব্যের দিকে নিয়ে যায়।
- ঠিকানার স্ট্রিংগুলি একটি রুট গণনা করার আগে অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করতে রুট API দ্বারা জিওকোড করা আবশ্যক। এই রূপান্তর কর্মক্ষমতা প্রভাবিত করতে পারে.
একটি স্থান আইডি হিসাবে একটি অবস্থান নির্দিষ্ট করুন
আপনি একটি ওয়েপয়েন্টের অবস্থান নির্দিষ্ট করতে একটি স্থান আইডি ব্যবহার করতে পারেন। যেহেতু অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কগুলিকে রাস্তার সাথে স্ন্যাপ করা হয়েছে, আপনি এমন একটি জায়গার আইডি খুঁজে পেতে পারেন যা কিছু পরিস্থিতিতে আরও ভাল ফলাফল দেয়৷
জিওকোডিং API এবং স্থান API (স্থান স্বয়ংসম্পূর্ণ সহ) থেকে স্থান আইডি পুনরুদ্ধার করুন। স্থান আইডি সম্পর্কে আরও জানতে, স্থান আইডি ওভারভিউ দেখুন।
নিম্নলিখিত উদাহরণটি origin
এবং destination
উভয়ের জন্য একটি স্থান আইডি পাস করতে 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 Amphitheatre Parkway, Mountain View, CA")। জিওকোডিং হল একটি ঠিকানা স্ট্রিংকে অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করার প্রক্রিয়া (যেমন অক্ষাংশ 37.423021 এবং দ্রাঘিমাংশ -122.083739)।
যখন আপনি একটি ওয়েপয়েন্টের অবস্থান হিসাবে একটি ঠিকানা স্ট্রিং পাস করেন, তখন রুট এপিআই স্ট্রিংটিকে অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করতে অভ্যন্তরীণভাবে জিওকোড করে।
উদাহরণস্বরূপ, একটি রুট গণনা করতে আপনি ঠিকানা স্ট্রিং ব্যবহার করে রুটের origin
এবং destination
জন্য একটি ওয়েপয়েন্ট নির্দিষ্ট করেন:
{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "450 Serra Mall, Stanford, CA 94305, USA" }, ... }
এই উদাহরণে, রুট API উভয় ঠিকানাকে অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করতে জিওকোড করে।
ঠিকানা মান অস্পষ্ট হলে, Routes API অনুরূপ ঠিকানাগুলি থেকে দ্ব্যর্থতা নিরসনের জন্য একটি অনুসন্ধান আহ্বান করতে পারে। উদাহরণস্বরূপ, "1st Street" একটি সম্পূর্ণ মান বা "1st Street NE" বা "1st St SE" এর আংশিক মান হতে পারে। এই ফলাফল জিওকোডিং API দ্বারা প্রত্যাবর্তিত ফলাফল থেকে ভিন্ন হতে পারে। আপনি স্থান আইডি ব্যবহার করে সম্ভাব্য ভুল ব্যাখ্যা এড়াতে পারেন।
ঠিকানার জন্য অঞ্চল সেট করুন
যদি আপনি একটি ওয়েপয়েন্টের অবস্থান হিসাবে একটি অসম্পূর্ণ ঠিকানা স্ট্রিং পাস করেন, তাহলে API ভুল জিওকোডেড অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক ব্যবহার করতে পারে। উদাহরণ স্বরূপ, আপনি একটি ড্রাইভিং রুটের গন্তব্য হিসাবে "Toledo" এবং "Madrid" কে মূল হিসেবে উল্লেখ করে একটি অনুরোধ করেন:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
এই উদাহরণে, "Toledo" কে স্পেনে নয়, মার্কিন যুক্তরাষ্ট্রের ওহিও রাজ্যের একটি শহর হিসাবে ব্যাখ্যা করা হয়েছে। অতএব, অনুরোধটি একটি খালি অ্যারে প্রদান করে, যার অর্থ কোন রুট বিদ্যমান নেই:
{ [] }
আপনি regionCode
প্যারামিটার অন্তর্ভুক্ত করে একটি নির্দিষ্ট অঞ্চলে পক্ষপাতদুষ্ট ফলাফল ফেরত দিতে API কনফিগার করতে পারেন। এই প্যারামিটারটি একটি ccTLD ("টপ-লেভেল ডোমেন") দুই-অক্ষরের মান হিসাবে অঞ্চল কোড নির্দিষ্ট করে। কিছু উল্লেখযোগ্য ব্যতিক্রম সহ বেশিরভাগ ccTLD কোডগুলি ISO 3166-1 কোডগুলির সাথে অভিন্ন। উদাহরণস্বরূপ, ইউনাইটেড কিংডমের ccTLD হল "uk" (.co.uk) যেখানে এর ISO 3166-1 কোড হল "gb" (প্রযুক্তিগতভাবে "The United Kingdom of Great Britain and Northern Ireland" এর সত্তার জন্য)।
"Toledo" থেকে "Madrid" এর জন্য একটি নির্দেশের অনুরোধ যাতে regionCode
প্যারামিটার অন্তর্ভুক্ত থাকে উপযুক্ত ফলাফল প্রদান করে কারণ "Toledo" কে স্পেনের একটি শহর হিসাবে ব্যাখ্যা করা হয়:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE", "regionCode": "es" }
প্রতিক্রিয়াতে এখন টলেডো, স্পেন থেকে মাদ্রিদ, স্পেন পর্যন্ত গণনা করা রুট রয়েছে:
{ "routes": [ { "distanceMeters": 75330, "duration": "4137s", ... } ] }
একটি প্লাস কোড হিসাবে একটি অবস্থান নির্দিষ্ট করুন
অনেক লোকের একটি সুনির্দিষ্ট ঠিকানা নেই, যা তাদের জন্য ডেলিভারি গ্রহণ করা কঠিন করে তুলতে পারে। অথবা, ঠিকানা সহ লোকেরা আরও নির্দিষ্ট স্থানে বিতরণ গ্রহণ করতে পছন্দ করতে পারে, যেমন পিছনের প্রবেশদ্বার বা লোডিং ডক।
প্লাস কোডগুলি হল রাস্তার ঠিকানার মতো লোকেদের বা জায়গাগুলির জন্য যেগুলির প্রকৃত ঠিকানা নেই৷ রাস্তার নাম এবং সংখ্যা সহ ঠিকানাগুলির পরিবর্তে, প্লাস কোডগুলি অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কের উপর ভিত্তি করে এবং সংখ্যা এবং অক্ষর হিসাবে প্রদর্শিত হয়।
Google সকলকে এবং সবকিছুকে ঠিকানার সুবিধা দেওয়ার জন্য প্লাস কোড তৈরি করেছে৷ একটি প্লাস কোড হল একটি এনকোড করা অবস্থানের রেফারেন্স, যা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক থেকে প্রাপ্ত, যা একটি এলাকাকে প্রতিনিধিত্ব করে: একটি ডিগ্রীর 1/8000 তম একটি ডিগ্রীর 1/8000 তম (বিষুব রেখায় প্রায় 14 মি x 14 মি) বা ছোট। আপনি রাস্তার ঠিকানাগুলির প্রতিস্থাপন হিসাবে প্লাস কোডগুলি ব্যবহার করতে পারেন যেখানে সেগুলি বিদ্যমান নেই বা যেখানে বিল্ডিংগুলি সংখ্যাযুক্ত নয় বা রাস্তার নাম দেওয়া হয়নি৷
প্লাস কোডগুলি অবশ্যই একটি গ্লোবাল কোড বা একটি যৌগিক কোড হিসাবে ফর্ম্যাট করা উচিত:
- একটি গ্লোবাল কোড একটি 4 অক্ষরের এলাকা কোড এবং 6 অক্ষর বা দীর্ঘ স্থানীয় কোড দ্বারা গঠিত।
উদাহরণ স্বরূপ, "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" }
প্লাস কোডগুলি প্লেস স্বয়ংসম্পূর্ণ , স্থানের বিবরণ , দিকনির্দেশ API , এবং জিওকোডিং API সহ Google মানচিত্র প্ল্যাটফর্ম API-এ সমর্থিত। উদাহরণস্বরূপ, আপনি অবস্থানের প্লাস কোড নির্ধারণ করতে অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক দ্বারা নির্দিষ্ট একটি অবস্থানের জিওকোডিং বিপরীত করতে জিওকোডিং API ব্যবহার করতে পারেন।