একটি রুট ম্যাট্রিক্স পান

ইউরোপিয়ান ইকোনমিক এরিয়া (EEA) ডেভেলপার

একটি রুট ম্যাট্রিক্স হল রুট তথ্যের একটি দ্বি-মাত্রিক বিন্যাস, যেখানে সারিগুলি উত্সের সাথে মিলিত হয় ��বং কলামগুলি গন্তব্যগুলির সাথে মিলে যায়৷ উত্স এবং গন্তব্যগুলির একটি তালিকা দেওয়া, রুট ম্যাট্রিক্স ক্লাস প্রতিটি উত্স থেকে শুরু হওয়া এবং প্রতিটি গন্তব্যে শেষ হওয়া রুটের দূরত্ব এবং সময়কাল গণনা করে৷ একাধিক উত্স এবং গন্তব্যের জন্য একটি রুটের দূরত্ব এবং সময়কাল গণনা করতে রুট ম্যাট্রিক্স ক্লাস ব্যবহার করুন।

অনুরোধ সীমা

RouteMatrix.computeRouteMatrix() পদ্ধতি ঠিকানা বা স্থানের দৃষ্টান্ত ব্যবহার করে ওয়েপয়েন্টের জন্য এবং আইটেমগুলির জন্য নিম্নলিখিত অনুরোধের সীমা প্রয়োগ করে। আইটেমগুলি একটি রুট ম্যাট্রিক্সে প্রতিটি উত্স এবং গন্তব্যের মধ্যে রুট, তাই আইটেমগুলির সংখ্যা গন্তব্যের সংখ্যার উৎপত্তির সংখ্যা। উদাহরণস্বরূপ, যদি আপনার 10টি উত্স এবং 10টি গন্তব্য থাকে তবে আপনার কাছে 100টি আইটেম রয়েছে:

  • TRANSIT রুট নয় এমন রুটের জন্য আইটেমের সংখ্যা 625 এর বেশি হতে পারে না।
  • আপনি যদি একটি TRANSIT রুট নির্দিষ্ট করেন , তাহলে আইটেমের সংখ্যা 100-এর বেশি হতে পারে না৷
  • আপনি যদি TRAFFIC_AWARE_OPTIMAL নির্দিষ্ট করেন , তাহলে আইটেমের সংখ্যা 100-এর বেশি হতে পারে না।
  • আপনি যদি ঠিকানা বা স্থানের দৃষ্টান্ত ব্যবহার করে উত্স বা গন্তব্য নির্দিষ্ট করেন , আপনি এইভাবে মোট 50টি পর্যন্ত নির্দিষ্ট করেন।

রুট ম্যাট্রিক্স অনুরোধের উদাহরণ

নিম্নলিখিত উদাহরণটি একটি ComputeRouteMatrixRequest দেখায়। এই উদাহরণ নিম্নলিখিত কাজ করে:

  • দুটি উত্স এবং দুটি গন্তব্য পথপয়েন্টের একটি অ্যারে নির্দিষ্ট করে। পদ্ধতিটি প্রতিটি উত্স থেকে প্রতিটি গন্তব্যে একটি রুট গণনা করে যাতে প্রতিক্রিয়াটিতে চারটি রুট থাকে।
    অ্যারেতে, প্রথম উপাদানটি 0 এর সূচকে, দ্বিতীয়টি হল সূচক 1 এবং আরও অনেক কিছু।
  • ফিরতে ক্ষেত্র নির্দিষ্ট করুন। এই উদাহরণে, প্রতিটি রুটের জন্য durationMillis , distanceMeters এবং condition ফেরত দেওয়ার অনুরোধটি কনফিগার করুন।

টাইপস্ক্রিপ্ট

const request = {
  origins: [origin1, origin2], 
  destinations: [destinationA, destinationB],
  travelMode: 'DRIVING',
  units: google.maps.UnitSystem.METRIC,
  fields: ['distanceMeters', 'durationMillis', 'condition'],
};

জাভাস্ক্রিপ্ট

const request = {
    origins: [origin1, origin2],
    destinations: [destinationA, destinationB],
    travelMode: 'DRIVING',
    units: google.maps.UnitSystem.METRIC,
    fields: ['distanceMeters', 'durationMillis', 'condition'],
};

প্রতিক্রিয়াটিতে সমস্ত উত্স এবং গন্তব্য পথপয়েন্টের সংমিশ্রণের জন্য চারটি সম্ভাব্য রুট রয়েছে, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

"matrix": {
  "rows": [
    {
      "items": [
        {
          "condition": "ROUTE_EXISTS",
          "distanceMeters": 202587,
          "durationMillis": 10040000
        },
        {
          "condition": "ROUTE_EXISTS",
          "distanceMeters": 252734,
          "durationMillis": 12240000
        }
      ]
    },
    {
      "items": [
        {
          "condition": "ROUTE_EXISTS",
          "distanceMeters": 166135,
          "durationMillis": 6596000
        },
        {
          "condition": "ROUTE_EXISTS",
          "distanceMeters": 216282,
          "durationMillis": 8797000
        }
      ]
    }
  ]
}
    

2D অ্যারেতে সংশ্লিষ্ট RouteMatrixItem খুঁজে পেতে উত্স এবং গন্তব্য সূচক ব্যবহার করে ফলাফলে প্রতিটি রুট সনাক্ত করুন। উদাহরণ স্বরূপ, অনুরোধে সূচী 1 এবং গন্তব্য 0-এ মূল থেকে গণনা করা রুট বর্ণনাকারী RouteMatrixItem টি RouteMatrix.rows অ্যারের 2য় উপাদান এবং RouteMatrixRow.items অ্যারের 1ম উপাদানে থাকবে।

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

// Find the route for origin 'x' and destination 'y'.
const {matrix} = await RouteMatrix.computeRouteMatrix(request);
const myRouteMatrixItem = matrix.rows[x].items[y];
    

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

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

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

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

fields: ['durationMillis', 'distanceMeters', 'condition'],
    

কোন ফিল্ড মাস্ক ব্যবহার করবেন তা নির্ধারণ করুন

আপনি কোন ক্ষেত্রগুলি ব্যবহার করতে চান তা নির্ধারণ করতে এবং তাদের জন্য ফিল্ড মাস্কগুলি কীভাবে তৈরি করতে পারেন তা এখানে রয়েছে:

  1. ['*'] এর একটি ফিল্ড মাস্ক ব্যবহার করে সমস্ত ক্ষেত্রের অনুরোধ করুন
  2. আপনি যে ক্ষেত্রগুলি চান তার জন্য RouteMatrixItem ক্লাসে ক্ষেত্রগুলির শ্রেণিবিন্যাস দেখুন
  3. এই বিন্যাসটি ব্যবহার করে পূর্ববর্তী ধাপে দেখানো ক্ষেত্রগুলির অনুক্রম ব্যবহার করে আপনার ফিল্ড মাস্কগুলি তৈরি করুন :

    topLevelField[.secondLevelField][.thirdLevelField][...]

উদাহরণস্বরূপ, এই RouteMatrixItem জন্য:

  "travelAdvisory": {
    "fuelConsumptionMicroliters": 0,
    "tollInfo": {
      "estimatedPrices": [
        {
          "currencyCode": "USD",
          "units": 4,
          "nanos": 400000000
        }
      ]
    }
  },
    

আপনি যদি RouteMatrixItem এর জন্য শুধুমাত্র tollInfo ক্ষেত্রটি ফেরত দিতে চান তবে আপনার ফিল্ড মাস্কটি নিম্নরূপ:

fields: ['travelAdvisory.tollInfo']

আপনি যদি পরিবর্তে আনুমানিক জ্বালানী খরচের জন্য অনুরোধ করতে চান তবে আপনার ফিল্ড মাস্কটি নিম্নরূপ:

fields: ['travelAdvisory.fuelConsumptionMicroliters']

আপনি যদি উভয়ের জন্য অনুরোধ করতে চান তবে আপনার ফিল্ড মাস্কটি নিম্নরূপ:

fields: ['travelAdvisory.fuelConsumptionMicroliters', 'travelAdvisory.tollInfo']

এবং আপনি যদি ভ্রমণ পরামর্শের সম্পূর্ণ সেটের জন্য অনুরোধ করতে চান তবে আপনার ফিল্ড মাস্কটি নিম্নরূপ:

fields: ['travelAdvisory']