একটি রুট পান

একটি রুট হল একটি শুরুর অবস্থান, বা উত্স, এবং একটি শেষ অবস্থান, বা গন্তব্যের মধ্যে একটি নৌযান পথ। হাঁটা, বাইক চালানো বা বিভিন্ন ধরণের যানবাহনের মতো পরিবহনের বিভিন্ন মোডের জন্য আপনি একটি রুট পেতে বেছে নিতে পারেন। আপনি রুটের বিবরণ যেমন দূরত্ব, রুট নেভিগেট করার আনুমানিক সময়, প্রত্যাশিত টোল এবং রুট নেভিগেট করার জন্য ধাপে ধাপে নির্দেশাবলীর জন্য অনুরোধ করতে পারেন।

দুটি অবস্থানের মধ্যে একটি রুট অনুরোধ করতে computeRoutes() পদ্ধতিতে কল করুন। নিম্নলিখিত উদাহরণে একটি অনুরোধ সংজ্ঞায়িত করা এবং তারপর একটি রুট পেতে computeRoutes() কল করা দেখায়।

  // Import the Routes library.
  const { Route } = await google.maps.importLibrary('routes');

  // Define a computeRoutes request.
  const request = {
    origin: 'Mountain View, CA',
    destination: 'San Francisco, CA',
  };

  // Call the computeRoutes() method to get routes.
  const {routes} = await Route.computeRoutes(request);
    

ফিরে আসার জন্য ক্ষেত্রগুলি বেছে নিন

আপনি যখন একটি রুটের অনুরোধ করেন, তখন আপনাকে অবশ্যই একটি ফিল্ড মাস্ক ব্যবহার করতে হবে যাতে প্রতিক্রিয়াটি কী তথ্য ফেরত দেওয়া উচিত তা নির্দিষ্ট করতে৷ আপনি ফিল্ড মাস্কে রুট শ্রেণীর বৈশিষ্ট্যের নাম উল্লেখ করতে পারেন।

একটি ফিল্ড মাস্ক ব্যবহার করা এটিও নিশ্চিত করে যে আপনি অপ্রয়োজনীয় ডেটার অনুরোধ করবেন না, যা ফলস্বরূপ প্রতিক্রিয়া লেটেন্সিতে সহায়তা করে এবং আপনার সিস্টেমের প্রয়োজন নেই এমন তথ্য ফেরত দেওয়া এড়ায়।

ComputeRoutesRequest.fields প্রপার্টি সেট করে আপনার প্রয়োজনীয় ক্ষেত্রগুলির তালিকা নির্দিষ্ট করুন, যেমনটি নিম্নলিখিত স্নিপেটে দেখানো হয়েছে:

// Define a routes request.
const request = {
  origin: 'Mountain View, CA',
  destination: 'San Francisco, CA',
  fields: ['path'], // Request fields needed to draw polylines.
};
    

একটি রুট জন্য অবস্থান নির্দিষ্ট করুন

একটি রুট গণনা করার জন্য, আপনাকে অবশ্যই ন্যূনতম রুটের উত্স এবং রুটের গন্তব্যের অবস্থান এবং একটি ফিল্ড মাস্ক উল্লেখ করতে হবে। আপনি একটি রুট বরাবর মধ্যবর্তী ওয়েপয়েন্টগুলিও নির্দিষ্ট করতে পারেন এবং রুট বরাবর স্টপ বা পাসথ্রু পয়েন্ট যোগ করার মতো অন্যান্য কাজ করতে ওয়েপয়েন্ট ব্যবহার করতে পারেন।

ComputeRoutesRequest এ, আপনি নিম্নলিখিত যে কোনো উপায়ে একটি অবস্থান নির্দিষ্ট করতে পারেন:

আপনি একইভাবে অনুরোধে সমস্ত ওয়েপয়েন্টের জন্য অবস্থান নির্দিষ্ট করতে পারেন, অথবা আপনি তাদের মিশ্রিত করতে পারেন। উদাহরণস্বরূপ, আপনি অরিজিন ওয়েপয়েন্টের জন্য অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক ব্যবহার করতে পারেন এবং গন্তব্য ওয়েপয়েন্টের জন্য একটি স্থান বস্তু ব্যবহার করতে পারেন।

দক্ষতা এবং নির্ভুলতার জন্য, অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক বা ঠিকানা স্ট্রিংয়ের পরিবর্তে প্লেস অবজেক্ট ব্যবহার করুন। প্লেস আইডিগুলি স্বতন্ত্রভাবে স্পষ্ট এবং রাউটিং যেমন অ্যাক্সেস পয়েন্ট এবং ট্র্যাফিক ভেরিয়েবলের জন্য জিওকোডিং সুবিধা প্রদান করে। তারা নিম্নলিখিত পরিস্থিতিগুলি এড়াতে সাহায্য করে যা একটি অবস্থান নির্দিষ্ট করার অন্যান্য উপায়ের ফলে হতে পারে:

  • অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কগুলি ব্যবহার করার ফলে অবস্থানটি সেই স্থানাঙ্কগুলির নিকটবর্তী রাস্তাতে স্ন্যাপ করা হতে পারে - যা সম্পত্তির অ্যাক্সেস পয়েন্ট নাও হতে পারে, এমনকি এমন একটি রাস্তা যা দ্রুত বা নিরাপদে গন্তব্যের দিকে নিয়ে যায়।
  • ঠিকানার স্ট্রিংগুলি একটি রুট গণনা করার আগে অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করতে রুট API দ্বারা জিওকোড করা আবশ্যক। এই রূপান্তর কর্মক্ষমতা প্রভাবিত করতে পারে.

একটি স্থান বস্তু হিসাবে একটি অবস্থান নির্দিষ্ট করুন (পছন্দের)

একটি স্থান ব্যবহার করে একটি অবস্থান নির্দিষ্ট করতে, একটি নতুন Place উদাহরণ তৈরি করুন৷ নিম্নলিখিত স্নিপেটটি origin এবং destination জন্য নতুন Place দৃষ্টান্ত তৈরি করে এবং তারপর একটি ComputeRoutesRequest এ ব্যবহার করে দেখায়:

// Create a new Place for the origin.
const originPlace = new Place({
  id: 'ChIJiQHsW0m3j4ARm69rRkrUF3w', // Mountain View, CA
});

// Create a new Place for the destination.
const destinationPlace = new Place({
  id: 'ChIJIQBpAG2ahYAR_6128GcTUEo', // San Francisco, CA
});

// Define a computeRoutes request.
const request = {
  origin: originPlace,
  destination: destinationPlace,
  fields: ['path'],
};
    

অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক

অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে একটি অবস্থান নির্দিষ্ট করতে, হয় একটি নতুন google.maps.LatLngLiteral , google.maps.LatLngAltitude , বা google.maps.LatLngAltitudeLiteral উদাহরণ তৈরি করুন৷ নিম্নলিখিত স্নিপেটটি origin এবং destination জন্য নতুন google.maps.LatLngLiteral দৃষ্টান্ত তৈরি করা এবং তারপর একটি computeRoutesRequest এ সেগুলি ব্যবহার করে দেখায়:

// Create new LatLngLiteral objects for the origin and destination.
// Mountain View, CA
const originLatLng = {lat: 37.422000, lng: -122.084058};
// San Francisco, CA
const destinationLatLng = {lat: 37.774929, lng: -122.419415};

// Define a computeRoutes request.
const request = {
  origin: originLatLng,
  destination: destinationLatLng,
  fields: ['path'],
};
    

ঠিকানা স্ট্রিং

ঠিকানার স্ট্রিং হল আক্ষরিক ঠিকানা যা একটি স্ট্রিং দ্বারা উপস্থাপিত হয় (যেমন "1600 Amphitheatre Parkway, Mountain View, CA")। জিওকোডিং হল একটি ঠিকানা স্ট্রিংকে অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করার প্রক্রিয়া (যেমন অক্ষাংশ 37.423021 এবং দ্রাঘিমাংশ -122.083739)।

যখন আপনি একটি ওয়েপয়েন্টের অবস্থান হিসাবে একটি ঠিকানা স্ট্রিং পাস করেন, তখন রুট লাইব্রেরি স্ট্রিংটিকে অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে রূপান্তর করতে অভ্যন্তরীণভাবে জিওকোড করে।

নিম্নলিখিত স্নিপেটটি origin এবং destination জন্য একটি ঠিকানা স্ট্রিং সহ একটি ComputeRoutesRequest তৈরি দেখায়:

// Define a computeRoutes request.
const request = {
  origin: '1600 Amphitheatre Parkway, Mountain View, CA',
  destination: '345 Spear Street, San Francisco, CA',
  fields: ['path'],
};
    

ঠিকানার জন্য অঞ্চল সেট করুন

যদি আপনি একটি ওয়েপয়েন্টের অবস্থান হিসাবে একটি অসম্পূর্ণ ঠিকানা স্ট্রিং পাস করেন, তাহলে API ভুল জিওকোডেড অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক ব্যবহার করতে পারে। উদাহরণ স্বরূপ, আপনি একটি ড্রাইভিং রুটের গন্তব্য হিসাবে "Toledo" এবং "Madrid" কে মূল হিসেবে উল্লেখ করে একটি অনুরোধ করেন:

// Define a request with an incomplete address string.
const request = {
  origin: 'Toledo',
  destination: 'Madrid',
};
    

এই উদাহরণে, "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" এর জন্য একটি নির্দেশের অনুরোধ যাতে অঞ্চলকোড প্যারামিটার অন্তর্ভুক্ত থাকে উপযুক্ত ফলাফল প্রদান করে কারণ "Toledo" কে স্পেনের একটি শহর হিসাবে ব্যাখ্যা করা হয়:

const request = {
  origin: 'Toledo',
  destination: 'Madrid',
  region: 'es', // Specify the region code for Spain.
};
    

প্লাস কোড

অনেক লোকের একটি সুনির্দিষ্ট ঠিকানা নেই, যা তাদের জন্য ডেলিভারি গ্রহণ করা কঠিন করে তুলতে পারে। অথবা, ঠিকানা সহ লোকেরা আরও নির্দিষ্ট স্থানে বিতরণ গ্রহণ করতে পছন্দ করতে পারে, যেমন পিছনের প্রবেশদ্বার বা লোডিং ডক।

প্লাস কোডগুলি হল রাস্তার ঠিকানার মতো লোকেদের বা জায়গাগুলির জন্য যেগুলির প্রকৃত ঠিকানা নেই৷ রাস্তার নাম এবং সংখ্যা সহ ঠিকানাগুলির পরিবর্তে, প্লাস কোডগুলি অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কের উপর ভিত্তি করে এবং সংখ্যা এবং অক্ষর হিসাবে প্রদর্শিত হয়।

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" আকারে ঠিকানার শহর, রাজ্য, জিপ কোড এবং দেশের অংশের সাথে স্থানীয় কোড একত্রিত করুন।

নিম্নলিখিত স্নিপেটটি প্লাস কোড ব্যবহার করে রুটের উত্স এবং গন্তব্যের জন্য একটি ওয়েপয়েন্ট নির্দিষ্ট করে একটি রুট গণনা করা দেখায়:

const request = {
  origin: '849VCWC8+R9', // Mountain View, CA
  destination: 'CRHJ+C3 Stanford, CA 94305, USA', // Stanford, CA
  fields: ['path'],
};