একটি ‘নিকটবর্তী অনুসন্ধান (নতুন)’ অনুরোধ ইনপুট হিসাবে অনুসন্ধানের জন্য একটি অঞ্চল গ্রহণ করে, যা একটি বৃত্ত হিসাবে নির্দিষ্ট করা হয়। এই বৃত্তটি তার কেন্দ্রবিন্দুর অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক এবং মিটারে পরিমাপ করা ব্যাসার্ধ দ্বারা সংজ্ঞায়িত হয়। অনুরোধটি নির্দিষ্ট অনুসন্ধান এলাকার মধ্যে মিলে যাওয়া স্থানগুলির একটি তালিকা ফেরত দেয়, যার প্রতিটি একটি GMSPlace অবজেক্ট দ্বারা উপস্থাপিত হয়।
ডিফল্টরূপে, প্রাপ্ত উত্তরে অনুসন্ধান এলাকার মধ্যে থাকা সব ধরনের স্থান অন্তর্ভুক্ত থাকে। আপনি চাইলে, নির্দিষ্টভাবে কোন ধরনের স্থান উত্তরে অন্তর্ভুক্ত বা বাদ দিতে চান, তার একটি তালিকা উল্লেখ করে উত্তরটি ফিল্টার করতে পারেন। উদাহরণস্বরূপ, আপনি উত্তরে শুধুমাত্র "রেস্তোরাঁ", "বেকারি" এবং "ক্যাফে" ধরনের স্থানগুলো অন্তর্ভুক্ত করতে পারেন, অথবা "স্কুল" ধরনের সমস্ত স্থান বাদ দিতে পারেন।
কাছাকাছি অনুসন্ধান (নতুন) অনুরোধ
একটি নিকটবর্তী অনুসন্ধানের অনুরোধ করতে GMSPlacesClient searchNearbyWithRequest: কল করুন এবং এর জন্য একটি GMSPlaceSearchNearbyRequest অবজেক্ট পাস করুন, যা অনুরোধের প্যারামিটার এবং প্রতিক্রিয়া পরিচালনা করার জন্য GMSPlaceSearchNearbyResultCallback টাইপের একটি কলব্যাক মেথড নির্ধারণ করে।
GMSPlaceSearchNearbyRequest অবজেক্টটি অনুরোধের জন্য সমস্ত প্রয়োজনীয় এবং ঐচ্ছিক প্যারামিটার নির্দিষ্ট করে। প্রয়োজনীয় প্যারামিটারগুলো হলো:
-
GMSPlacePropertyদ্বারা সংজ্ঞায়িতGMSPlaceঅবজেক্টে ফেরত দেওয়ার জন্য ফিল্ডগুলির তালিকা, যা ফিল্ড মাস্ক নামেও পরিচিত। যদি আপনি ফিল্ড তালিকা থেকে অন্তত একটি ফিল্ড নির্দিষ্ট না করেন, অথবা যদি আপনি ফিল্ড তালিকাটি বাদ দেন, তাহলে কলটি একটি ত্রুটি ফেরত দেয়। - অবস্থানগত সীমাবদ্ধতা , অর্থাৎ অনুসন্ধান এলাকা নির্ধারণকারী বৃত্তটি।
এই উদাহরণমূলক নিকটবর্তী অনুসন্ধান অনুরোধটি নির্দিষ্ট করে যে, অনুসন্ধানের ফলাফলে থাকা প্রতিটি GMSPlace অবজেক্টের জন্য প্রতিক্রিয়া GMSPlace অবজেক্টগুলিতে স্থানের নাম ( GMSPlacePropertyName ) এবং স্থানের স্থানাঙ্ক ( GMSPlacePropertyCoordinate ) থাকবে। এটি প্রতিক্রিয়াটিকে শুধুমাত্র 'রেস্টুরেন্ট' এবং 'ক্যাফে' ধরনের স্থানগুলি ফেরত দেওয়ার জন্য ফিল্টারও করে।
প্লেসেস সুইফট এসডিকে
let restriction = CircularCoordinateRegion(center: CLLocationCoordinate2DMake(37.7937, -122.3965), radius: 500) let searchNearbyRequest = SearchNearbyRequest( locationRestriction: restriction, placeProperties: [ .name, .coordinate], includedTypes: [ .restaurant, .cafe ], ) switch await placesClient.searchNearby(with: searchNearbyRequest) { case .success(let places): // Handle places case .failure(let placesError): // Handle error }
সুইফট
// Array to hold the places in the response var placeResults: [GMSPlace] = [] // Define the search area as a 500 meter diameter circle in San Francisco, CA. let circularLocationRestriction = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(37.7937, -122.3965), 500) // Specify the fields to return in the GMSPlace object for each place in the response. let placeProperties = [GMSPlaceProperty.name, GMSPlaceProperty.coordinate].map {$0.rawValue} // Create the GMSPlaceSearchNearbyRequest, specifying the search area and GMSPlace fields to return. var request = GMSPlaceSearchNearbyRequest(locationRestriction: circularLocationRestriction, placeProperties: placeProperties) let includedTypes = ["restaurant", "cafe"] request.includedTypes = includedTypes let callback: GMSPlaceSearchNearbyResultCallback = { [weak self] results, error in guard let self, error == nil else { if let error { print(error.localizedDescription) } return } guard let results = results as? [GMSPlace] else { return } placeResults = results } GMSPlacesClient.shared().searchNearby(with: request, callback: callback)
উদ্দেশ্য-সি
// Array to hold the places in the response _placeResults = [NSArray array]; // Define the search area as a 500 meter diameter circle in San Francisco, CA. id<GMSPlaceLocationRestriction> circularLocation = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(37.7937, -122.3965), 500); // Create the GMSPlaceSearchNearbyRequest, specifying the search area and GMSPlace fields to return. GMSPlaceSearchNearbyRequest *request = [[GMSPlaceSearchNearbyRequest alloc] initWithLocationRestriction:circularLocation placeProperties:@[ GMSPlacePropertyName, GMSPlacePropertyCoordinate ]]; // Set the place types to filter on. NSArray<NSString *> *includedTypes = @[ @"restaurant", @"cafe" ]; request.includedTypes = [[NSMutableArray alloc] initWithArray:includedTypes]; [_placesClient searchNearbyWithRequest:request callback:^(NSArray<GMSPlace *> *_Nullable places, NSError *_Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { // Get list of places. _placeResults = places; } } ];
কাছাকাছি অনুসন্ধানের প্রতিক্রিয়া
নিয়ারবাই সার্চ এপিআই (Nearby Search API) মিলে যাওয়া স্থানগুলোর একটি অ্যারে ফেরত দেয়, যাGMSPlace ) অবজেক্ট আকারে থাকে এবং প্রতিটি মিলে যাওয়া স্থানের জন্য একটি করে GMSPlace অবজেক্ট থাকে।খোলা অবস্থা পান
GMSPlacesClient অবজেক্টটিতে isOpenWithRequest (Swift-এ isOpenRequest এবং GooglePlacesSwift-এ isPlaceOpenRequest ) নামে একটি মেম্বার ফাংশন রয়েছে, যা কলে নির্দিষ্ট করা সময়ের উপর ভিত্তি করে প্লেসটি বর্তমানে খোলা আছে কিনা তা নির্দেশ করে একটি প্রতিক্রিয়া ফেরত দেয়।
এই মেথডটি GMSPlaceIsOpenWithRequest টাইপের একটিমাত্র আর্গুমেন্ট গ্রহণ করে, যাতে নিম্নলিখিত বিষয়গুলো থাকে:
- একটি
GMSPlaceঅবজেক্ট , অথবা একটি স্থান আইডি নির্দেশকারী স্ট্রিং। প্রয়োজনীয় ফিল্ডসহ Place অবজেক্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, Place details দেখুন। - একটি ঐচ্ছিক
NSDate(Obj-C) বাDate(Swift) অবজেক্ট, যা আপনি যে সময়টি পরীক্ষা করতে চান তা নির্দিষ্ট করে। যদি কোনো সময় নির্দিষ্ট না করা হয়, তবে ডিফল্ট সময় হবে বর্তমান সময়। - প্রতিক্রিয়াটি পরিচালনা করার জন্য একটি
GMSPlaceOpenStatusResponseCallbackমেথড। >
GMSPlaceIsOpenWithRequest মেথডটি চালানোর জন্য GMSPlace অবজেক্টে নিম্নলিখিত ফিল্ডগুলি সেট করা আবশ্যক:
-
GMSPlacePropertyUTCOffsetMinutes -
GMSPlacePropertyBusinessStatus -
GMSPlacePropertyOpeningHours -
GMSPlacePropertyCurrentOpeningHours -
GMSPlacePropertySecondaryOpeningHours
Place অবজেক্টে এই ফিল্ডগুলি প্রদান করা না থাকলে, অথবা আপনি একটি প্লেস আইডি পাস করলে, মেথডটি সেগুলি ফেচ করার জন্য GMSPlacesClient GMSFetchPlaceRequest: ব্যবহার করে।
isOpenWithRequest প্রতিক্রিয়া
isOpenWithRequest একটি GMSPlaceIsOpenResponse অবজেক্ট রিটার্ন করে, যাতে status নামক একটি বুলিয়ান ভ্যালু থাকে যা নির্দেশ করে ব্যবসাটি খোলা, বন্ধ, নাকি এর অবস্থা অজানা।
| ভাষা | খোলা থাকলে মান | বন্ধ থাকলে মান | অবস্থা অজানা থাকলে মান |
|---|---|---|---|
| দ্রুত স্থান | true | false | nil |
| সুইফট | .open | .closed | .unknown |
| উদ্দেশ্য-সি | GMSPlaceOpenStatusOpen | GMSPlaceOpenStatusClosed | GMSPlaceOpenStatusUnknown |
isOpenWithRequest এর জন্য বিলিং
-
GMSPlacePropertyUTCOffsetMinutesএবংGMSPlacePropertyBusinessStatusফিল্ডগুলোর চার্জ Basic Data SKU-এর অধীনে ধার্য করা হয়। Opening Hours-এর বাকি অংশের চার্জ Place Details Enterprise SKU-এর অধীনে ধার্য করা হয়। - যদি আপনার
GMSPlaceঅবজেক্টে পূর্ববর্তী কোনো অনুরোধ থেকে এই ফিল্ডগুলো আগে থেকেই থাকে, তাহলে আপনাকে আবার চার্জ করা হবে না।
উদাহরণ: একটি GMSPlaceIsOpenWithRequest অনুরোধ করুন
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি বিদ্যমান GMSPlace অবজেক্টের মধ্যে GMSPlaceIsOpenWithRequest ইনিশিয়ালাইজ করতে হয়। প্লেসেস সুইফট এসডিকে
let isOpenRequest = IsPlaceOpenRequest(place: place) switch await placesClient.isPlaceOpen(with: isOpenRequest) { case .success(let isOpenResponse): switch isOpenResponse.status { case true: // Handle open case false: // Handle closed case nil: // Handle unknown case .failure(let placesError): // Handle error }
সুইফট
let isOpenRequest = GMSPlaceIsOpenRequest(place: place, date: nil) GMSPlacesClient.shared().isOpen(with: isOpenRequest) { response, error in if let error = error { // Handle Error } switch response.status { case .open: // Handle open case .closed: // Handle closed case .unknown: // Handle unknown } }
উদ্দেশ্য-সি
GMSPlaceIsOpenRequest *isOpenRequest = [[GMSPlaceIsOpenRequest alloc] initWithPlace:place date:nil]; [[GMSPlacesClient sharedClient] isOpenWithRequest:isOpenRequest callback:^(GMSPlaceIsOpenResponse response, NSError *_Nullable error) { if (error) { // Handle error } switch (response.status) { case GMSPlaceOpenStatusOpen: // Handle open case GMSPlaceOpenStatusClosed: // Handle closed case GMSPlaceOpenStatusUnknown: // Handle unknown } }];
প্রয়োজনীয় প্যারামিটার
অনুসন্ধানের জন্য প্রয়োজনীয় প্যারামিটারগুলো নির্দিষ্ট করতে GMSPlaceSearchNearbyRequest অবজেক্টটি ব্যবহার করুন।
ক্ষেত্রের তালিকা
যখন আপনি কোনো স্থানের বিবরণ অনুরোধ করেন, তখন আপনাকে অবশ্যই সেই স্থানের জন্য
GMSPlaceঅবজেক্টে ফিল্ড মাস্ক হিসেবে ফেরতযোগ্য ডেটা নির্দিষ্ট করতে হবে। ফিল্ড মাস্ক নির্ধারণ করতে,GMSPlacePropertyথেকেGMSPlaceSearchNearbyRequestঅবজেক্টে ভ্যালুগুলোর একটি অ্যারে পাস করুন। ফিল্ড মাস্কিং একটি ভালো ডিজাইন অনুশীলন, যা নিশ্চিত করে যে আপনি অপ্রয়োজনীয় ডেটা অনুরোধ করছেন না, এবং এটি অপ্রয়োজনীয় প্রক্রিয়াকরণের সময় ও বিলিং চার্জ এড়াতে সাহায্য করে।নিম্নলিখিত ক্ষেত্রগুলির মধ্যে এক বা একাধিক নির্দিষ্ট করুন:
নিম্নলিখিত ফিল্ডগুলি Nearby Search Pro SKU সক্রিয় করে:
GMSPlacePropertyAddressComponents
GMSPlacePropertyBusinessStatus
GMSPlacePropertyCoordinate
GMSPlacePropertyFormattedAddress
GMSPlacePropertyName
GMSPlacePropertyIconBackgroundColor
GMSPlacePropertyIconImageURL
GMSPlacePropertyPhotos
GMSPlacePropertyPlaceID
GMSPlacePropertyPlusCode
GMSPlacePropertyTypes
GMSPlacePropertyUTCOffsetMinutes
GMSPlacePropertyViewport
GMSPlacePropertyWheelchairAccessibleEntranceফিল্ডসমূহ এবং তাদের সংশ্লিষ্ট SKU-গুলির সম্পূর্ণ তালিকার জন্য, ‘Place Data Fields (New)’ দেখুন।
নিম্নলিখিত ক্ষেত্রগুলি Nearby Search Enterprise SKU সক্রিয় করে:
GMSPlacePropertyCurrentOpeningHours
GMSPlacePropertySecondaryOpeningHours
GMSPlacePropertyPhoneNumber
GMSPlacePropertyPriceLevel
GMSPlacePropertyRating
GMSPlacePropertyOpeningHours
GMSPlacePropertyUserRatingsTotal
GMSPlacePropertyWebsiteফিল্ডসমূহ এবং তাদের সংশ্লিষ্ট SKU-গুলির সম্পূর্ণ তালিকার জন্য, ‘Place Data Fields (New)’ দেখুন।
নিম্নলিখিত ফিল্ডগুলি Nearby Search Enterprise Plus SKU সক্রিয় করে:
GMSPlacePropertyCurbsidePickup
GMSPlacePropertyDelivery
GMSPlacePropertyDineIn
GMSPlacePropertyEditorialSummary
GMSPlacePropertyReservable
GMSPlacePropertyReviews
GMSPlacePropertyServesBeer
GMSPlacePropertyServesBreakfast
GMSPlacePropertyServesBrunch
GMSPlacePropertyServesDinner
GMSPlacePropertyServesLunch
GMSPlacePropertyServesVegetarianFood
GMSPlacePropertyServesWine
GMSPlacePropertyTakeoutফিল্ডসমূহ এবং তাদের সংশ্লিষ্ট SKU-গুলির সম্পূর্ণ তালিকার জন্য, ‘Place Data Fields (New)’ দেখুন।
নিম্নলিখিত উদাহরণটি দুটি ফিল্ড মানের একটি তালিকা পাস করে এটি নির্দিষ্ট করে যে, একটি অনুরোধের মাধ্যমে ফেরত আসা
GMSPlaceঅবজেক্টটিতেnameএবংplaceIDফিল্ড দুটি রয়েছে:প্লেসেস সুইফট এসডিকে
// Specify the place data types to return. let fields: [PlaceProperty] = [.placeID, .displayName]
সুইফট
// Specify the place data types to return. let fields: [GMSPlaceProperty] = [.placeID, .name]
উদ্দেশ্য-সি
// Specify the place data types to return. NSArray<GMSPlaceProperty *> *fields = @[GMSPlacePropertyPlaceID, GMSPlacePropertyName];
অবস্থান সীমাবদ্ধতা
একটি
GMSPlaceLocationRestrictionঅবজেক্ট, যা একটি বৃত্তাকারে অনুসন্ধানের অঞ্চল নির্ধারণ করে, যার কেন্দ্রবিন্দু এবং ব্যাসার্ধ মিটারে পরিমাপ করা হয়। ব্যাসার্ধটি অবশ্যই ০.০ থেকে ৫০০০০.০-এর মধ্যে হতে হবে। ডিফল্ট ব্যাসার্ধ হলো ০.০। আপনাকে আপনার অনুরোধে এর মান ০.০-এর চেয়ে বেশি সেট করতে হবে।
ঐচ্ছিক পরামিতি
অনুসন্ধানের জন্য ঐচ্ছিক প্যারামিটারগুলো নির্দিষ্ট করতে GMSPlaceSearchNearbyRequest অবজেক্টটি ব্যবহার করুন।
অন্তর্ভুক্ত প্রকার/বর্জিত প্রকার, অন্তর্ভুক্ত প্রাথমিক প্রকার/বর্জিত প্রাথমিক প্রকার
এটি আপনাকে সার্চের ফলাফল ফিল্টার করতে ব্যবহৃত টাইপ টেবিল A থেকে টাইপের একটি তালিকা নির্দিষ্ট করার সুযোগ দেয়। প্রতিটি টাইপ সীমাবদ্ধতা ক্যাটাগরিতে সর্বোচ্চ ৫০টি টাইপ নির্দিষ্ট করা যেতে পারে।
একটি স্থানের সাথে টাইপস টেবিল A থেকে শুধুমাত্র একটি প্রাথমিক প্রকার যুক্ত থাকতে পারে। উদাহরণস্বরূপ, প্রাথমিক প্রকারটি হতে পারে
"mexican_restaurant"বা"steak_house"। কোনো স্থানের প্রাথমিক প্রকারের উপর ভিত্তি করে ফলাফল ফিল্টার করতেincludedPrimaryTypesএবংexcludedPrimaryTypesব্যবহার করুন।একটি স্থানের সাথে টাইপস টেবিল A থেকে একাধিক টাইপ ভ্যালুও যুক্ত থাকতে পারে। উদাহরণস্বরূপ, একটি রেস্তোরাঁর নিম্নলিখিত টাইপগুলো থাকতে পারে:
"seafood_restaurant","restaurant","food","point_of_interest","establishment"। একটি স্থানের সাথে যুক্ত টাইপগুলোর তালিকা থেকে ফলাফল ফিল্টার করতেincludedTypesএবংexcludedTypesব্যবহার করুন।যখন আপনি
"restaurant"বা"hotel"এর মতো একটি সাধারণ প্রাথমিক ধরন নির্দিষ্ট করেন, তখন প্রাপ্ত উত্তরে নির্দিষ্ট করা ধরনের চেয়ে আরও সুনির্দিষ্ট প্রাথমিক ধরনের স্থানও থাকতে পারে। উদাহরণস্বরূপ, আপনি"restaurant"প্রাথমিক ধরনটি অন্তর্ভুক্ত করতে নির্দিষ্ট করলেন। সেক্ষেত্রে প্রাপ্ত উত্তরে"restaurant"প্রাথমিক ধরনের স্থান থাকতে পারে, কিন্তু এর পাশাপাশি"chinese_restaurant"বা"seafood_restaurant"এর মতো আরও সুনির্দিষ্ট প্রাথমিক ধরনের স্থানও থাকতে পারে।যদি কোনো অনুসন্ধানে একাধিক ধরনের সীমাবদ্ধতা নির্দিষ্ট করা থাকে, তবে শুধুমাত্র সেই স্থানগুলোই দেখানো হবে যেগুলো সব সীমাবদ্ধতা পূরণ করে। উদাহরণস্বরূপ, যদি আপনি
{"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}নির্দিষ্ট করেন, তাহলে যে স্থানগুলো দেখানো হবে সেগুলো"restaurant"সম্পর্কিত পরিষেবা প্রদান করে, কিন্তু প্রাথমিকভাবে"steak_house"হিসেবে পরিচালিত হয় না।অন্তর্ভুক্ত প্রকার
সারণি A থেকে অনুসন্ধানের জন্য স্থানের প্রকারগুলির একটি তালিকা। এই প্যারামিটারটি বাদ দেওয়া হলে, সব ধরনের স্থান ফেরত দেওয়া হবে।
বাদ দেওয়া প্রকারগুলি
টেবিল A থেকে অনুসন্ধান থেকে বাদ দেওয়ার জন্য স্থানের প্রকারের একটি তালিকা।
যদি আপনি অনুরোধে
includedTypes(যেমন"school") এবংexcludedTypes(যেমন"primary_school") উভয়ই উল্লেখ করেন, তাহলে প্রতিক্রিয়ায় এমন স্থানগুলি অন্তর্ভুক্ত হবে যেগুলি"school"হিসাবে শ্রেণীবদ্ধ কিন্তু"primary_school"হিসাবে নয়। প্রতিক্রিয়ায় এমন স্থানগুলি অন্তর্ভুক্ত থাকে যেগুলিincludedTypesঅন্তত একটির সাথে মেলে এবংexcludedTypesকোনোটির সাথেই মেলে না ।যদি কোনো টাইপের মধ্যে অমিল থাকে, যেমন কোনো টাইপ
includedTypesএবংexcludedTypesউভয় তালিকাতেই থাকে, তাহলে একটিINVALID_REQUESTত্রুটি ফেরত দেওয়া হয়।অন্তর্ভুক্ত প্রাথমিক প্রকার
অনুসন্ধানে অন্তর্ভুক্ত করার জন্য সারণি 'ক' থেকে প্রধান স্থান প্রকারের একটি তালিকা।
বাদ দেওয়া প্রাথমিক প্রকার
অনুসন্ধান থেকে বাদ দেওয়ার জন্য সারণি 'ক' থেকে প্রধান স্থান প্রকারের একটি তালিকা।
যদি কোনো পরস্পরবিরোধী প্রাইমারি টাইপ থাকে, যেমন কোনো টাইপ
includedPrimaryTypesএবংexcludedPrimaryTypesউভয় তালিকাতেই উপস্থিত থাকে, তাহলে একটিINVALID_ARGUMENTত্রুটি ফেরত দেওয়া হয়।সর্বোচ্চ ফলাফল সংখ্যা
ফেরত দেওয়া স্থানের ফলাফলের সর্বোচ্চ সংখ্যা নির্দিষ্ট করে। সংখ্যাটি অবশ্যই ১ থেকে ২০ (ডিফল্ট) এর মধ্যে হতে হবে।
র্যাঙ্কপ্রেফারেন্স
ব্যবহৃত র্যাঙ্কিংয়ের ধরন। এই প্যারামিটারটি বাদ দিলে, ফলাফলগুলো জনপ্রিয়তা অনুসারে র্যাঙ্ক করা হবে। এটি নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
-
.popularity(ডিফল্ট) ফলাফলকে তাদের জনপ্রিয়তার ভিত্তিতে সাজায়। -
.distanceনির্দিষ্ট অবস্থান থেকে দূরত্বের ভিত্তিতে ফলাফলগুলিকে আরোহী ক্রমে সাজায়।
-
অঞ্চল কোড
প্রতিক্রিয়া বিন্যাস করার জন্য ব্যবহৃত অঞ্চল কোডটি একটি দুই-অক্ষরের CLDR কোড মান হিসাবে নির্দিষ্ট করা হয়। এর কোনো ডিফল্ট মান নেই।
রেসপন্সের
formattedAddressফিল্ডের দেশের নাম যদিregionCodeএর সাথে মিলে যায়, তাহলেformattedAddressথেকে কান্ট্রি কোডটি বাদ দেওয়া হয়। এই প্যারামিটারটিরadrFormatAddressএর উপর কোনো প্রভাব নেই, কারণ এতে সবসময় দেশের নাম অন্তর্ভুক্ত থাকে; কিংবাshortFormattedAddressউপরও কোনো প্রভাব নেই, কারণ এতে কখনোই দেশের নাম অন্তর্ভুক্ত থাকে না।কিছু উল্লেখযোগ্য ব্যতিক্রম ছাড়া, বেশিরভাগ CLDR কোড ISO 3166-1 কোডের অনুরূপ। উদাহরণস্বরূপ, যুক্তরাজ্যের ccTLD হলো "uk" (.co.uk), যেখানে এর ISO 3166-1 কোড হলো "gb" (যা প্রযুক্তিগতভাবে "The United Kingdom of Great Britain and Northern Ireland" সত্তাটিকে বোঝায়)। প্রযোজ্য আইনের উপর ভিত্তি করে এই প্যারামিটারটি ফলাফলের উপর প্রভাব ফেলতে পারে।
আপনার অ্যাপে অ্যাট্রিবিউশন প্রদর্শন করুন
যখন আপনার অ্যাপ GMSPlacesClient থেকে প্রাপ্ত তথ্য, যেমন ছবি এবং রিভিউ, প্রদর্শন করে, তখন অ্যাপটিকে অবশ্যই প্রয়োজনীয় অ্যাট্রিবিউশনও প্রদর্শন করতে হবে।
উদাহরণস্বরূপ, GMSPlacesClient অবজেক্টের reviews প্রপার্টিতে সর্বোচ্চ পাঁচটি GMSPlaceReview অবজেক্টের একটি অ্যারে থাকে। প্রতিটি GMSPlaceReview অবজেক্টে অ্যাট্রিবিউশন এবং অথর অ্যাট্রিবিউশন থাকতে পারে। আপনি যদি আপনার অ্যাপে রিভিউটি প্রদর্শন করেন, তাহলে আপনাকে অবশ্যই যেকোনো অ্যাট্রিবিউশন বা অথর অ্যাট্রিবিউশনও প্রদর্শন করতে হবে।
আরও তথ্যের জন্য, অ্যাট্রিবিউশন সম্পর্কিত ডকুমেন্টেশন দেখুন।