কোন তথ্য ফেরত দিতে হবে তা বেছে নিন

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

আপনি একটি প্রতিক্রিয়া ক্ষেত্র মাস্ক তৈরি করে ক্ষেত্রের তালিকা নির্দিষ্ট করুন। তারপরে আপনি URL প্যারামিটার $fields বা fields ব্যবহার করে বা HTTP বা gRPC হেডার X-Goog-FieldMask ব্যবহার করে যেকোনও পদ্ধতিতে প্রতিক্রিয়া ক্ষেত্র মাস্ক পাস করুন।

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

URL প্যারামিটার সম্পর্কে আরও তথ্যের জন্য, সিস্টেম প্যারামিটার দেখুন।

একটি প্রতিক্রিয়া ক্ষেত্রের মুখোশ সংজ্ঞায়িত করুন

রেসপন্স ফিল্ড মাস্ক হল পাথের একটি কমা-বিভক্ত তালিকা, যেখানে প্রতিটি পাথ প্রতিক্রিয়া বার্তায় একটি অনন্য ক্ষেত্র নির্দিষ্ট করে। পথটি শীর্ষ-স্তরের প্রতিক্রিয়া বার্তা থেকে শুরু হয় এবং নির্দিষ্ট ক্ষেত্রের জন্য একটি বিন্দু-বিচ্ছিন্ন পথ ব্যবহার করে।

নিম্নরূপ একটি ক্ষেত্রের পথ নির্মাণ এবং নির্দিষ্ট করুন:

  1. Routes API থেকে আপনার প্রয়োজনীয় তথ্য ধারণ করে এমন ক্ষেত্র খুঁজুন । বিস্তারিত জানার জন্য, ফিল্ড রেফারেন্স দেখুন।
  2. আপনার প্রয়োজনীয় ক্ষেত্রগুলির জন্য পাথগুলি নির্ধারণ করুন এবং তাদের জন্য ফিল্ড মাস্কগুলি তৈরি করুন : বিস্তারিত জানার জন্য, আপনি কোন ফিল্ড মাস্ক ব্যবহার করতে চান তা নির্ধারণ করুন দেখুন।
  3. আপনার প্রয়োজনীয় সমস্ত ক্ষেত্রের জন্য ফিল্ড মাস্কগুলিকে একত্রিত করুন , ফিল্ড মাস্কগুলিকে কমা দিয়ে আলাদা করুন৷ উদাহরণস্বরূপ, রুট লেগের জন্য distanceMeters অনুরোধ করতে, এবং প্রতিটি রুট পায়ের ধাপের সময়কালের জন্য, একটি কমা দ্বারা আলাদা করে, কোন স্পেস ছাড়াই এগুলি উভয়ই লিখুন:

    routes.legs.distanceMeters,routes.legs.steps.duration
  4. আপনার API অনুরোধ সহ ফিল্ড মাস্ক পাঠান । উদাহরণস্বরূপ, একটি cURL অনুরোধে, আপনি -H এবং X-Goog-FieldMask সাথে ফিল্ড মাস্ক নির্দিষ্ট করবেন:

    -H X-Goog-FieldMask: routes.legs.distanceMeters,routes.legs.steps.duration
উদাহরণ এবং আরও বিশদ বিবরণের জন্য, নিম্নলিখিত বিভাগগুলি দেখুন।

ক্ষেত্র রেফারেন্স

আপনি ফিল্ড মাস্কের মাধ্যমে প্রতিক্রিয়াতে অনুরোধ করতে পারেন এমন ক্ষেত্রগুলি দেখতে, নিম্নলিখিত তালিকায় লিঙ্ক করা রুট API রেফারেন্সগুলি পড়ুন। রেফারেন্সে দেখানো হিসাবে উটের ক্ষেত্রে ক্ষেত্রগুলি নির্দিষ্ট করুন। উদাহরণস্বরূপ, routePreference

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

  • কম্পিউট রুট ফিল্ড মাস্ক
    • REST: প্রত্যাবর্তনের প্রতিক্রিয়াতে রুট অবজেক্টের ক্ষেত্রগুলি নির্দিষ্ট করে, routes. , উদাহরণস্বরূপ, routes.distanceMeters
    • gRPC: ফিরে আসার প্রতিক্রিয়াতে রুট অবজেক্টের ক্ষেত্রগুলি নির্দিষ্ট করে।
  • রুট ম্যাট্রিক্স ফিল্ড মাস্ক গণনা করুন
    • REST: ফিরে আসার জন্য রেসপন্স বডির ক্ষেত্র নির্দিষ্ট করে।
    • gRPC: ফিরে আসার প্রতিক্রিয়াতে RouteMatrixElement অবজেক্টের ক্ষেত্রগুলি নির্দিষ্ট করে।

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

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

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

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

উদাহরণস্বরূপ, একটি রুট থেকে এই আংশিক প্রতিক্রিয়ার জন্য:

"routes": [
    {
        "legs": [
            {  "steps": [
                    {"distanceMeters": 119},
                    {"distanceMeters": 41}  ]
            }
        ],
        "distanceMeters": 160
    }
]

আপনি যদি রুট লেগের জন্য শুধুমাত্র distanceMeters ক্ষেত্রটি ফেরত দিতে চান; অর্থাৎ, পূর্ববর্তী নমুনায় শেষ distanceMeters , আপনার ফিল্ড মাস্কটি নিম্নরূপ:

routes.legs.distanceMeters

আপনি যদি পরিবর্তে রুট লেগের প্রতিটি ধাপের জন্য distanceMeters ক্ষেত্রটি ফেরত দিতে চান; অর্থাৎ, পূর্ববর্তী নমুনার steps অধীনে distanceMeters , আপনার ফিল্ড মাস্ক নিম্নরূপ:

routes.legs.steps.distanceMeters

আপনি যদি উপরের ফলাফল সহ উভয়ই ফেরত দিতে চান, আপনার ফিল্ড মাস্কটি নিম্নরূপ:

routes.legs.distanceMeters,routes.legs.steps.distanceMeters

ফিল্ড মাস্ক পাথের উদাহরণ

এই বিভাগে REST এবং gRPC কলগুলিতে প্রতিক্রিয়া ফিল্ড মাস্কের অংশ হিসাবে কীভাবে একটি ফিল্ড পাথ নির্দিষ্ট করতে হয় তার আরও উদাহরণ রয়েছে।

computeRoutes কল করুন

প্রথম উদাহরণে, আপনি একটি রুট গণনা করতে computeRoutes পদ্ধতিতে একটি REST কল ব্যবহার করেন। এই উদাহরণে, হেডারে, আপনি প্রতিক্রিয়াতে রুট distanceMeters এবং duration ক্ষেত্রগুলি ফেরত দেওয়ার জন্য ফিল্ড মাস্কগুলি নির্দিষ্ট করুন৷ routes অনুসারে ক্ষেত্রের নাম উপসর্গ করতে মনে রাখবেন।

X-Goog-FieldMask: routes.distanceMeters,routes.duration

computeRouteMatrix এ REST কল করুন

একটি রুট ম্যাট্রিক্স গণনা করতে ব্যবহৃত REST computeRouteMatrix পদ্ধতির জন্য, হেডারে, originIndex , destinationIndex , এবং মূল এবং গন্তব্যের প্রতিটি সংমিশ্রণের জন্য duration রিটার্ন করতে উল্লেখ করুন:

X-Goog-FieldMask: originIndex,destinationIndex,duration

gRPC কল

gRPC-এর জন্য, প্রতিক্রিয়া ক্ষেত্র মাস্ক ধারণকারী একটি পরিবর্তনশীল সেট করুন। আপনি তারপর অনুরোধ যে পরিবর্তনশীল পাস করতে পারেন.

const (
  fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline"
)

ক্ষেত্র পাথ বিবেচনা

শুধুমাত্র আপনার প্রয়োজনীয় ক্ষেত্রগুলি ফেরত দেওয়ার জন্য প্রতিক্রিয়াতে আপনার প্রয়োজনীয় ক্ষেত্রগুলি অন্তর্ভুক্ত করুন:

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

ফিল্ড মাস্ক তৈরির বিষয়ে আরও বিস্তারিত জানার জন্য, field_mask.proto দেখুন।

একটি রুট টোকেন অনুরোধ করুন

অনুরোধ করতে যে রুট এপিআই জেনারেট করা রুটের জন্য রুট টোকেন ফেরত দেয়, এই ধাপগুলি অনুসরণ করুন:

  1. একটি রুট টোকেন ফেরত দিতে প্রয়োজনীয় নিম্নলিখিত প্যারামিটারগুলি সেট করুন:
    • DRIVE travelMode সেট করুন।
    • TRAFFIC_AWARE বা TRAFFIC_AWARE_OPTIMALroutingPreference সেট করুন।
  2. আপনার রুট ওয়েপয়েন্টগুলির কোনওটিই ওয়েপয়েন্টগুলির via নয় তা পরীক্ষা করুন৷
  3. একটি রুট টোকেন ফেরত দিতে routes.routeToken ফিল্ড মাস্ক নির্দিষ্ট করুন:
    X-Goog-FieldMask: routes.routeToken

আপনি নেভিগেশন SDK-এ আপনার পরিকল্পিত রুটের জন্য রুট টোকেন ব্যবহার করতে পারেন। আরও বিশদ বিবরণের জন্য, একটি রুট পরিকল্পনা করুন (Android) বা একটি রুট পরিকল্পনা করুন (iOS) দেখুন।

রুট টোকেন উদাহরণ

রুটের সময়কাল, দূরত্ব এবং রুট পলিলাইন সহ রুট টোকেন অনুরোধ করতে ফিল্ড মাস্ক ব্যবহার করে একটি একক উৎপত্তি, একক-গন্তব্য রুটের জন্য একটি উদাহরণ cURL অনুরোধের বডি রয়েছে:

curl -X POST -d
{"origin":{
    "location": {
        "latLng":{
            "latitude":  -37.8167,
            "longitude": 144.9619
        }
    }
},
"destination":{
    "location": {
        "latLng":{
            "latitude":-37.8155,
            "longitude": 144.9663
        }
    }
},
"routingPreference":"TRAFFIC_AWARE",
"travelMode":"DRIVE"
}
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H X-Goog-FieldMask: routes.routeToken,routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
'https://routes.googleapis.com/directions/v2:computeRoutes'

আরো বিস্তারিত জানার জন্য, Compute Routes API রেফারেন্স দেখুন।