ফেরত দেওয়ার জন্য ফিল্ড বেছে নিন

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

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

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

একটি রেসপন্স ফিল্ড মাস্ক নির্ধারণ করুন

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

URL প্যারামিটার $fields বা fields অথবা HTTP বা gRPC হেডার X-Goog-FieldMask ব্যবহার করে কোনও অনুরোধে রেসপন্স ফিল্ড মাস্ক পাস করুন।

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

ফরওয়ার্ড জিওকোডিং অনুরোধের সম্পূর্ণ উত্তর নিচে দেখানো হয়েছে:

{
  "results": [
    {
      "place": "//places.googleapis.com/places/ChIJF4Yf2Ry7j4AR__1AkytDyAE",
      "placeId": "ChIJF4Yf2Ry7j4AR__1AkytDyAE",
      "location": {
        "latitude": 37.422010799999995,
        "longitude": -122.08474779999999
      },
      "granularity": "ROOFTOP",
      "viewport": {
        "low": {
          "latitude": 37.420656719708511,
          "longitude": -122.08547523029148
        },
        "high": {
          "latitude": 37.4233546802915,
          "longitude": -122.0827772697085
        }
      },
      "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
    ...
}

এই ফর্ম্যাটে, উত্তর ফিল্ডের ক্রম অনুযায়ী আপনার ফিল্ড মাস্ক তৈরি করুন:

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

গন্তব্য ফিল্ড মাস্ক সার্চ করুন

SearchDestinations কল করার সময়, আপনার প্রয়োজনীয় গন্তব্যের সঠিক অ্যাট্রিবিউট উল্লেখ করুন, যেমন প্রাথমিক জায়গার বিবরণ, প্রবেশপথ, নেভিগেশন পয়েন্ট, বিল্ডিংয়ের আউটলাইন (displayPolygon) এবং ল্যান্ডমার্ক:

curl -X POST -d '{"addressQuery": {"addressQuery": "1600 Amphitheatre Pkwy, Mountain View, CA"}}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-FieldMask: destinations.primary.displayName,destinations.primary.displayPolygon,destinations.entrances,destinations.navigationPoints,destinations.landmarks' \
-H "X-Goog-Api-Key: API_KEY" \
https://geocode.googleapis.com/v4/geocode/destinations

মূল জিওকোডিং ফিল্ড মাস্ক

যেমন, GeocodeAddress উত্তরে শুধু placeId ফিল্ড ফেরত পেতে, এই ফিল্ড মাস্ক ব্যবহার করুন:

curl -X GET -H 'Content-Type: application/json' \
-H 'X-Goog-FieldMask: results.placeId' \
-H "X-Goog-Api-Key: API_KEY" \
https://geocode.googleapis.com/v4/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA

এখন উত্তর হল:

{
  "results": [
    {
      "placeId": "ChIJF4Yf2Ry7j4AR__1AkytDyAE"
    }
  ]
}

viewport ফিল্ড ফিরিয়ে আনতে, আপনার ফিল্ড মাস্ক হল:

-H 'X-Goog-FieldMask: results.viewport'

এখন উত্তরটি হল:

{
  "results": [
    {
      "viewport": {
        "low": {
          "latitude": 37.420654569708496,
          "longitude": -122.08547618029148
        },
        "high": {
          "latitude": 37.423352530291496,
          "longitude": -122.0827782197085
        }
      }
    }
  ]
}

দুটিই ফেরত দিতে:

-H 'X-Goog-FieldMask: results.placeId,results.viewport'

এখন উত্তরটি হল:

{
  "results": [
    {
      "placeId": "ChIJF4Yf2Ry7j4AR__1AkytDyAE",
      "viewport": {
        "low": {
          "latitude": 37.420654569708496,
          "longitude": -122.08547618029148
        },
        "high": {
          "latitude": 37.423352530291496,
          "longitude": -122.0827782197085
        }
      }
    }
  ]
}

gRPC ফিল্ড মাস্ক

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

const (
  fieldMask = "results.placeId,results.viewport"
)

ফিল্ড পাথ সংক্রান্ত বিবেচনা

আপনার প্রয়োজনীয় ফিল্ডগুলিই শুধু রেসপন্সে অন্তর্ভুক্ত করুন:

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

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