দূরত্ব ম্যাট্রিক্স পরিষেবা

ওভারভিউ

Google-এর দূরত্ব ম্যাট্রিক্স পরিষেবা ভ্রমণের একটি নির্দিষ্ট মোড ব্যবহার করে একাধিক উত্স এবং গন্তব্যের মধ্যে ভ্রমণের দূরত্ব এবং ভ্রমণের সময়কাল গণনা করে।

এই পরিষেবাটি রুটের বিস্তারিত তথ্য ফেরত দেয় না। পলিলাইন এবং পাঠ্য দিকনির্দেশ সহ রুটের তথ্য, কাঙ্খিত একক উত্স এবং গন্তব্য দিকনির্দেশ পরিষেবাতে পাস করে প্রাপ্ত করা যেতে পারে৷

শুরু হচ্ছে

Maps JavaScript API-এ দূরত্ব ম্যাট্রিক্স পরিষেবা ব্যবহার করার আগে, প্রথমে নিশ্চিত করুন যে Google ক্লাউড কনসোলে আপনি Maps JavaScript API-এর জন্য সেট আপ করেছেন একই প্রকল্পে দূরত্ব ম্যাট্রিক্স API সক্ষম করা আছে।

আপনার সক্রিয় API এর তালিকা দেখতে:

  1. গুগল ক্লাউড কনসোলে যান।
  2. একটি প্রকল্প নির্বাচন করুন বোতামে ক্লিক করুন, তারপরে আপনি মানচিত্র জাভাস্ক্রিপ্ট API-এর জন্য সেট আপ করা একই প্রকল্প নির্বাচন করুন এবং খুলুন ক্লিক করুন।
  3. ড্যাশবোর্ডে API-এর তালিকা থেকে, দূরত্ব ম্যাট্রিক্স API সন্ধান করুন।
  4. আপনি যদি তালিকায় API দেখতে পান, আপনি সম্পূর্ণ প্রস্তুত। API তালিকাভুক্ত না হলে, এটি সক্ষম করুন:
    1. পৃষ্ঠার শীর্ষে, লাইব্রেরি ট্যাব প্রদর্শন করতে API ENABLE নির্বাচন করুন। বিকল্পভাবে, বাম পাশের মেনু থেকে, লাইব্রেরি নির্বাচন করুন।
    2. Distance Matrix API- এর জন্য অনুসন্ধান করুন, তারপর ফলাফল তালিকা থেকে এটি নির্বাচন করুন।
    3. ENABLE নির্বাচন করুন। প্রক্রিয়া শেষ হলে, ডিসটেন্স ম্যাট্রিক্স API ড্যাশবোর্ডে API-এর তালিকায় উপস্থিত হয়।

মূল্য এবং নীতি

মূল্য নির্ধারণ

16 জুলাই, 2018 থেকে কার্যকরী, মানচিত্র, রুট এবং স্থানগুলির জন্য একটি নতুন মূল্য-প্রদানের পরিকল্পনা কার্যকর হয়েছে৷ আপনার জাভাস্ক্রিপ্ট ডিসটেন্স ম্যাট্রিক্স পরিষেবা ব্যবহারের জন্য নতুন মূল্য এবং ব্যবহারের সীমা সম্পর্কে আরও জানতে, দূরত্ব ম্যাট্রিক্স API-এর ব্যবহার এবং বিলিং দেখুন।

দ্রষ্টব্য : দূরত্ব ম্যাট্রিক্স পরিষেবাতে পাঠানো প্রতিটি প্রশ্ন অনুমোদিত উপাদানের সংখ্যা দ্বারা সীমাবদ্ধ, যেখানে উত্সের সংখ্যা গন্তব্যের সংখ্যা উপাদানের সংখ্যা নির্ধারণ করে।

নীতিমালা

দূরত্ব ম্যাট্রিক্স পরিষেবার ব্যবহার অবশ্যই দূরত্ব ম্যাট্রিক্স API-এর জন্য বর্ণিত নীতি অনুসারে হতে হবে।

দূরত্ব ম্যাট্রিক্স অনুরোধ

দূরত্ব ম্যাট্রিক্স পরিষেবা অ্যাক্সেস করা অ্যাসিঙ্ক্রোনাস, যেহেতু Google মানচিত্র API-কে একটি বহিরাগত সার্ভারে কল করতে হবে। সেই কারণে, ফলাফলগুলি প্রক্রিয়া করার জন্য, অনুরোধ সম্পূর্ণ হওয়ার পরে কার্যকর করার জন্য আপনাকে একটি কলব্যাক পদ্ধতি পাস করতে হবে।

আপনি google.maps.DistanceMatrixService কনস্ট্রাক্টর অবজেক্টের মাধ্যমে আপনার কোডের মধ্যে দূরত্ব ম্যাট্রিক্স পরিষেবা অ্যাক্সেস করেন। DistanceMatrixService.getDistanceMatrix() পদ্ধতিটি দূরত্ব ম্যাট্রিক্স পরিষেবার কাছে একটি অনুরোধ শুরু করে, এটিকে একটি DistanceMatrixRequest অবজেক্টকে আক্ষরিকভাবে পাস করে যার মধ্যে উৎপত্তি, গন্তব্য এবং ভ্রমণ মোড রয়েছে, সেইসাথে প্রতিক্রিয়া প্রাপ্তির পরে চালানোর জন্য একটি কলব্যাক পদ্ধতি।

var origin1 = new google.maps.LatLng(55.930385, -3.118425);
var origin2 = 'Greenwich, England';
var destinationA = 'Stockholm, Sweden';
var destinationB = new google.maps.LatLng(50.087692, 14.421150);

var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
  {
    origins: [origin1, origin2],
    destinations: [destinationA, destinationB],
    travelMode: 'DRIVING',
    transitOptions: TransitOptions,
    drivingOptions: DrivingOptions,
    unitSystem: UnitSystem,
    avoidHighways: Boolean,
    avoidTolls: Boolean,
  }, callback);

function callback(response, status) {
  // See Parsing the Results for
  // the basics of a callback function.
}

উদাহরণ দেখুন

DistanceMatrixRequest এ নিম্নলিখিত ক্ষেত্রগুলি রয়েছে:

  • origins (প্রয়োজনীয়) — এক বা একাধিক ঠিকানার স্ট্রিং, google.maps.LatLng অবজেক্ট বা স্থানের বস্তু যা থেকে দূরত্ব এবং সময় গণনা করা যায় এমন একটি অ্যারে।
  • destinations (প্রয়োজনীয়) — এক বা একাধিক ঠিকানার স্ট্রিং, google.maps.LatLng অবজেক্ট বা স্থানের বস্তু যেখানে দূরত্ব এবং সময় গণনা করা যায় এমন একটি অ্যারে।
  • travelMode ( ঐচ্ছিক ) — দিকনির্দেশ গণনা করার সময় ব্যবহার করার জন্য পরিবহনের মোড। ভ্রমণ মোডের বিভাগটি দেখুন।
  • transitOptions ( ঐচ্ছিক ) — বিকল্পগুলি যা শুধুমাত্র অনুরোধের ক্ষেত্রে প্রযোজ্য যেখানে travelMode TRANSIT হয়। বৈধ মানগুলি ট্রানজিট বিকল্পগুলির বিভাগে বর্ণিত হয়েছে৷
  • drivingOptions ( ঐচ্ছিক ) মানগুলি নির্দিষ্ট করে যা শুধুমাত্র অনুরোধের ক্ষেত্রে প্রযোজ্য যেখানে travelMode DRIVING করে। বৈধ মানগুলি ড্রাইভিং বিকল্পগুলির বিভাগে বর্ণিত হয়েছে৷
  • unitSystem ( ঐচ্ছিক ) — দূরত্ব প্রদর্শন করার সময় ব্যবহার করা ইউনিট সিস্টেম। গৃহীত মান হল:
    • google.maps.UnitSystem.METRIC (ডিফল্ট)
    • google.maps.UnitSystem.IMPERIAL
  • avoidHighways ( ঐচ্ছিক ) — true হলে, যেখানে সম্ভব হাইওয়ে এড়ানোর জন্য উৎপত্তিস্থল এবং গন্তব্যের মধ্যে রুট গণনা করা হবে।
  • avoidTolls ( ঐচ্ছিক ) — true হলে, পয়েন্টের মধ্যে দিকনির্দেশগুলি অ-টোল রুট ব্যবহার করে গণনা করা হবে, যেখানেই সম্ভব।

ভ্রমণ মোড

সময় এবং দূরত্ব গণনা করার সময়, আপনি কোন পরিবহন মোড ব্যবহার করবেন তা নির্দিষ্ট করতে পারেন। নিম্নলিখিত ভ্রমণ মোডগুলি বর্তমানে সমর্থিত:

  • BICYCLING বাইসাইকেল পাথ এবং পছন্দের রাস্তার মাধ্যমে সাইকেল চালানোর দিকনির্দেশের অনুরোধ করে (বর্তমানে শুধুমাত্র মার্কিন যুক্তরাষ্ট্র এবং কানাডার কিছু শহরে উপলব্ধ)।
  • DRIVING (ডিফল্ট) রাস্তা নেটওয়ার্ক ব্যবহার করে স্ট্যান্ডার্ড ড্রাইভিং দিক নির্দেশ করে।
  • TRANSIT পাবলিক ট্রানজিট রুটের মাধ্যমে দিকনির্দেশের অনুরোধ করে। অনুরোধে একটি API কী অন্তর্ভুক্ত থাকলেই এই বিকল্পটি নির্দিষ্ট করা যেতে পারে। এই ধরনের অনুরোধে উপলব্ধ বিকল্পগুলির জন্য ট্রানজিট বিকল্পগুলির বিভাগটি দেখুন।
  • WALKING দিকনির্দেশের অনুরোধ করে।

ট্রানজিট বিকল্প

ট্রানজিট পরিষেবা বর্তমানে 'পরীক্ষামূলক'। এই পর্যায়ে, আমরা API অপব্যবহার প্রতিরোধ করতে হার সীমা বাস্তবায়ন করব। আমরা অবশেষে API-এর ন্যায্য ব্যবহারের উপর ভিত্তি করে প্রতি মানচিত্র লোডের মোট প্রশ্নের উপর একটি ক্যাপ প্রয়োগ করব।

দূরত্ব ম্যাট্রিক্স অনুরোধের জন্য উপলব্ধ বিকল্পগুলি ভ্রমণ মোড জুড়ে পরিবর্তিত হয়। ট্রানজিট অনুরোধে, avoidHighways এবং avoidTolls বিকল্পগুলি উপেক্ষা করা হয়। আপনি TransitOptions অবজেক্ট আক্ষরিক মাধ্যমে ট্রানজিট-নির্দিষ্ট রাউটিং বিকল্পগুলি নির্দিষ্ট করতে পারেন।

ট্রানজিট অনুরোধ সময় সংবেদনশীল. গণনা শুধুমাত্র ভবিষ্যতে সময়ের জন্য ফেরত দেওয়া হবে.

TransitOptions অবজেক্ট আক্ষরিক নিম্নলিখিত ক্ষেত্র রয়েছে:

{
  arrivalTime: Date,
  departureTime: Date,
  modes: [transitMode1, transitMode2]
  routingPreference: TransitRoutePreference
}

এই ক্ষেত্রগুলি নীচে ব্যাখ্যা করা হয়েছে:

  • arrivalTime ( ঐচ্ছিক ) একটি Date অবজেক্ট হিসাবে আগমনের পছন্দসই সময় নির্দিষ্ট করে। আগমনের সময় নির্দিষ্ট করা থাকলে, প্রস্থানের সময় উপেক্ষা করা হয়।
  • departureTime ( ঐচ্ছিক ) Date অবজেক্ট হিসাবে প্রস্থানের পছন্দসই সময় নির্দিষ্ট করে। arrivalTime সময় নির্দিষ্ট করা থাকলে departureTime উপেক্ষা করা হবে। ডিফল্ট এখন (অর্থাৎ, বর্তমান সময়) যদি departureTime বা arrivalTime এর জন্য কোনো মান নির্দিষ্ট করা না থাকে।
  • modes ( ঐচ্ছিক ) হল একটি অ্যারে যাতে এক বা একাধিক TransitMode অবজেক্ট লিটারেল থাকে। অনুরোধে একটি API কী অন্তর্ভুক্ত থাকলেই এই ক্ষেত্রটি অন্তর্ভুক্ত করা যেতে পারে। প্রতিটি TransitMode ট্রানজিটের একটি পছন্দের মোড নির্দিষ্ট করে। নিম্নলিখিত মান অনুমোদিত:
    • BUS নির্দেশ করে যে গণনা করা রুটটি বাসে ভ্রমণ করতে পছন্দ করবে।
    • RAIL নির্দেশ করে যে গণনা করা রুটে ট্রেন, ট্রাম, হালকা রেল এবং পাতাল রেলে ভ্রমণ করা উচিত।
    • SUBWAY নির্দেশ করে যে গণনা করা রুটটি পাতাল রেলে ভ্রমণ করতে পছন্দ করবে।
    • TRAIN নির্দেশ করে যে গণনা করা রুটে ট্রেনে ভ্রমণ করা উচিত।
    • TRAM ইঙ্গিত দেয় যে গণনা করা রুটটি ট্রাম এবং হালকা রেল দ্বারা ভ্রমণ পছন্দ করবে৷
  • routingPreference ( ঐচ্ছিক ) ট্রানজিট রুটের জন্য পছন্দগুলি নির্দিষ্ট করে। এই বিকল্পটি ব্যবহার করে, আপনি API দ্বারা নির্বাচিত ডিফল্ট সেরা রুটটি গ্রহণ করার পরিবর্তে ফেরত দেওয়া বিকল্পগুলিকে পক্ষপাতিত্ব করতে পারেন৷ অনুরোধে একটি API কী অন্তর্ভুক্ত থাকলেই এই ক্ষেত্রটি নির্দিষ্ট করা যেতে পারে। নিম্নলিখিত মান অনুমোদিত:
    • FEWER_TRANSFERS নির্দেশ করে যে গণনা করা রুটটি সীমিত সংখ্যক স্থানান্তর পছন্দ করবে।
    • LESS_WALKING নির্দেশ করে যে গণনা করা রুটটি সীমিত পরিমাণে হাঁটা পছন্দ করে।

ড্রাইভিং বিকল্প

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

drivingOptions অবজেক্টে নিম্নলিখিত ক্ষেত্রগুলি রয়েছে:

{
  departureTime: Date,
  trafficModel: TrafficModel
}

এই ক্ষেত্রগুলি নীচে ব্যাখ্যা করা হয়েছে:

  • departureTime ( drivingOptions অবজেক্টটি বৈধ হওয়ার জন্য প্রয়োজনীয় ) একটি Date অবজেক্ট হিসাবে প্রস্থানের পছন্দসই সময় নির্দিষ্ট করে। মান বর্তমান সময় বা ভবিষ্যতে কিছু সময় সেট করা আবশ্যক. এটা অতীত হতে পারে না। (এপিআই সমস্ত তারিখগুলিকে ইউটিসিতে রূপান্তর করে সময় অঞ্চল জুড়ে সামঞ্জস্যপূর্ণ পরিচালনা নিশ্চিত করতে।) আপনি যদি অনুরোধে departureTime অন্তর্ভুক্ত করেন, তবে এপিআই সেই সময়ে প্রত্যাশিত ট্র্যাফিক অবস্থার প্রেক্ষিতে সেরা রুটটি ফেরত দেয় এবং ট্র্যাফিকের পূর্বাভাসিত সময় অন্তর্ভুক্ত করে ( duration_in_traffic ) প্রতিক্রিয়ায়। আপনি যদি প্রস্থানের সময় নির্দিষ্ট না করেন (অর্থাৎ, যদি অনুরোধে drivingOptions অন্তর্ভুক্ত না থাকে), তবে ফেরত আসা রুটটি ট্রাফিক পরিস্থিতি বিবেচনায় না নিয়েই একটি সাধারণ রুট।
  • trafficModel ( ঐচ্ছিক ) ট্র্যাফিকের সময় গণনা করার সময় ব্যবহার করার অনুমানগুলি নির্দিষ্ট করে৷ এই সেটিংটি প্রতিক্রিয়াতে duration_in_traffic ক্ষেত্রে প্রত্যাবর্তিত মানকে প্রভাবিত করে, যেটিতে ঐতিহাসিক গড়ের উপর ভিত্তি করে ট্রাফিকের পূর্বাভাসিত সময় রয়েছে। best_guess ডিফল্ট। নিম্নলিখিত মান অনুমোদিত:
    • bestguess (ডিফল্ট) নির্দেশ করে যে প্রত্যাবর্তিত duration_in_traffic হতে হবে ভ্রমণ সময়ের সর্বোত্তম অনুমান যা ঐতিহাসিক ট্রাফিক অবস্থা এবং লাইভ ট্রাফিক উভয় সম্পর্কেই জানা যায়। লাইভ ট্র্যাফিক আরও গুরুত্বপূর্ণ হয়ে ওঠে এখন departureTime যতই কাছাকাছি।
    • pessimistic ইঙ্গিত দেয় যে ফেরত আসা duration_in_traffic বেশিরভাগ দিনে প্রকৃত ভ্রমণ সময়ের চেয়ে বেশি হওয়া উচিত, যদিও মাঝে মাঝে বিশেষ করে খারাপ ট্র্যাফিক অবস্থার সাথে এই মানটি অতিক্রম করতে পারে।
    • optimistic ইঙ্গিত করে যে ফিরে আসা duration_in_traffic বেশিরভাগ দিনে প্রকৃত ভ্রমণ সময়ের চেয়ে কম হওয়া উচিত, যদিও মাঝে মাঝে বিশেষ করে ভাল ট্রাফিক অবস্থার সাথে এই মানের থেকে দ্রুততর হতে পারে।

নিচে ড্রাইভিং রুটের জন্য DistanceMatrixRequest একটি নমুনা রয়েছে, যার মধ্যে প্রস্থানের সময় এবং ট্রাফিক মডেল রয়েছে:

{
  origins: [{lat: 55.93, lng: -3.118}, 'Greenwich, England'],
  destinations: ['Stockholm, Sweden', {lat: 50.087, lng: 14.421}],
  travelMode: 'DRIVING',
  drivingOptions: {
    departureTime: new Date(Date.now() + N),  // for the time N milliseconds from now.
    trafficModel: 'optimistic'
  }
}

দূরত্ব ম্যাট্রিক্স প্রতিক্রিয়া

দূরত্ব ম্যাট্রিক্স পরিষেবাতে একটি সফল কল একটি DistanceMatrixResponse অবজেক্ট এবং একটি DistanceMatrixStatus অবজেক্ট প্রদান করে। এগুলি আপনার অনুরোধে নির্দিষ্ট করা কলব্যাক ফাংশনে প্রেরণ করা হয়।

DistanceMatrixResponse অবজেক্টে প্রতিটি উত্স/গন্তব্য জোড়ার দূরত্ব এবং সময়কালের তথ্য রয়েছে যার জন্য একটি রুট গণনা করা যেতে পারে।

{
  "originAddresses": [ "Greenwich, Greater London, UK", "13 Great Carleton Square, Edinburgh, City of Edinburgh EH16 4, UK" ],
  "destinationAddresses": [ "Stockholm County, Sweden", "Dlouhá 609/2, 110 00 Praha-Staré Město, Česká republika" ],
  "rows": [ {
    "elements": [ {
      "status": "OK",
      "duration": {
        "value": 70778,
        "text": "19 hours 40 mins"
      },
      "distance": {
        "value": 1887508,
        "text": "1173 mi"
      }
    }, {
      "status": "OK",
      "duration": {
        "value": 44476,
        "text": "12 hours 21 mins"
      },
      "distance": {
        "value": 1262780,
        "text": "785 mi"
      }
    } ]
  }, {
    "elements": [ {
      "status": "OK",
      "duration": {
        "value": 96000,
        "text": "1 day 3 hours"
      },
      "distance": {
        "value": 2566737,
        "text": "1595 mi"
      }
    }, {
      "status": "OK",
      "duration": {
        "value": 69698,
        "text": "19 hours 22 mins"
      },
      "distance": {
        "value": 1942009,
        "text": "1207 mi"
      }
    } ]
  } ]
}

দূরত্ব ম্যাট্রিক্স ফলাফল

একটি প্রতিক্রিয়া সমর্থিত ক্ষেত্র নীচে ব্যাখ্যা করা হয়েছে.

  • originAddresses হল দূরত্ব ম্যাট্রিক্স অনুরোধের origins ফিল্ডে পাস করা অবস্থানগুলি ধারণকারী একটি অ্যারে। ঠিকানাগুলি জিওকোডার দ্বারা ফর্ম্যাট করা হয় বলে ফেরত দেওয়া হয়।
  • destinationAddresses হল একটি বিন্যাস যেখানে destinations ক্ষেত্রের মধ্যে পাস করা অবস্থানগুলি, জিওকোডার দ্বারা প্রত্যাবর্তিত বিন্যাসে।
  • rows হল DistanceMatrixResponseRow অবজেক্টের একটি অ্যারে, যার প্রতিটি সারি একটি মূলের সাথে সম্পর্কিত।
  • elements rows সন্তান, এবং প্রতিটি গন্তব্যের সাথে সারির উত্সের একটি জোড়ার সাথে মিলে যায়৷ এগুলিতে প্রতিটি উত্স/গন্তব্য জোড়ার জন্য স্থিতি, সময়কাল, দূরত্ব এবং ভাড়ার তথ্য (যদি পাওয়া যায়) থাকে।
  • প্রতিটি element নিম্নলিখিত ক্ষেত্র ধারণ করে:
    • status : সম্ভাব্য স্ট্যাটাস কোডের তালিকার জন্য স্ট্যাটাস কোড দেখুন।
    • duration : এই পথটি ভ্রমণ করতে যে সময় লাগে, সেকেন্ডে ( value ক্ষেত্র) এবং text হিসাবে প্রকাশ করা হয়। পাঠ্য মান অনুরোধে নির্দিষ্ট unitSystem অনুসারে ফর্ম্যাট করা হয় (বা মেট্রিকে, যদি কোন পছন্দ সরবরাহ করা না হয়)।
    • duration_in_traffic : বর্তমান ট্রাফিক পরিস্থিতি বিবেচনা করে এই রুটে ভ্রমণ করতে যে সময় লাগে, সেকেন্ডে ( value ক্ষেত্র) এবং text হিসাবে প্রকাশ করা হয়। পাঠ্য মান অনুরোধে নির্দিষ্ট unitSystem অনুসারে ফর্ম্যাট করা হয় (বা মেট্রিকে, যদি কোন পছন্দ সরবরাহ করা না হয়)। duration_in_traffic শুধুমাত্র Google Maps প্ল্যাটফর্ম প্রিমিয়াম প্ল্যান গ্রাহকদের কাছে ফেরত দেওয়া হয় যেখানে ট্রাফিক ডেটা উপলব্ধ থাকে, mode driving এ সেট করা হয় এবং অনুরোধে distanceMatrixOptions ক্ষেত্রের অংশ হিসাবে departureTime অন্তর্ভুক্ত করা হয়।
    • distance : এই রুটের মোট দূরত্ব, মিটার ( value ) এবং text হিসাবে প্রকাশ করা হয়। পাঠ্য মান অনুরোধে নির্দিষ্ট unitSystem অনুসারে ফর্ম্যাট করা হয় (বা মেট্রিকে, যদি কোন পছন্দ সরবরাহ করা না হয়)।
    • fare : এই রুটে মোট ভাড়া (অর্থাৎ, মোট টিকিটের খরচ) রয়েছে। এই সম্পত্তি শুধুমাত্র ট্রানজিট অনুরোধের জন্য এবং শুধুমাত্র ট্রানজিট প্রদানকারীদের জন্য ফেরত দেওয়া হয় যেখানে ভাড়ার তথ্য পাওয়া যায়। তথ্য অন্তর্ভুক্ত:
      • currency : একটি ISO 4217 মুদ্রা কোড যে মুদ্রায় পরিমাণ প্রকাশ করা হয়েছে তা নির্দেশ করে।
      • value : উপরে উল্লিখিত মুদ্রায় মোট ভাড়ার পরিমাণ।

স্ট্যাটাস কোড

ডিসট্যান্স ম্যাট্রিক্স প্রতিক্রিয়ায় সামগ্রিকভাবে প্রতিক্রিয়ার জন্য একটি স্ট্যাটাস কোড, সেইসাথে প্রতিটি উপাদানের জন্য একটি স্ট্যাটাস অন্তর্ভুক্ত থাকে।

প্রতিক্রিয়া স্থিতি কোড

DistanceMatrixResponse এ প্রযোজ্য স্ট্যাটাস কোডগুলি DistanceMatrixStatus অবজেক্টে পাস করা হয় এবং এতে অন্তর্ভুক্ত থাকে:

  • OK - অনুরোধটি বৈধ। উৎপত্তিস্থল এবং গন্তব্যগুলির মধ্যে কোনও রুট না পাওয়া গেলেও এই স্থিতি ফেরত দেওয়া যেতে পারে৷ উপাদান-স্তরের স্থিতি তথ্যের জন্য এলিমেন্ট স্ট্যাটাস কোডগুলি দেখুন।
  • INVALID_REQUEST — প্রদত্ত অনুরোধটি অবৈধ ছিল৷ এটি প্রায়ই প্রয়োজনীয় ক্ষেত্র অনুপস্থিত কারণে হয়. উপরে সমর্থিত ক্ষেত্রগুলির তালিকা দেখুন।
  • MAX_ELEMENTS_EXCEEDED — উৎপত্তি এবং গন্তব্যের পণ্য প্রতি-কোয়েরি সীমা ছাড়িয়ে গেছে।
  • MAX_DIMENSIONS_EXCEEDED — আপনার অনুরোধে 25টিরও বেশি উত্স, বা 25টিরও বেশি গন্তব্য রয়েছে৷
  • OVER_QUERY_LIMIT — আপনার অ্যাপ্লিকেশনটি অনুমোদিত সময়ের মধ্যে অনেকগুলি উপাদানের জন্য অনুরোধ করেছে৷ আপনি যদি যুক্তিসঙ্গত সময়ের পরে আবার চেষ্টা করেন তবে অনুরোধটি সফল হওয়া উচিত।
  • REQUEST_DENIED — পরিষেবাটি আপনার ওয়েব পৃষ্ঠার দ্বারা দূরত্ব ম্যাট্রিক্স পরিষেবার ব্যবহার অস্বীকার করেছে৷
  • UNKNOWN_ERROR — সার্ভারের ত্রুটির কারণে একটি দূরত্ব ম্যাট্রিক্স অনুরোধ প্রক্রিয়া করা যায়নি। আপনি আবার চেষ্টা করলে অনুরোধ সফল হতে পারে।

উপাদান স্থিতি কোড

নিম্নলিখিত স্ট্যাটাস কোডগুলি নির্দিষ্ট DistanceMatrixElement অবজেক্টে প্রযোজ্য:

  • NOT_FOUND — এই জুটির উৎপত্তি এবং/অথবা গন্তব্য জিওকোড করা যায়নি।
  • OK — প্রতিক্রিয়াটিতে একটি বৈধ ফলাফল রয়েছে।
  • ZERO_RESULTS — উৎপত্তিস্থল এবং গন্তব্যের মধ্যে কোনো রুট খুঁজে পাওয়া যায়নি।

ফলাফল পার্সিং

DistanceMatrixResponse অবজেক্টে অনুরোধে পাস করা প্রতিটি উৎসের জন্য একটি row রয়েছে। প্রতিটি সারিতে প্রদত্ত গন্তব্য(গুলি) এর সাথে সেই উত্সের প্রতিটি জোড়ার জন্য একটি element ক্ষেত্র রয়েছে।

function callback(response, status) {
  if (status == 'OK') {
    var origins = response.originAddresses;
    var destinations = response.destinationAddresses;

    for (var i = 0; i < origins.length; i++) {
      var results = response.rows[i].elements;
      for (var j = 0; j < results.length; j++) {
        var element = results[j];
        var distance = element.distance.text;
        var duration = element.duration.text;
        var from = origins[i];
        var to = destinations[j];
      }
    }
  }
}