যখন আপনি একটি জিওকোডিং অনুরোধ করেন, তখন প্রতিক্রিয়ায় কোন কোন ফিল্ড ফেরত আসবে তার তালিকা নির্দিষ্ট করতে আপনি একটি ফিল্ড মাস্ক ব্যবহার করতে পারেন। 'Geocode an address' , 'Geocode a location' , এবং 'Place' জিওকোডিং মেথডগুলোর ক্ষেত্রে, রেসপন্স অবজেক্টের সমস্ত ফিল্ড ডিফল্টরূপে ফেরত আসে। 'Search for destinations ' মেথডটির জন্য, আপনাকে অবশ্যই এপিআই অনুরোধে একটি ফিল্ড মাস্ক নির্দিষ্ট করতে হবে।
অপ্রয়োজনীয় ডেটা অনুরোধ করা থেকে বিরত থাকতে একটি ফিল্ড মাস্ক ব্যবহার করুন, যা ফলস্বরূপ প্রতিক্রিয়ার বিলম্ব কমাতে সাহায্য করে।
একটি প্রতিক্রিয়া ক্ষেত্র মাস্ক সংজ্ঞায়িত করুন
রেসপন্স ফিল্ড মাস্ক হলো স্পেসবিহীন, কমা দ্বারা পৃথক করা পাথগুলোর একটি তালিকা, যেখানে প্রতিটি পাথ রেসপন্স অবজেক্টের একটি অনন্য ফিল্ডকে নির্দিষ্ট করে। পাথটি শীর্ষ-স্তরের রেসপন্স ফিল্ড থেকে শুরু হয় এবং একটি নির্দিষ্ট ফিল্ডে যাওয়ার জন্য ডট দ্বারা পৃথক করা পাথ ব্যবহার করে।
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][...]
উদাহরণস্বরূপ, রেসপন্সে শুধুমাত্র 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/v4beta/"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 দেখুন।