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

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

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

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

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

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

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

নিম্নরূপ একটি ক্ষেত্রের পথ তৈরি করুন:

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

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

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

আপনি কোন ফিল্ড মাস্ক ব্যবহার করতে চান তা আপনি কীভাবে নির্ধারণ করতে পারেন তা এখানে:

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

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

 "routes": [
  {
    "legs": [
    {
      "distanceMeters": 12886,
    }
...
]}]

আপনি যদি শুধুমাত্র distanceMeters ক্ষেত্রটি ফেরত দিতে চান তবে আপনার ক্ষেত্রের মুখোশ হল:

routes.legs.distanceMeters

আরেকটি উদাহরণ: প্রতিক্রিয়ায় legs নিচে সবকিছু ফিরিয়ে দিতে, আপনার ফিল্ড মাস্ক হল:

routes.legs

একটি ক্ষেত্রের পথ নির্দিষ্ট করুন

এই বিভাগে একটি প্রতিক্রিয়া ক্ষেত্রের মুখোশের অংশ হিসাবে একটি ক্ষেত্রের পথ নির্দিষ্ট করার উদাহরণ রয়েছে৷

computeRoutes কল করুন

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

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

computeRouteMatrix এ REST কল করুন

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

-H X-Goog-FieldMask: originIndex,destinationIndex,duration

gRPC কল

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

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

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

আপনার প্রতিক্রিয়ার জন্য প্রয়োজনীয় ক্ষেত্রগুলি অন্তর্ভুক্ত করুন। আপনার প্রয়োজনীয় ক্ষেত্রগুলি ফিরিয়ে দেওয়া হচ্ছে:

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

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

রুট API জেনারেট করা রুটের জন্য রুট টোকেন ফেরত দেওয়ার অনুরোধ করতে, একটি রুট টোকেন ফেরত দেওয়ার প্রয়োজনীয়তাগুলি অনুসরণ করুন এবং তারপর টোকেন অনুরোধ করতে routes.route_token ফিল্ড মাস্ক ব্যবহার করুন:

  1. DRIVING -এ travel_mode সেট করুন।
  2. TRAFFIC_AWARE বা TRAFFIC_AWARE_OPTIMALrouting_preference সেট করুন।
  3. আপনার রুট ওয়েপয়েন্টগুলির কোনওটিই ওয়েপয়েন্টগুলির via নয় তা পরীক্ষা করুন৷
  4. রুট টোকেন ফিল্ড মাস্ক নির্দিষ্ট করুন:
    -H X-Goog-FieldMask: routes.route_token

আপনি নেভিগেশন 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.route_token,routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
'https://routes.googleapis.com/directions/v2:computeRoutes'

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