এই প্রোডাক্ট পুরনো স্ট্যাটাসে আছে। অক্টোবর ২০২৬ থেকে, নতুন Google Cloud প্রোজেক্টের জন্য Directions API (Legacy) আর চালু করা যাবে না। আগে থেকে থাকা প্রোজেক্ট সম্পূর্ণভাবে কাজ করবে। নতুন ফিচার ও উন্নত পারফর্ম্যান্সের জন্য, Routes API-তে মাইগ্রেট করুন।
ব্যবহারকারীর ইনপুটের (যেমন, ইউজার ইন্টারফেস এলিমেন্টের মধ্যে) রিয়েল-টাইম রেসপন্স হিসেবে দিকনির্দেশ গণনা করার জন্য, আপনি Directions API (Legacy) ব্যবহার করতে পারেন অথবা, আপনি Maps JavaScript API ব্যবহার করলে, Directions পরিষেবা ব্যবহার করুন। সার্ভার-সাইড ব্যবহারের জন্য, আপনি Google Maps পরিষেবার জন্য Java Client, Python Client, Go Client এবং Node.js Client ব্যবহার করতে পারবেন।
Directions API (পুরনো ভার্সন) ব্যবহার করে আপনি এগুলি করতে পারবেন:
- ট্রানজিট, গাড়ি চালানো, হেঁটে যাওয়া বা সাইকেল চালানো সহ পরিবহনের বিভিন্ন মোডের জন্য দিকনির্দেশ সার্চ করুন।
- একাধিক ওয়েপয়েন্ট ব্যবহার করে একাধিক অংশের দিকনির্দেশ দেখান।
- শুরু, গন্তব্য ও ওয়েপয়েন্ট টেক্সট স্ট্রিং হিসেবে উল্লেখ করুন (যেমন, "Chicago, IL" বা "Darwin, NT, Australia"), স্থান আইডি বা অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেট হিসেবে।
দিকনির্দেশ গণনা করার সময় API সবচেয়ে দক্ষ রুট রিটার্ন করে। ভ্রমণের সময় হল প্রাথমিক ফ্যাক্টর যা অপ্টিমাইজ করা হয়, তবে কোন রুটটি সবচেয়ে দক্ষ তা নির্ধারণ করার সময় API দূরত্ব, কতগুলি বাঁক আছে এবং আরও অনেক কিছুর মতো অন্যান্য ফ্যাক্টরও বিবেচনা করতে পারে।
শুরু করার আগে
Directions API (Legacy) ব্যবহার করা শুরু করার আগে, আপনার একটি প্রোজেক্ট প্রয়োজন হবে যেখানে বিলিং অ্যাকাউন্ট এবং Directions API (Legacy) চালু করা আছে। আরও জানতে, Cloud কনসোলে সেট-আপ করুন দেখুন।
আপনার Directions API (Legacy) সংক্রান্ত অনুরোধ তৈরি করুন
Directions API (Legacy) অনুরোধের ফর্ম্যাট নিচে দেওয়া হল:
https://maps.googleapis.com/maps/api/directions/outputFormat?parameters
যেখানে outputFormat নিম্নলিখিত মানগুলির মধ্যে যেকোনও একটি হতে পারে:
json(সাজেস্ট করা হয়েছে) জাভাস্ক্রিপ্ট অবজেক্ট নোটেশনে (JSON) আউটপুট দেখায়xmlXML হিসেবে আউটপুট দেখায়
মনে রাখবেন: URL সঠিক হতে হলে সেটিকে সঠিকভাবে এনকোড করতে হবে এবং সব ওয়েব পরিষেবার জন্য ১৬৩৮৪ অক্ষরের মধ্যে সীমাবদ্ধ হতে হবে। আপনার URL তৈরি করার সময় এই সীমা সম্পর্কে সচেতন থাকুন।
URL-এর স্ট্যান্ডার্ড অনুযায়ী, সব প্যারামিটারকে অ্যামপারস্যান্ড (&) অক্ষর ব্যবহার করে আলাদা করা হয়। সব সংরক্ষিত অক্ষর (যেমন, প্লাস চিহ্ন "+") অবশ্যই URL-এনকোড করা হতে হবে।
প্যারামিটারের তালিকা এবং সেগুলির সম্ভাব্য মান নিচে উল্লেখ করা হল।
প্রয়োজনীয় প্যারামিটার
-
গন্তব্য
আপনি যে জায়গার দিকনির্দেশ গণনা করতে চান, সেই জায়গার আইডি, ঠিকানা বা টেক্সট হিসেবে লেখা অক্ষাংশ/দ্রাঘিমাংশের ভ্যালু। গন্তব্য প্যারামিটারের বিকল্পগুলি উৎস প্যারামিটারের মতোই।
-
উৎস
যে জায়গা থেকে আপনি দিকনির্দেশ গণনা করতে চান, সেই জায়গার আইডি, ঠিকানা বা টেক্সট হিসেবে অক্ষাংশ/দ্রাঘিমাংশের ভ্যালু।
-
প্লেস আইডির শুরুতে
place_id:থাকতে হবে। আপনি Geocoding API এবং Places API (জায়গা অটোমেটিক সম্পূর্ণ করা সহ) থেকে জায়গার আইডি ফিরিয়ে আনতে পারবেন। Place Autocomplete থেকে পাওয়া প্লেস আইডি ব্যবহার করার উদাহরণ দেখতে, Place Autocomplete এবং দিকনির্দেশ দেখুন। প্লেস আইডি সম্পর্কে আরও জানতে, প্লেস আইডি ওভারভিউ দেখুন।origin=place_id:ChIJ3S-JXmauEmsRUcIaWtf4MzE -
আপনি কোনও ঠিকানা পাস করলে, Directions পরিষেবা স্ট্রিংটি জিওকোড করে এবং দিকনির্দেশ গণনা করার জন্য এটিকে অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করে। এই স্থানাঙ্ক Geocoding API-এর মাধ্যমে পাওয়া স্থানাঙ্কের থেকে আলাদা হতে পারে, যেমন, কোনও বিল্ডিংয়ের কেন্দ্রের পরিবর্তে তার প্রবেশদ্বার।
origin=24+Sussex+Drive+Ottawa+ONঠিকানা বা অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেটের পরিবর্তে প্লেস আইডি ব্যবহার করা বেশি সুবিধাজনক। স্থানাঙ্ক ব্যবহার করলে, সবসময় সেই স্থানাঙ্কের সবচেয়ে কাছের রাস্তায় পয়েন্টটি স্ন্যাপ করা হবে - যা প্রপার্টিতে পৌঁছানোর অ্যাক্সেস পয়েন্ট নাও হতে পারে, এমনকি সেই রাস্তা দিয়ে দ্রুত বা নিরাপদে গন্তব্যে পৌঁছানো নাও যেতে পারে।
-
আপনি স্থানাঙ্ক পাস করলে, পয়েন্টটি নিকটতম রাস্তার সাথে স্ন্যাপ করবে। কোনও জায়গার আইডি পাস করাকে অগ্রাধিকার দেওয়া হয়। আপনি যদি স্থানাঙ্ক পাস করেন, তাহলে নিশ্চিত করুন যে অক্ষাংশ এবং দ্রাঘিমাংশের মানের মধ্যে কোনও স্পেস নেই।
origin=41.43206,-81.38992 -
Plus কোড অবশ্যই গ্লোবাল কোড বা কম্পাউন্ড কোড হিসেবে ফর্ম্যাট করতে হবে। এখানে দেখানো ফর্ম্যাট অনুযায়ী প্লাস কোড লিখুন (প্লাস চিহ্ন url-এ এড়িয়ে গিয়ে
%2Bএবং স্পেস url-এ এড়িয়ে গিয়ে%20করা হয়েছে)।-
গ্লোবাল কোড হল ৪ অক্ষরের এলাকার কোড এবং ৬
অক্ষর বা তার বেশি দৈর্ঘ্যের স্থানীয় কোড (849VCWC8+R9 হল
849VCWC8%2BR9)। -
কম্পাউন্ড কোড হল ৬টি বা তার বেশি অক্ষর বিশিষ্ট স্থানীয় কোড
যার সাথে নির্দিষ্ট লোকেশন উল্লেখ করা থাকে (CWC8+R9 Mountain View, CA, USA হল
CWC8%2BR9%20Mountain%20View%20CA%20USA)।
-
গ্লোবাল কোড হল ৪ অক্ষরের এলাকার কোড এবং ৬
অক্ষর বা তার বেশি দৈর্ঘ্যের স্থানীয় কোড (849VCWC8+R9 হল
মনে রাখবেন: দক্ষতা ও নির্ভুলতার জন্য, সম্ভব হলে জায়গার আইডি ব্যবহার করুন। এই আইডিগুলি অক্ষাংশ/দ্রাঘিমাংশ ভ্যালু পেয়ারের মতো অনন্যভাবে স্পষ্ট এবং অ্যাক্সেস পয়েন্ট ও ট্রাফিক ভেরিয়েবলের মতো রাউটিংয়ের জন্য জিওকোডিং সুবিধা প্রদান করে। ঠিকানার মতো, আইডি-র ক্ষেত্রে সার্চ করার জন্য পরিষেবার প্রয়োজন হয় না অথবা জায়গার বিবরণের জন্য মধ্যবর্তী অনুরোধের প্রয়োজন হয় না; তাই, পারফর্ম্যান্স আরও ভালো হয়। -
ঐচ্ছিক প্যারামিটার
-
বিকল্প
true-এ সেট করা থাকলে, এটি নির্দিষ্ট করে যে দিকনির্দেশ পরিষেবা উত্তরে একাধিক বিকল্প রুট প্রদান করতে পারে। মনে রাখবেন যে বিকল্প রুট প্রদান করলে সার্ভার থেকে উত্তর পেতে বেশি সময় লাগতে পারে। এটি শুধুমাত্র মধ্যবর্তী ওয়েপয়েন্ট ছাড়া অনুরোধের জন্য উপলভ্য। আরও তথ্যের জন্য, ওয়েপয়েন্ট সংক্রান্ত নির্দেশিকা দেখুন। -
arrival_time
ট্রানজিটের দিকনির্দেশের জন্য পৌঁছানোর পছন্দের সময় উল্লেখ করে, ১ জানুয়ারি, ১৯৭০ UTC মধ্যরাত থেকে সেকেন্ডে। আপনি
departure_timeঅথবাarrival_time-এর মধ্যে যেকোনও একটি উল্লেখ করতে পারেন, দুটিই নয়। মনে রাখবেন যেarrival_timeঅবশ্যই একটি পূর্ণসংখ্যা হিসাবে নির্দিষ্ট করা উচিত। -
এড়িয়ে চলুন
এটি নির্দেশ করে যে গণনা করা রুটে নির্দেশিত ফিচারগুলি এড়িয়ে যাওয়া উচিত। এই প্যারামিটার নিম্নলিখিত আর্গুমেন্ট সাপোর্ট করে:
-
tollsনির্দেশ করে যে গণনা করা রুটে টোল রাস্তা/ব্রিজ এড়ানো উচিত। -
highwaysথেকে বোঝা যায় যে গণনা করা রুটে হাইওয়ে এড়িয়ে যাওয়া উচিত। -
ferriesথেকে বোঝা যায় যে গণনা করা রুটে ফেরি এড়িয়ে যাওয়া উচিত। -
indoorথেকে বোঝা যায় যে হাঁটা ও ট্রানজিটের দিকনির্দেশের জন্য ইনডোর স্টেপ এড়িয়ে রুট গণনা করা উচিত।
এড়িয়ে যাওয়ার প্যারামিটারে একাধিক বিধিনিষেধ পাস করে টোল, হাইওয়ে ও ফেরির যেকোনও কম্বিনেশন এড়িয়ে যায় এমন রুটের জন্য অনুরোধ করা সম্ভব। যেমন:
avoid=tolls|highways|ferries. -
-
departure_time
ছাড়ার জন্য পছন্দের সময় নির্দিষ্ট করে। আপনি ১ জানুয়ারি, ১৯৭০ UTC মধ্যরাত থেকে সেকেন্ডে পূর্ণসংখ্যা হিসেবে সময় উল্লেখ করতে পারেন। যদি 9999-12-31T23:59:59.999999999Z-এর পরে কোনও
departure_timeউল্লেখ করা হয়, তাহলে APIdeparture_time-কে 9999-12-31T23:59:59.999999999Z-এ ফিরিয়ে আনবে। অন্যথায়, আপনি now-এর মান নির্দিষ্ট করতে পারেন, যা ছাড়ার সময়কে বর্তমান সময়ে সেট করে (সবচেয়ে কাছাকাছি সেকেন্ডে সঠিক)। দুটি ক্ষেত্রে ছাড়ার সময় উল্লেখ করা হতে পারে:-
যেসব অনুরোধে ট্রানজিট হল ভ্রমণের মোড: আপনি বিকল্প হিসেবে
departure_timeবাarrival_time-এর মধ্যে যেকোনও একটি নির্দিষ্ট করতে পারেন। কোনও সময় উল্লেখ করা না থাকলে,departure_timeডিফল্ট হিসেবে এখন (অর্থাৎ, ছাড়ার সময় ডিফল্ট হিসেবে বর্তমান সময়) সেট করা হয়। -
যেসব অনুরোধে ভ্রমণের মোড হল ড্রাইভিং: আপনি
departure_timeনির্দিষ্ট করতে পারেন যাতে ট্রাফিক পরিস্থিতি বিবেচনা করে রুট এবং ট্রিপের সময়কাল (রেসপন্স ফিল্ড: duration_in_traffic) পাওয়া যায়।departure_timeবর্তমান সময় বা ভবিষ্যতের কোনও সময়ে সেট করতে হবে। এটি অতীতের কোনও তারিখ হতে পারবে না।
মনে রাখবেন: রওনা দেওয়ার সময় নির্দিষ্ট করা না থাকলে, রাস্তার নেটওয়ার্ক এবং সময়ের উপর নির্ভর করে না এমন ট্রাফিক পরিস্থিতির গড় সময়ের উপর ভিত্তি করে রুট ও সময় বেছে নেওয়া হয়। রাস্তার নেটওয়ার্কে পরিবর্তন, ট্রাফিকের গড় অবস্থার আপডেট এবং পরিষেবার ডিস্ট্রিবিউটেড প্রকৃতির কারণে কোনও অনুরোধের ফলাফল সময়ের সাথে সাথে পরিবর্তিত হতে পারে। এছাড়াও, প্রায় একই ধরনের রুটের ক্ষেত্রে যেকোনও সময় বা ফ্রিকোয়েন্সিতে ফলাফল আলাদা হতে পারে।মনে রাখবেন:mode=driving-এর ক্ষেত্রেdeparture_timeউল্লেখ করে করা ডিস্ট্যান্স ম্যাট্রিক্স অনুরোধের সংখ্যা প্রতি অনুরোধে সর্বাধিক ১০০টি এলিমেন্টে সীমাবদ্ধ। শুরুর পয়েন্টের সংখ্যাকে গন্তব্যের সংখ্যা দিয়ে গুণ করলে এলিমেন্টের সংখ্যা পাওয়া যায়। -
যেসব অনুরোধে ট্রানজিট হল ভ্রমণের মোড: আপনি বিকল্প হিসেবে
-
ভাষা
যে ভাষায় ফলাফল দেখানো হবে। মনে রাখবেন যে এটি শুধুমাত্র
start_addressএবংend_address-এ জিওকোড করা ঠিকানা,distanceএবংdurationফিল্ডে (লেগ ও স্টেপে) স্থানীয় ভাষায় লেখা টেক্সট এবংhtml_instructions-এ ম্যানুভারের বিবরণের ক্ষেত্রে প্রযোজ্য, তবেhtml_instructions-এ নাম ও ঠিকানার ক্ষেত্রে প্রযোজ্য নয়, যেগুলি স্থানীয় ভাষা ও স্ক্রিপ্টে ফর্ম্যাট করা থাকে।- অনুমোদিত ভাষার তালিকা দেখুন। Google প্রায়ই কাজ করে এমন ভাষার তালিকা আপডেট করে, তাই এই তালিকা সম্পূর্ণ নাও হতে পারে।
-
languageপ্রদান করা না হলে, APIAccept-Languageহেডারে উল্লেখ করা পছন্দের ভাষা ব্যবহার করার চেষ্টা করে। - API এমন রাস্তার ঠিকানা প্রদান করার যথাসাধ্য চেষ্টা করে যা ব্যবহারকারী ও স্থানীয় লোকজন উভয়ের জন্যই বোধগম্য হয়। এই লক্ষ্য পূরণ করতে, এটি স্থানীয় ভাষায় রাস্তার ঠিকানা ফেরত পাঠায়, যা ব্যবহারকারীর পছন্দের ভাষা অনুযায়ী, প্রয়োজনে ব্যবহারকারীর পড়ার উপযোগী স্ক্রিপ্টে লিপ্যন্তর করা হয়। অন্যান্য সব ঠিকানা পছন্দের ভাষায় দেখানো হয়। ঠিকানার সব কম্পোনেন্ট একই ভাষায় দেখানো হয়, যা প্রথম কম্পোনেন্ট থেকে বেছে নেওয়া হয়।
- পছন্দের ভাষায় কোনও নাম উপলভ্য না থাকলে, API সবচেয়ে কাছাকাছি ম্যাচ ব্যবহার করে।
- API যে ফলাফল দেখায় এবং যে ক্রমে দেখায়, তার উপর পছন্দের ভাষার সামান্য প্রভাব থাকে। জিওকোডার ভাষার উপর নির্ভর করে সংক্ষিপ্ত রূপকে আলাদাভাবে ব্যাখ্যা করে, যেমন রাস্তার প্রকারের সংক্ষিপ্ত রূপ বা সমার্থক শব্দ যা একটি ভাষায় বৈধ হতে পারে কিন্তু অন্য ভাষায় নয়। যেমন, হাঙ্গেরিয়ান ভাষায় utca এবং tér হল রাস্তার সমার্থক শব্দ।
-
মোড
দূরত্ব এবং দিকনির্দেশ গণনা করার জন্য, আপনি ব্যবহার করার জন্য পরিবহনের মোড নির্দিষ্ট করতে পারেন। ডিফল্ট হিসেবে,
drivingমোড ব্যবহার করা হয়। ডিফল্ট হিসেবে, দিকনির্দেশ গাড়ি চালানোর দিকনির্দেশ হিসেবে হিসেব করা হয়। নিম্নলিখিত ভ্রমণ মোড কাজ করে:-
driving(ডিফল্ট) স্ট্যান্ডার্ড গাড়ি চালানোর দিকনির্দেশ বা রোড নেটওয়ার্ক ব্যবহার করে দূরত্ব নির্দেশ করে। -
walkingহাঁটার দিকনির্দেশ বা দূরত্ব সম্পর্কে অনুরোধ করে পথচারীদের রাস্তা ও ফুটপাথের মাধ্যমে (যেখানে উপলভ্য)। -
bicyclingসাইকেল চালানোর দিকনির্দেশ বা সাইকেল চালানোর রাস্তা ও পছন্দের রাস্তার (যেখানে উপলভ্য) মাধ্যমে দূরত্ব জানতে চায়। -
transitপাবলিক ট্রানজিট রুট (যেখানে উপলভ্য) ব্যবহার করে দিকনির্দেশ বা দূরত্ব জানতে চায়। আপনি মোড ট্রানজিটে সেট করলে, বিকল্প হিসেবেdeparture_timeঅথবাarrival_timeউল্লেখ করতে পারবেন। কোনও সময় উল্লেখ করা না থাকলে,departure_timeডিফল্ট হিসেবে বর্তমান সময়কে (অর্থাৎ, ছাড়ার সময় ডিফল্ট হিসেবে বর্তমান সময়কে) বেছে নেয়। এছাড়াও, আপনি ঐচ্ছিকভাবেtransit_modeএবং/অথবাtransit_routing_preferenceযোগ করতে পারেন। ডেটা প্রদানকারীর থেকে ট্রানজিট সংক্রান্ত তথ্য পাওয়া গেলে, অতীতের ৭ দিন বা ভবিষ্যতের ১০০ দিন পর্যন্ত ট্রানজিট ট্রিপের তথ্য উপলভ্য থাকে। ট্রানজিট শিডিউল ঘন ঘন পরিবর্তিত হয়, উপলভ্য ট্রানজিট ট্রিপ সময়ের সাথে সাথে পরিবর্তিত হতে পারে এবং অনেক আগে থেকে করা পূর্বাভাসের জন্য একই ধরনের ফলাফল প্রদান করার কোনও গ্যারেন্টি নেই।
মনে রাখবেন: হাঁটা ও সাইকেল চালানোর দিকনির্দেশে কখনও কখনও স্পষ্ট পথচারী বা সাইকেল চালানোর পথ নাও থাকতে পারে, তাই এইসব দিকনির্দেশ ফলাফলে সতর্কতা দেখাবে যা আপনাকে অবশ্যই ব্যবহারকারীকে দেখাতে হবে। -
-
অঞ্চল
অঞ্চল কোড, ccTLD ("টপ-লেভেল ডোমেন") দুটি অক্ষরের মান হিসেবে উল্লেখ করা হয়েছে। বেশিরভাগ ccTLD কোড ISO 3166-1 কোডের মতোই হয়, তবে কিছু ব্যতিক্রম আছে। যেমন, যুক্তরাজ্যের ccTLD হল "uk" (.co.uk) এবং এর ISO 3166-1 কোড হল "gb" (টেকনিক্যালি "গ্রেট ব্রিটেন ও উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" এন্টিটির জন্য)।
-
traffic_model
ট্রাফিকে সময় হিসেব করার সময় কোন অনুমান ব্যবহার করতে হবে তা নির্দিষ্ট করে। এই সেটিং উত্তরের duration_in_traffic ফিল্ডে দেখানো ভ্যালুকে প্রভাবিত করে, যেখানে পুরনো গড় ডেটার ভিত্তিতে ট্রাফিকের মধ্যে আনুমানিক সময় দেখানো হয়।
traffic_modelপ্যারামিটারটি শুধুমাত্র গাড়ি চালানোর দিকনির্দেশের জন্য নির্দিষ্ট করা যেতে পারে যেখানে অনুরোধে একটিdeparture_timeঅন্তর্ভুক্ত থাকে। এই প্যারামিটারের জন্য উপলভ্য ভ্যালুগুলি হল:-
best_guess(ডিফল্ট) নির্দেশ করে যে, duration_in_traffic-এর রিটার্ন করা ভ্যালু হল ভ্রমণের সময়ের সেরা অনুমান, যা ঐতিহাসিক ট্রাফিক পরিস্থিতি এবং লাইভ ট্রাফিক, দুটির উপর ভিত্তি করে গণনা করা হয়।departure_timeযত কাছে আসবে, লাইভ ট্রাফিক তত বেশি গুরুত্বপূর্ণ হয়ে উঠবে। -
pessimisticথেকে বোঝা যায় যে, বেশিরভাগ দিনেই duration_in_traffic-এর মান প্রকৃত ভ্রমণের সময়ের চেয়ে বেশি হবে, তবে কখনও কখনও ট্রাফিক পরিস্থিতি খুব খারাপ হলে এই মান অতিক্রম করতে পারে। -
optimisticথেকে বোঝা যায় যে, বেশিরভাগ দিনেই ট্রাফিকের মধ্যে কাটানো সময় প্রকৃত ভ্রমণের সময়ের চেয়ে কম হওয়া উচিত, যদিও মাঝে মাঝে ট্রাফিক পরিস্থিতি খুব ভালো থাকলে এই ভ্যালুর চেয়েও কম সময় লাগতে পারে।
best_guess-এর ডিফল্ট ভ্যালু বেশিরভাগ ব্যবহারের ক্ষেত্রে সবচেয়ে উপযোগী পূর্বাভাস দেবে। এটি সম্ভব যেbest_guessভ্রমণের সময় সংক্রান্ত পূর্বাভাসoptimistic-এর থেকে কম হতে পারে অথবা বিকল্প হিসেবে,pessimistic-এর থেকে বেশি হতে পারে, কারণbest_guessপূর্বাভাস মডেল লাইভ ট্রাফিক তথ্য ইন্টিগ্রেট করে। -
-
transit_mode
ট্রানজিটের এক বা একাধিক পছন্দের মোড নির্দিষ্ট করে। এই প্যারামিটারটি শুধুমাত্র ট্রানজিট দিকনির্দেশের জন্য নির্দিষ্ট করা যেতে পারে। প্যারামিটারটি নিম্নলিখিত আর্গুমেন্ট সমর্থন করে:
-
busথেকে বোঝা যায় যে বাসে করে ভ্রমণ করার জন্য গণনা করা রুটকে অগ্রাধিকার দেওয়া উচিত। -
subwayথেকে বোঝা যায় যে গণনা করা রুটে সাবওয়েতে ভ্রমণ করাকে অগ্রাধিকার দেওয়া উচিত। -
trainনির্দেশ করে যে গণনা করা রুটে ট্রেনে ভ্রমণকে অগ্রাধিকার দেওয়া উচিত। -
tramথেকে বোঝা যায় যে গণনা করা রুটে ট্রাম ও লাইট রেলের মাধ্যমে ভ্রমণকে অগ্রাধিকার দেওয়া উচিত। -
rail-এর অর্থ হল, গণনা করা রুটে ট্রেন, ট্রাম, লাইট রেল ও সাবওয়েতে ভ্রমণকে অগ্রাধিকার দেওয়া উচিত। এটিtransit_mode=train|tram|subway-এর সমতুল্য।
-
-
transit_routing_preference
ট্রানজিট রুটের জন্য পছন্দ নির্দিষ্ট করে। এই প্যারামিটার ব্যবহার করে, আপনি API-এর বেছে নেওয়া ডিফল্ট সেরা রুট গ্রহণ করার পরিবর্তে, ফেরত আসা বিকল্পগুলিকে প্রভাবিত করতে পারবেন। এই প্যারামিটারটি শুধুমাত্র ট্রানজিট দিকনির্দেশের জন্য নির্দিষ্ট করা যেতে পারে। প্যারামিটারটি নিম্নলিখিত আর্গুমেন্ট সমর্থন করে:
-
less_walkingথেকে বোঝা যায় যে গণনা করা রুটে কম হাঁটার বিকল্পকে অগ্রাধিকার দেওয়া উচিত। -
fewer_transfersথেকে বোঝা যায় যে গণনা করা রুটে সীমিত সংখ্যক ট্রান্সফারকে অগ্রাধিকার দেওয়া উচিত।
-
-
ইউনিট
ফলাফল দেখানোর সময় কোন ইউনিট সিস্টেম ব্যবহার করা হবে তা নির্দিষ্ট করে।
দিকনির্দেশ সংক্রান্ত ফলাফলে দূরত্ব ফিল্ডের মধ্যে টেক্সট থাকে যা ব্যবহারকারীকে রুটের নির্দিষ্ট "ধাপ" সংক্রান্ত দূরত্ব দেখানোর জন্য ব্যবহার করা হতে পারে। ডিফল্ট হিসেবে, এই টেক্সট উৎস দেশ বা অঞ্চলের ইউনিট সিস্টেম ব্যবহার করে।
যেমন, "শিকাগো, ইলিনয়" থেকে "টরন্টো, অন্টারিও" পর্যন্ত রুটের ক্ষেত্রে ফলাফল মাইলে দেখানো হবে, কিন্তু উল্টো রুটের ক্ষেত্রে ফলাফল কিলোমিটারে দেখানো হবে। আপনি অনুরোধের ইউনিট প্যারামিটারে স্পষ্টভাবে একটি সেট করে এই ইউনিট সিস্টেম ওভাররাইড করতে পারেন, নিম্নলিখিত মানগুলির মধ্যে একটি পাস করে:
-
metricমেট্রিক সিস্টেমের ব্যবহার নির্দিষ্ট করে। টেক্সট দূরত্ব কিলোমিটার এবং মিটারে দেখানো হয়। -
imperialইম্পিরিয়াল (ইংরেজি) সিস্টেমের ব্যবহার নির্দিষ্ট করে। টেক্সট হিসেবে দূরত্ব মাইল ও ফুট হিসেবে দেখানো হয়।
মনে রাখবেন: এই ইউনিট সিস্টেম সেটিং শুধুমাত্র দূরত্বের ফিল্ডে দেখানো টেক্সটকে প্রভাবিত করে। দূরত্ব সংক্রান্ত ফিল্ডে এমন মান থাকে যা সবসময় মিটারে প্রকাশ করা হয়। -
-
ওয়েপয়েন্ট
সতর্কতা: ১০টির বেশি ওয়েপয়েন্ট (১১ থেকে ২৫টি) ব্যবহার করে করা অনুরোধ অথবা ওয়েপয়েন্ট অপ্টিমাইজেশনের জন্য বেশি রেটে বিল করা হয়। Google Maps Platform প্রোডাক্টের জন্য বিলিং সম্পর্কে আরও জানুন।যাত্রা শুরু ও গন্তব্যের মধ্যে রুট বরাবর অন্তর্ভুক্ত করার জন্য মধ্যবর্তী লোকেশনের একটি অ্যারে নির্দিষ্ট করে যেগুলি পাস থ্রু বা স্টপওভার লোকেশন হিসেবে কাজ করে। ওয়েপয়েন্ট নির্দিষ্ট লোকেশনের মাধ্যমে রুটকে নির্দেশ করে রুট পরিবর্তন করে। এইসব ভ্রমণ মোডের জন্য API ওয়েপয়েন্ট সাপোর্ট করে: গাড়ি চালানো, হাঁটা ও সাইকেল চালানো; ট্রানজিট নয়। আপনি এক বা একাধিক লোকেশন দিতে পারেন যা পাইপ অক্ষর (
|বা%7C) দিয়ে আলাদা করা থাকবে, প্লেস আইডি, ঠিকানা বা অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেট হিসেবে। ডিফল্ট হিসেবে, Directions পরিষেবা, ওয়েপয়েন্টগুলি যে ক্রমে দেওয়া হয়েছে সেই ক্রম অনুসারে রুট গণনা করে। ওয়েপয়েন্টের ভ্যালু পার্স করার জন্য অগ্রাধিকার হল প্লেস আইডি, অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক, তারপর ঠিকানা।-
আপনি কোনও জায়গার আইডি পাস করলে, আপনাকে অবশ্যই এটির আগে
place_id:যোগ করতে হবে। আপনি Geocoding API এবং Places API (জায়গা অটোমেটিক সম্পূর্ণ করা সহ) থেকে জায়গার আইডি খুঁজে পেতে পারেন। 'প্লেস অটোকমপ্লিট' থেকে প্লেস আইডি ব্যবহার করার উদাহরণ দেখতে, প্লেস অটোকমপ্লিট ও দিকনির্দেশ দেখুন। জায়গার আইডি সম্পর্কে আরও জানতে, জায়গার আইডি ওভারভিউ দেখুন।দক্ষতা ও নির্ভুলতার জন্য, সম্ভব হলে জায়গার আইডি ব্যবহার করুন। এই আইডিগুলি অক্ষাংশ/দ্রাঘিমাংশ ভ্যালু পেয়ারের মতো অনন্যভাবে স্পষ্ট এবং অ্যাক্সেস পয়েন্ট ও ট্রাফিক ভেরিয়েবলের মতো রাউটিংয়ের জন্য জিওকোডিং সুবিধা প্রদান করে। ঠিকানার মতো, আইডি-র ক্ষেত্রে সার্চ করার জন্য পরিষেবার প্রয়োজন হয় না বা জায়গার বিবরণের জন্য মধ্যবর্তী অনুরোধের প্রয়োজন হয় না; তাই, পারফর্ম্যান্স আরও ভালো হয়। -
আপনি অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক পাস করলে, জিওকোডিং ছাড়াই দিকনির্দেশ গণনা করার জন্য মানগুলি সরাসরি
ফ্রন্টএন্ড সার্ভারে যায়। পয়েন্টগুলি
রাস্তার সাথে স্ন্যাপ করা হয় এবং আপনার অ্যাপের জন্য প্রয়োজনীয় নির্ভুলতা
প্রদান নাও করতে পারে। আপনি যখন নিশ্চিত হবেন যে মানগুলি সম্ভাব্য অ্যাক্সেস পয়েন্ট বা অতিরিক্ত জিওকোডিং বিবরণ বিবেচনা না করেই
আপনার অ্যাপের রাউটিংয়ের জন্য প্রয়োজনীয় পয়েন্টগুলি সঠিকভাবে নির্দিষ্ট করে,
তখন কোঅর্ডিনেট ব্যবহার করুন। নিশ্চিত করুন যে অক্ষাংশ ও দ্রাঘিমাংশের মান
কমা (
%2C) দিয়ে আলাদা করা হয়েছে, স্পেস (%20) দিয়ে নয়। - আপনি কোনও ঠিকানা পাস করলে, Directions পরিষেবা স্ট্রিং জিওকোড করবে এবং দিকনির্দেশ গণনা করার জন্য এটিকে অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করবে। ঠিকানার ভ্যালু অস্পষ্ট হলে, একই ধরনের ঠিকানা থেকে অস্পষ্টতা দূর করার জন্য ভ্যালুটি সার্চ করতে পারে। যেমন, "১ম স্ট্রিট" "১ম স্ট্রিট NE" বা "১ম St SE"-এর জন্য সম্পূর্ণ বা আংশিক ভ্যালু হতে পারে। এই ফলাফল Geocoding API-এর মাধ্যমে পাওয়া ফলাফলের থেকে আলাদা হতে পারে। আপনি প্লেস আইডি ব্যবহার করে সম্ভাব্য ভুল ব্যাখ্যা এড়াতে পারেন।
-
বিকল্প হিসেবে, আপনি এনকোড করা পলিলাইন অ্যালগরিদম ব্যবহার করে
পয়েন্টের এনকোড করা সেট দিতে পারেন। আপনি দেখতে পাবেন যে এনকোড করা সেট অনেক বেশি সংখ্যক
ওয়েপয়েন্টের জন্য উপযোগী, কারণ URL অনেক ছোট হয়। সব ওয়েব পরিষেবার
URL-এ ১৬৩৮৪ অক্ষরের সীমা আছে।
-
এনকোড করা পলিলাইনের শুরুতে
enc:এবং তারপরে কোলন (:) থাকতে হবে। যেমন:waypoints=enc:gfo}EtohhU:। -
এছাড়াও, আপনি পাইপ অক্ষর (
|) দিয়ে আলাদা করা একাধিক এনকোড করা পলিলাইন যোগ করতে পারেন। যেমন,waypoints=via:enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:| via:enc:udymA{~bxM:
-
এনকোড করা পলিলাইনের শুরুতে
স্টপওভার ও পাস থ্রু পয়েন্টের মাধ্যমে রুট প্রভাবিত করুন
অনুরোধে প্রতিটি ওয়েপয়েন্টের জন্য, দিকনির্দেশ সংক্রান্ত উত্তর
legsঅ্যারেতে একটি এন্ট্রি যোগ করে যাতে যাত্রার সেই অংশে স্টপওভারের বিবরণ প্রদান করা যায়।আপনি যদি স্টপওভার যোগ না করে ওয়েপয়েন্ট ব্যবহার করে রুটকে প্রভাবিত করতে চান, তাহলে ওয়েপয়েন্টে প্রিফিক্স
via:যোগ করুন।via:প্রিফিক্স সহ ওয়েপয়েন্টlegsঅ্যারেতে কোনও এন্ট্রি যোগ করবে না, তবে ওয়েপয়েন্টের মাধ্যমে যাত্রার রুট তৈরি করবে।নিম্নলিখিত URL আগের অনুরোধটি এমনভাবে পরিবর্তন করে যাতে যাত্রাটি লেক্সিংটনের মধ্য দিয়ে না থেমে রুট করা হয়:
https://maps.googleapis.com/maps/api/directions/json? origin=Boston,MA&destination=Concord,MA &waypoints=Charlestown,MA|via:Lexington,MAম্যাপে ব্যবহারকারীর ওয়েপয়েন্ট টেনে আনার উত্তরে রুট তৈরি করার সময়
via:প্রিফিক্স সবচেয়ে কার্যকর হয়। এটি করলে, ব্যবহারকারী দেখতে পাবেন যে রিয়েল-টাইমে চূড়ান্ত রুট কেমন দেখতে হতে পারে এবং এটি নিশ্চিত করতে সাহায্য করে যে ওয়েপয়েন্টগুলি এমন লোকেশনে রাখা হয়েছে যেগুলি Directions API-এর মাধ্যমে অ্যাক্সেস করা যায়।সতর্কতা: স্টপওভার এড়াতেvia:প্রিফিক্স ব্যবহার করলে এমন দিকনির্দেশ পাওয়া যায় যা ওয়েপয়েন্টের ব্যাখ্যার ক্ষেত্রে কঠোর। এই ব্যাখ্যার ফলে রুটে গুরুতর ঘুরপথ হতে পারে অথবা Directions API সেই পয়েন্টের মাধ্যমে দিকনির্দেশ তৈরি করতে না পারলে রেসপন্স স্ট্যাটাস কোডেZERO_RESULTSহতে পারে।আপনার ওয়েপয়েন্ট অপ্টিমাইজ করুন
ডিফল্ট হিসেবে, Directions পরিষেবা প্রদত্ত ওয়েপয়েন্টের মাধ্যমে প্রদত্ত ক্রমে রুট গণনা করে। বিকল্প হিসেবে, আপনি
optimize:true-কে প্রথম আর্গুমেন্ট হিসেবে ওয়েপয়েন্ট প্যারামিটারের মধ্যে পাস করতে পারেন যাতে দিকনির্দেশ পরিষেবা প্রদত্ত রুটকে আরও দক্ষ ক্রমে ওয়েপয়েন্টগুলি পুনর্বিন্যাস করে অপ্টিমাইজ করতে পারে। (এই অপ্টিমাইজেশন হল ট্রাভেলিং সেলসপার্সন সমস্যার একটি অ্যাপ্লিকেশন।) ভ্রমণের সময় হল প্রাথমিক ফ্যাক্টর যা অপ্টিমাইজ করা হয়, তবে দূরত্ব, কতবার ঘুরতে হবে এবং আরও অনেক ফ্যাক্টর বিবেচনা করা হতে পারে যখন কোন রুটটি সবচেয়ে দক্ষ তা নির্ধারণ করা হয়। Directions পরিষেবার মাধ্যমে রুট অপ্টিমাইজ করার জন্য সব ওয়েপয়েন্টকে স্টপওভার হতে হবে।আপনি যদি Directions পরিষেবাকে তার ওয়েপয়েন্টের ক্রম অপ্টিমাইজ করার নির্দেশ দেন, তাহলে তাদের ক্রম রুট অবজেক্টের মধ্যে
waypoint_orderফিল্ডে ফেরত দেওয়া হবে।waypoint_orderফিল্ডে শূন্য-ভিত্তিক ভ্যালু দেখানো হয়।নিম্নলিখিত উদাহরণে রুট অপ্টিমাইজেশন ব্যবহার করে দক্ষিণ অস্ট্রেলিয়ার অ্যাডিলেড থেকে দক্ষিণ অস্ট্রেলিয়ার প্রতিটি প্রধান ওয়াইন অঞ্চলে সড়কপথে ভ্রমণের হিসেব করা হয়েছে।
https://maps.googleapis.com/maps/api/directions/json? origin=Adelaide,SA&destination=Adelaide,SA &waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SAগণনা করা রুটটি পরীক্ষা করলে দেখা যাবে যে গণনাটি নিম্নলিখিত উপায়ে ওয়েপয়েন্ট ব্যবহার করে:
"waypoint_order": [ 3, 2, 0, 1 ]সতর্কতা: ওয়েপয়েন্ট অপ্টিমাইজেশন ব্যবহার করা অনুরোধের জন্য বেশি রেটে বিল করা হয়। Google Maps Platform প্রোডাক্টের জন্য কীভাবে বিল করা হয় সেই সম্পর্কে আরও জানুন। -
আপনি কোনও জায়গার আইডি পাস করলে, আপনাকে অবশ্যই এটির আগে
এর পরে কী করতে হবে
দিকনির্দেশের উদাহরণ
- ভ্রমণ মোড
- ট্রাফিক সংক্রান্ত তথ্য
- ওয়েপয়েন্ট ও ওয়েপয়েন্ট অপ্টিমাইজেশন
- রুট সম্পর্কিত বিধিনিষেধ
- ইউনিট সিস্টেম
- অঞ্চল বায়াসিং
- লোকেশন মডিফায়ার
দিকনির্দেশ সংক্রান্ত উত্তর
- DirectionsResponse
- DirectionsRoute
- DirectionsLeg
- DirectionsStep এবং DirectionsPolyline
- DirectionsTransitDetails
- DirectionsStatus
- DirectionsGeocodedWaypoint