রুট প্রতিক্রিয়া পর্যালোচনা

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA) ডেভেলপাররা

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

আপনার অনুরোধ করা ফিল্ডগুলোর উপর ভিত্তি করে, আপনার উত্তরে বিভিন্ন ধরনের রুট এবং অন্যান্য ডেটা অন্তর্ভুক্ত থাকতে পারে:

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

ইনপুট অপশনগুলোর সম্পূর্ণ তালিকার জন্য, উপলব্ধ রাউট অপশন এবং অনুরোধের মূল অংশ দেখুন।

এই প্রতিক্রিয়ার মাধ্যমে, আপনি আপনার গ্রাহকদের তাদের প্রয়োজন অনুযায়ী উপযুক্ত পথ বেছে নেওয়ার জন্য প্রয়োজনীয় তথ্য সরবরাহ করতে পারেন।

ফিল্ড মাস্ক সম্পর্কে

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

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

আরও তথ্যের জন্য, ‘কোন তথ্য ফেরত দেওয়া হবে তা নির্বাচন করুন ’ দেখুন।

কপিরাইট প্রদর্শন সম্পর্কে

আপনার ব্যবহারকারীদের কাছে ফলাফল প্রদর্শন করার সময় আপনাকে অবশ্যই নিম্নলিখিত কপিরাইট বিবৃতিটি অন্তর্ভুক্ত করতে হবে:

Powered by Google, © YEAR Google

উদাহরণস্বরূপ:

Powered by Google, ©2023 Google

পথ, শাখা এবং ধাপ সম্পর্কে

Routes API থেকে প্রাপ্ত প্রতিক্রিয়া দেখার আগে, একটি রাউট যে উপাদানগুলো দিয়ে গঠিত, সে সম্পর্কে আপনার ধারণা থাকা উচিত:

পথ, পা এবং পদক্ষেপ।

আপনার উত্তরে এই রুট উপাদানগুলোর প্রত্যেকটি সম্পর্কে তথ্য থাকতে পারে:

  • রুট : উৎস ওয়েপয়েন্ট থেকে শুরু করে, যেকোনো মধ্যবর্তী ওয়েপয়েন্টের মধ্য দিয়ে, গন্তব্য ওয়েপয়েন্ট পর্যন্ত সম্পূর্ণ যাত্রাপথ। একটি রুট এক বা একাধিক লেগ নিয়ে গঠিত।

  • লেগ : একটি রুটের এক ওয়েপয়েন্ট থেকে পরবর্তী ওয়েপয়েন্ট পর্যন্ত পথ। প্রতিটি লেগ এক বা একাধিক স্বতন্ত্র ধাপ নিয়ে গঠিত।

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

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

  • স্টেপ : কোনো পথের একটি অংশের একক নির্দেশনা। একটি স্টেপ হলো কোনো পথের ক্ষুদ্রতম একক। উদাহরণস্বরূপ, একটি স্টেপ নির্দেশ করতে পারে "মেইন স্ট্রিটে বামে ঘুরুন"।

উত্তরে কী আছে

এপিআই প্রতিক্রিয়া উপস্থাপনকারী JSON অবজেক্টটিতে নিম্নলিখিত শীর্ষ-স্তরের বৈশিষ্ট্যগুলি রয়েছে:

  • routes হলো Route টাইপের এলিমেন্টের একটি অ্যারে। routes অ্যারেটিতে API দ্বারা ফেরত দেওয়া প্রতিটি রুটের জন্য একটি করে এলিমেন্ট থাকে। অ্যারেটিতে সর্বোচ্চ পাঁচটি এলিমেন্ট থাকতে পারে: ডিফল্ট রুট, পরিবেশ-বান্ধব রুট এবং সর্বোচ্চ তিনটি বিকল্প রুট।

  • geocodingResults হলো GeocodingResults টাইপের এলিমেন্টের একটি অ্যারে। অনুরোধে থাকা প্রতিটি অবস্থানের (উৎস, গন্তব্য, বা মধ্যবর্তী ওয়েপয়েন্ট) জন্য, যা আপনি একটি ঠিকানা স্ট্রিং বা একটি প্লাস কোড হিসাবে নির্দিষ্ট করেছেন, এপিআই একটি প্লেস আইডি অনুসন্ধান করে। এই অ্যারের প্রতিটি এলিমেন্টে একটি অবস্থানের সাথে সম্পর্কিত প্লেস আইডি থাকে। অনুরোধে থাকা যে অবস্থানগুলি প্লেস আইডি বা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে নির্দিষ্ট করা হয়েছে, সেগুলি অন্তর্ভুক্ত করা হয় না। আপনি যদি সমস্ত অবস্থান প্লেস আইডি বা অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক ব্যবহার করে নির্দিষ্ট করে থাকেন, তাহলে এই অ্যারেটি সরবরাহ করা হয় না।

  • fallbackInfo , যার টাইপ হলো FallbackInfo । যদি এপিআই সমস্ত ইনপুট প্রপার্টি থেকে একটি রুট গণনা করতে সক্ষম না হয়, তবে এটি গণনার জন্য একটি ভিন্ন পদ্ধতি ব্যবহার করতে পারে। যখন ফলব্যাক মোড ব্যবহার করা হয়, তখন এই ফিল্ডটিতে ফলব্যাক রেসপন্স সম্পর্কে বিস্তারিত তথ্য থাকে। অন্যথায় এই ফিল্ডটি আনসেট থাকে।

প্রতিক্রিয়াটির রূপটি হলো:

{
  // The routes array.
  "routes": [
    {
      object (Route)
    }
  ],
  // The place ID lookup results.
  "geocodingResults": [
    {
      object (GeocodedWaypoint)
    }
  ],
  // The fallback property.
  "fallbackInfo": {
    object (FallbackInfo)
  }
}

রুট অ্যারেটি পাঠোদ্ধার করুন

রেসপন্সটিতে routes অ্যারেটি থাকে, যার প্রতিটি এলিমেন্ট Route টাইপের। প্রতিটি অ্যারে এলিমেন্ট অরিজিন থেকে ডেস্টিনেশন পর্যন্ত একটি সম্পূর্ণ রুটকে উপস্থাপন করে। এপিআইটি সবসময় অন্তত একটি রুট রিটার্ন করে, যাকে ডিফল্ট রুট বলা হয়।

আপনি অতিরিক্ত রুটের জন্য অনুরোধ করতে পারেন। যদি আপনি একটি পরিবেশ-বান্ধব রুটের জন্য অনুরোধ করেন, তাহলে অ্যারেটিতে দুটি উপাদান থাকতে পারে: ডিফল্ট রুট এবং পরিবেশ-বান্ধব রুট। অথবা, রেসপন্সে সর্বোচ্চ তিনটি বিকল্প রুট যোগ করতে অনুরোধে computeAlternativeRoutes ` true সেট করুন।

অ্যারের প্রতিটি রুট routeLabels অ্যারে প্রপার্টি দ্বারা চিহ্নিত করা হয়:

মূল্য বর্ণনা
DEFAULT_ROUTE ডিফল্ট রুট শনাক্ত করে।
FUEL_EFFICIENT পরিবেশ-বান্ধব পথটি চিহ্নিত করে।
DEFAULT_ROUTE_ALTERNATE আমি একটি বিকল্প পথ নির্দেশ করি।

` legs অ্যারেটিতে রুটের প্রতিটি অংশের সংজ্ঞা থাকে। বাকি প্রোপার্টিগুলো, যেমন distanceMeters , duration এবং polyline, পুরো রুটটি সম্পর্কে তথ্য ধারণ করে:

{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "routeLabels": [string],
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  }
  "routeToken": string
}

বর্তমান ড্রাইভিং পরিস্থিতি এবং অন্যান্য কারণের জন্য, ডিফল্ট রুট এবং পরিবেশ-বান্ধব রুট একই হতে পারে। এই ক্ষেত্রে, routeLabels অ্যারেতে DEFAULT_ROUTE এবং FUEL_EFFICIENT উভয় লেবেলই থাকে।

{
  "routes": [
    {
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ],
     
    }
  ]
}

পায়ের অ্যারে বুঝুন

রেসপন্সের প্রতিটি route একটি legs অ্যারে থাকে, যেখানে legs ' অ্যারের প্রতিটি এলিমেন্টের টাইপ হলো 'RouteLeg' । অ্যারের প্রতিটি লেগ রুট বরাবর একটি ওয়েপয়েন্ট থেকে পরবর্তী ওয়েপয়েন্ট পর্যন্ত পথ নির্ধারণ করে। একটি রুটে সর্বদা অন্তত একটি লেগ থাকে।

` legs প্রপার্টিতে ` steps অ্যারের মধ্যে থাকা লেগ বরাবর প্রতিটি ধাপের সংজ্ঞা থাকে। বাকি প্রপার্টিগুলো, যেমন distanceMeters , duration এবং polyline লেগটি সম্পর্কে তথ্য ধারণ করে।

{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}

ধাপ অ্যারে বুঝুন

রেসপন্সের প্রতিটি লেগে একটি steps অ্যারে থাকে, যেখানে steps অ্যারের প্রতিটি এলিমেন্ট RouteLegStep টাইপের হয়। একটি স্টেপ ওই লেগ বরাবর একটিমাত্র ইনস্ট্রাকশনের প্রতিনিধিত্ব করে। একটি লেগে সবসময় অন্তত একটি স্টেপ থাকে।

steps অ্যারের প্রতিটি উপাদানে navigationInstruction টাইপের একটি navigationInstruction প্রপার্টি থাকে, যেটিতে ধাপের নির্দেশনা দেওয়া থাকে। উদাহরণস্বরূপ:

"navigationInstruction": {
  "maneuver": "TURN_LEFT",
  "instructions": "Turn left toward Frontage Rd"
}

instructions ধাপটি সম্পর্কে অতিরিক্ত তথ্য থাকতে পারে। উদাহরণস্বরূপ:

"navigationInstruction": {
  "maneuver": "TURN_SLIGHT_LEFT",
  "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days"
}

ধাপের অবশিষ্ট বৈশিষ্ট্যগুলো ধাপটি সম্পর্কে তথ্য বর্ণনা করে, যেমন distanceMeters , duration , এবং polyline :

{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  }
}

ধাপে ধাপে নির্দেশাবলীর ভাষা নির্দিষ্ট করুন।

এপিআইটি পছন্দের ভাষা বজায় রেখে, প্রয়োজনে ব্যবহারকারীর পাঠযোগ্য লিপিতে রূপান্তরিত করে স্থানীয় ভাষায় রুটের তথ্য ফেরত দেয়। ঠিকানার সমস্ত উপাদান একই ভাষায় ফেরত দেওয়া হয়।

  • সমর্থিত ভাষার তালিকা থেকে রাউটের ভাষা স্পষ্টভাবে নির্ধারণ করতে, কোনো অনুরোধের languageCode প্যারামিটারটি ব্যবহার করুন। গুগল প্রায়শই সমর্থিত ভাষাগুলোর তালিকা হালনাগাদ করে, তাই এই তালিকাটি সম্পূর্ণ নাও হতে পারে।

  • নির্দিষ্ট ভাষায় কোনো নাম উপলব্ধ না থাকলে, এপিআই সবচেয়ে কাছাকাছি মিল থাকা নামটি ব্যবহার করে।

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

geocodingResults অ্যারেটি বুঝুন

অনুরোধের প্রতিটি অবস্থানের (উৎস, গন্তব্য, বা মধ্যবর্তী ওয়েপয়েন্ট) জন্য, যা একটি ঠিকানা স্ট্রিং বা একটি প্লাস কোড হিসাবে নির্দিষ্ট করা হয়েছিল, এপিআই সবচেয়ে প্রাসঙ্গিক অবস্থানটি খুঁজে বের করার চেষ্টা করে যার একটি সংশ্লিষ্ট প্লেস আইডি রয়েছে। geocodingResults অ্যারের প্রতিটি উপাদানে placeID ফিল্ড থাকে, যেখানে অবস্থানটি প্লেস আইডি হিসাবে থাকে, এবং type ফিল্ড থাকে যা অবস্থানের ধরন নির্দিষ্ট করে, যেমন street_address , premise , বা airport

geocodingResults অ্যারেটিতে তিনটি ফিল্ড রয়েছে:

  • origin : যদি এটি একটি ঠিকানা স্ট্রিং বা একটি প্লাস কোড হিসাবে নির্দিষ্ট করা হয়ে থাকে, তাহলে উৎসের স্থান আইডি। অন্যথায়, এই ক্ষেত্রটি প্রতিক্রিয়া থেকে বাদ দেওয়া হয়।

  • destination : যদি এটি একটি ঠিকানা স্ট্রিং বা প্লাস কোড হিসাবে নির্দিষ্ট করা হয়ে থাকে, তাহলে গন্তব্যের স্থান আইডি। অন্যথায়, এই ক্ষেত্রটি প্রতিক্রিয়া থেকে বাদ দেওয়া হয়।

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

"geocodingResults": {
    "origin": {
        "geocoderStatus": {},
        "type": [
             enum (Type)
        ],
        "placeId": string
    },
    "destination": {
        "geocoderStatus": {},
        "type": [
            enum (Type)
        ],
        "placeId": string
    },
    "intermediates": [
        {
            "geocoderStatus": {},
            "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        },
        {
           "geocoderStatus": {},
           "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        }
    ]
}

স্থানীয় প্রতিক্রিয়া মানগুলি বুঝুন

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

উদাহরণস্বরূপ, যদি আপনি জার্মান (de) ভাষার কোড এবং ইম্পেরিয়াল একক নির্দিষ্ট করেন, তাহলে আপনি distanceMeters এর জন্য 49889.7 মানটি পাবেন, কিন্তু তার সাথে স্থানীয় ভাষায় সেই দূরত্বের পরিমাপটি জার্মান এবং ইম্পেরিয়াল এককে দেওয়া লেখাও দেখতে পাবেন, যেমন "31 Meile"।

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

{ "localized_values":
  {
    "distance": { "text": "31,0 Meile/n" },
    "duration": { "text": 38 Minuten}.
    "static_duration": { "text": 36 Minuten}.
  }
}

আপনি যদি ভাষা বা একক পদ্ধতি নির্দিষ্ট না করেন, তাহলে এপিআই নিম্নলিখিতভাবে ভাষা এবং একক অনুমান করে নেয়:

  • ComputeRoutes মেথডটি উৎস ওয়েপয়েন্ট থেকে অবস্থান এবং দূরত্বের একক অনুমান করে। তাই মার্কিন যুক্তরাষ্ট্রে একটি রাউটিং অনুরোধের জন্য, এপিআইটি en-US ভাষা এবং IMPERIAL একক অনুমান করে।
  • ComputeRouteMatrix মেথডটি ডিফল্টভাবে 'en-US' ভাষা এবং মেট্রিক একক ব্যবহার করে।