টেক্সট সার্চ (নতুন) স্ট্রিংয়ের উপর ভিত্তি করে এক সেট জায়গা সম্পর্কে তথ্য প্রদান করে (যেমন, "নিউ ইয়র্কে পিজ্জা" বা "অটোয়ার কাছাকাছি জুতোর দোকান" বা "১২৩ মেইন স্ট্রিট")। পরিষেবাটি টেক্সট স্ট্রিং এবং সেট করা যেকোনও লোকেশন বায়াসের সাথে মেলে এমন জায়গার তালিকা সহ উত্তর দেয়।
প্রয়োজনীয় প্যারামিটার ছাড়াও, Text Search (New) আরও ভালো ফলাফলের জন্য ঐচ্ছিক প্যারামিটার ব্যবহার করে কোয়েরি রিফাইন করার সুবিধা দেয়।
টেক্সট সার্চের মাধ্যমে জায়গার তালিকা পান
GMSPlacesClient
searchByTextWithRequest: কল করে
টেক্সট সার্চের অনুরোধ করুন,
GMSPlaceSearchByTextRequest
অবজেক্ট পাস করুন যা অনুরোধের প্যারামিটার এবং কলব্যাক পদ্ধতি নির্ধারণ করে, GMSPlaceSearchByTextResultCallback টাইপের,
উত্তর ম্যানেজ করার জন্য।
GMSPlaceSearchByTextRequest অবজেক্ট অনুরোধের জন্য
সব প্রয়োজনীয় এবং ঐচ্ছিক প্যারামিটার
নির্দিষ্ট করে। প্রয়োজনীয় প্যারামিটারের মধ্যে এগুলি অন্তর্ভুক্ত:
GMSPlaceঅবজেক্টে ফিরিয়ে দেওয়ার জন্য ফিল্ডের তালিকা, যাকে ফিল্ড মাস্কও বলা হয়, যেমনটিGMSPlaceProperty-এ উল্লেখ করা আছে। আপনি ফিল্ডের তালিকায় অন্তত একটি ফিল্ড নির্দিষ্ট না করলে অথবা ফিল্ডের তালিকা বাদ দিলে, কলটি একটি ত্রুটি রিটার্ন করে।- টেক্সট কোয়েরি।
এই উদাহরণ টেক্সট সার্চ অনুরোধে উল্লেখ করা হয়েছে যে, সার্চ ফলাফলে প্রতিটি GMSPlace অবজেক্টের জন্য
প্রতিক্রিয়া GMSPlace অবজেক্টে
জায়গার নাম ও জায়গা আইডি থাকে। এছাড়াও, এটি উত্তর ফিল্টার করে যাতে শুধুমাত্র "রেস্তোরাঁ"
ধরনের জায়গা দেখানো হয়।
Places Swift SDK
let restriction = GMSPlaceRectangularLocationOption( northEast: CLLocationCoordinate2D(latitude: 20, longitude: 30), southWest: CLLocationCoordinate2D(latitude: 40, longitude: 50) ) let searchByTextRequest = SearchByTextRequest( textQuery: "pizza in New York", placeProperties: [ .name, .placeID ], locationRestriction: restriction, includedType: .restaurant, maxResultCount: 5, minRating: 3.5, priceLevels: [ .moderate, .inexpensive ], isStrictTypeFiltering: true ) switch await placesClient.searchByText(with: searchByTextRequest) { case .success(let places): // Handle places case .failure(let placesError): // Handle error }
Swift
// Create the GMSPlaceSearchByTextRequest object. let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.placeID].map {$0.rawValue} let request = GMSPlaceSearchByTextRequest(textQuery:"pizza in New York", placeProperties:myProperties) request.isOpenNow = true request.includedType = "restaurant" request.maxResultCount = 5 request.minRating = 3.5 request.rankPreference = .distance request.isStrictTypeFiltering = true request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0) // Array to hold the places in the response var placeResults: [GMSPlace] = [] let callback: GMSPlaceSearchByTextResultCallback = { [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().searchByText(with: request, callback: callback)
Objective-C
// Create the GMSPlaceSearchByTextRequest object. GMSPlaceSearchByTextRequest *request = [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyName, GMSPlacePropertyPlaceID]]; request.isOpenNow = YES; request.includedType = @"restaurant"; request.maxResultCount = 5; request.minRating = 3.5; request.rankPreference = GMSPlaceSearchByTextRankPreferenceDistance; request.isStrictTypeFiltering = YES; request.priceLevels = @[ @(kGMSPlacesPriceLevelFree), @(kGMSPlacesPriceLevelCheap) ]; request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0); // Array to hold the places in the response _placeResults = [NSArray array]; // Create the GMSPlaceSearchByTextRequest object. [_placesClient searchByTextWithRequest:request callback:^(NSArray<GMSPlace *> *_Nullable placeResults, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { if (placeResults.count > 0) { // Get list of places. _placeResults = placeResults; } } } ];
টেক্সট সার্চের উত্তর
Text Search API,
GMSPlace
অবজেক্টের আকারে মিলের একটি অ্যারে প্রদান করে, যেখানে প্রতিটি মিলে যাওয়া জায়গার জন্য একটি GMSPlace অবজেক্ট থাকে।
ওপেন স্ট্যাটাস পান
GMSPlacesClient অবজেক্টে isOpenWithRequest (Swift-এ isOpenRequest এবং GooglePlacesSwift-এ isPlaceOpenRequest) নামে একটি মেম্বার ফাংশন থাকে যা কলে উল্লেখ করা সময়ের উপর ভিত্তি করে জায়গাটি বর্তমানে খোলা আছে কিনা তা জানিয়ে একটি উত্তর দেয়।
এই পদ্ধতিতে GMSPlaceIsOpenWithRequest ধরনের একটি আর্গুমেন্ট নেওয়া হয়, যার মধ্যে এগুলি থাকে:
- একটি
GMSPlaceঅবজেক্ট, অথবা একটি স্ট্রিং যা একটি স্থান আইডি নির্দিষ্ট করে। প্রয়োজনীয় ফিল্ড সহ Place অবজেক্ট তৈরি করার ব্যাপারে আরও তথ্যের জন্য, জায়গার বিবরণ দেখুন।
- আপনি যে সময় চেক করতে চান তা উল্লেখ করে একটি ঐচ্ছিক
NSDate(Obj-C) বাDate(Swift) অবজেক্ট। কোনও সময় উল্লেখ করা না থাকলে, ডিফল্ট হিসেবে বর্তমান সময় সেট করা হয়। - রেসপন্স ম্যানেজ করার জন্য একটি
GMSPlaceOpenStatusResponseCallbackপদ্ধতি। >
GMSPlaceIsOpenWithRequest পদ্ধতির জন্য GMSPlace অবজেক্টে নিম্নলিখিত ফিল্ডগুলি সেট করতে হবে:
GMSPlacePropertyUTCOffsetMinutesGMSPlacePropertyBusinessStatusGMSPlacePropertyOpeningHoursGMSPlacePropertyCurrentOpeningHoursGMSPlacePropertySecondaryOpeningHours
এইসব ফিল্ড যদি Place অবজেক্টে না দেওয়া থাকে অথবা আপনি যদি কোনও প্লেস আইডি পাস করেন, তাহলে পদ্ধতিটি সেগুলি আনার জন্য GMSPlacesClient GMSFetchPlaceRequest: ব্যবহার করে।
isOpenWithRequest-এর উত্তর
isOpenWithRequest একটি GMSPlaceIsOpenResponse অবজেক্ট রিটার্ন করে যাতে status নামের একটি বুলিয়ান ভ্যালু থাকে যা ব্যবসা খোলা, বন্ধ নাকি স্ট্যাটাস অজানা তা দেখায়।
| ভাষা | খোলা থাকলে ভ্যালু | বন্ধ থাকলে ভ্যালু | স্ট্যাটাস অজানা থাকলে ভ্যালু |
|---|---|---|---|
| Places Swift | true |
false |
nil |
| Swift | .open |
.closed |
.unknown |
| Objective-C | GMSPlaceOpenStatusOpen |
GMSPlaceOpenStatusClosed |
GMSPlaceOpenStatusUnknown |
isOpenWithRequest-এর জন্য বিলিং
GMSPlacePropertyUTCOffsetMinutesএবংGMSPlacePropertyBusinessStatusফিল্ডের জন্য Basic Data SKU-এর অধীনে চার্জ করা হয়। বাকি খোলা থাকার সময় জায়গার বিবরণ Enterprise SKU-এর অধীনে চার্জ করা হয়।- আপনার
GMSPlaceঅবজেক্টে আগে থেকেই পূর্ববর্তী অনুরোধ থেকে এই ফিল্ডগুলি থাকলে, আপনাকে আবার চার্জ করা হবে না।
উদাহরণ: GMSPlaceIsOpenWithRequest অনুরোধ করুন
আগে থেকে থাকা GMSPlace অবজেক্টের মধ্যে কীভাবে GMSPlaceIsOpenWithRequest শুরু করতে হয় তা নিচের উদাহরণে দেখানো হল।
Places Swift SDK
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 }
Swift
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 } }
Objective-C
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 } }];
পৃষ্ঠার ক্রমসংখ্যা
টেক্সট সার্চ পেজিনেশন অবজেক্ট প্রদান করে, hasNextPage বুলিয়ান, যা টেক্সট সার্চ কলের প্রথম উত্তরে ফেরত পাঠানো হয়। পরবর্তী পৃষ্ঠা উপলভ্য থাকলে, সেটি লোড করতে আপনি fetchNextPage() ফাংশন ব্যবহার করতে
পারবেন।
পরবর্তী পৃষ্ঠা উপলভ্য আছে কিনা তা কীভাবে চেক করবেন এবং তারপরে পৃষ্ঠাটি লোড করবেন তা নিম্নলিখিত উদাহরণে দেখানো হয়েছে।
Swift
public struct PlaceSearchPagination { public var pageSize: Int public var hasNextPage: Bool public func fetchNextPage() async -> SearchByTextResponse } public struct SearchByTextResponse { public var pagination: PlaceSearchPagination? public var places: [Place]? public var error: PlaceError? } PlacesClient.swift public func searchByText(with request: SearchByTextRequest) async -> SearchByTextResponse let searchByTextRequest = SearchByTextRequest(textQuery: "restaurants", placeProperties: [PlaceProperty.displayName], locationBias: CircularCoordinateRegion(center: CLLocationCoordinate2D(latitude: 0, longitude: 0), radius: 100)) searchByTextRequest.maxResultCount = 10 var searchByTextResponse = await PlacesClient.shared.searchByText(with: searchByTextRequest) print("Found \(searchByTextResponse.places.count) places") searchByTextResponse.pagination.pageSize = 20 // Continue making requests until no more results are found in pagination object while searchByTextResponse.pagination.hasNextPage { searchByTextResponse = await searchByTextResponse.pagination.fetchNextPage() print("Found \(searchByTextResponse.places.count) places") }
Objective-C
GMSPlaceSearchByTextRequest *searchByTextRequest = [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery: @"restaurants" placeProperties: @[GMSPlacePropertyAll]]; searchByTextRequest.maxResultCount = 10; __block void (^recursiveCallback)(GMSPlaceSearchByTextResponse *, NSError *); recursiveCallback = ^(GMSPlaceSearchByTextResponse * response, NSError* error) { NSLog(@"Found %d places", response.places.count); if (response.pagination.hasNextPage) { [response.pagination fetchNextPageWithCompletion:recursiveCallback]; } }; [GMSPlacesClient.sharedClient searchByTextWithRequest:searchByTextRequest completion:recursiveCallback];
প্রয়োজনীয় প্যারামিটার
সার্চের জন্য প্রয়োজনীয় প্যারামিটার নির্দিষ্ট করতে GMSPlaceSearchByTextRequest অবজেক্ট
ব্যবহার করুন।
-
ফিল্ডের তালিকা
কোন জায়গার ডেটা প্রপার্টি ফেরত দিতে হবে তা উল্লেখ করুন। ফেরত পাঠানোর জন্য ডেটা ফিল্ড নির্দিষ্ট করে
GMSPlaceপ্রপার্টির একটি তালিকা পাস করুন। আপনি ফিল্ড মাস্ক বাদ দিলে, অনুরোধটি একটি ত্রুটি দেখাবে।ফিল্ড লিস্ট হল একটি ভালো ডিজাইন প্র্যাক্টিস যা নিশ্চিত করে যে আপনি অপ্রয়োজনীয় ডেটার জন্য অনুরোধ করছেন না, যা অপ্রয়োজনীয় প্রসেসিং সময় এবং বিলিং চার্জ এড়াতে সাহায্য করে।
নিচে উল্লেখ করা ফিল্ডের মধ্যে এক বা একাধিক ফিল্ড নির্দিষ্ট করুন:
নিম্নলিখিত ফিল্ডগুলি Text Search Essentials ID Only SKU ট্রিগার করে:
GMSPlacePropertyPlaceIDফিল্ড এবং সেগুলির সাথে সম্পর্কিত SKU-এর সম্পূর্ণ তালিকার জন্য, জায়গার ডেটা ফিল্ড (নতুন) দেখুন।
নিম্নলিখিত ফিল্ডগুলি Text Search Pro SKU ট্রিগার করে:
GMSPlacePropertyAddressComponents
GMSPlacePropertyBusinessStatus
GMSPlacePropertyCoordinate
GMSPlacePropertyFormattedAddress
GMSPlacePropertyIconBackgroundColor
GMSPlacePropertyIconImageURL
GMSPlacePropertyName
GMSPlacePropertyPhotos
GMSPlacePropertyPlusCode
GMSPlacePropertyTypes
GMSPlacePropertyUTCOffsetMinutes
GMSPlacePropertyViewport
GMSPlacePropertyWheelchairAccessibleEntranceফিল্ড এবং সেগুলির সাথে সম্পর্কিত SKU-এর সম্পূর্ণ তালিকার জন্য, জায়গার ডেটা ফিল্ড (নতুন) দেখুন।
নিম্নলিখিত ফিল্ডগুলি Text Search Enterprise SKU ট্রিগার করে:
GMSPlacePropertyCurrentOpeningHours
GMSPlacePropertySecondaryOpeningHours
GMSPlacePropertyPhoneNumber
GMSPlacePropertyPriceLevel
GMSPlacePropertyRating
GMSPlacePropertyOpeningHours
GMSPlacePropertyUserRatingsTotal
GMSPlacePropertyWebsiteফিল্ড এবং সেগুলির সাথে সম্পর্কিত SKU-এর সম্পূর্ণ তালিকার জন্য, জায়গার ডেটা ফিল্ড (নতুন) দেখুন।
নিম্নলিখিত ফিল্ডগুলি Text Search Enterprise Plus SKU ট্রিগার করে:
GMSPlacePropertyCurbsidePickup
GMSPlacePropertyDelivery
GMSPlacePropertyDineIn
GMSPlacePropertyEditorialSummary
GMSPlacePropertyReservable
GMSPlacePropertyReviews
GMSPlacePropertyServesBeer
GMSPlacePropertyServesBreakfast
GMSPlacePropertyServesBrunch
GMSPlacePropertyServesDinner
GMSPlacePropertyServesLunch
GMSPlacePropertyServesVegetarianFood
GMSPlacePropertyServesWine
GMSPlacePropertyTakeoutফিল্ড এবং সেগুলির সাথে সম্পর্কিত SKU-এর সম্পূর্ণ তালিকার জন্য, জায়গার ডেটা ফিল্ড (নতুন) দেখুন।
-
textQuery
যে টেক্সট স্ট্রিংয়ে সার্চ করতে হবে, যেমন: "রেস্তোরাঁ", "১২৩ মেইন স্ট্রিট" অথবা "সান ফ্রান্সিসকোতে ঘোরার সেরা জায়গা"।
ঐচ্ছিক প্যারামিটার
সার্চের জন্য ঐচ্ছিক প্যারামিটার নির্দিষ্ট করতে GMSPlaceSearchByTextRequest অবজেক্ট
ব্যবহার করুন।
includedType
সারণী ক-তে উল্লেখ করা নির্দিষ্ট ধরনের সাথে মিলে যাওয়া জায়গার মধ্যে ফলাফল সীমাবদ্ধ করে। শুধুমাত্র একটি ধরন নির্দিষ্ট করা যেতে পারে। যেমন:
let request = SearchByTextRequest()
request.includedType = "bar"let request = SearchByTextRequest()
request.includedType = "pharmacy"
isOpenNow
trueহলে, কোয়েরি পাঠানোর সময় ব্যবসার জন্য খোলা আছে শুধুমাত্র সেইসব জায়গা দেখান।falseহলে, খোলা আছে কিনা তা নির্বিশেষে সব ব্যবসা দেখান। Google Places ডেটাবেসে যেসব জায়গার খোলা থাকার সময় উল্লেখ করা নেই, আপনি এই প্যারামিটারfalse-এ সেট করলে সেগুলি দেখানো হয়।isStrictTypeFiltering
includeTypeপ্যারামিটারের সাথে ব্যবহার করা হয়।true-এ সেট করা হলে, শুধুমাত্র সেইসব জায়গা দেখানো হয় যেগুলিincludeType-এর মাধ্যমে নির্দিষ্ট করা ধরনের সাথে মেলে। ডিফল্ট হিসেবে, মিথ্যা হলে, উত্তরে এমন জায়গা থাকতে পারে যা নির্দিষ্ট ধরনের সাথে মিলে যায় না।locationBias
সার্চ করার জন্য কোনও এলাকা নির্দিষ্ট করে। এই লোকেশনটি পক্ষপাতিত্ব হিসেবে কাজ করে যার অর্থ নির্দিষ্ট লোকেশনের আশেপাশের ফলাফল ফেরত দেওয়া যেতে পারে, যার মধ্যে নির্দিষ্ট এলাকার বাইরের ফলাফলও অন্তর্ভুক্ত।
আপনি
locationRestrictionবাlocationBiasউল্লেখ করতে পারেন, তবে দুটিই নয়।locationRestriction-কে এমন একটি অঞ্চল হিসেবে ভাবুন যার মধ্যে ফলাফল থাকতে হবে এবংlocationBias-কে এমন একটি অঞ্চল হিসেবে ভাবুন যার কাছাকাছি ফলাফল থাকতে হবে, তবে তা এলাকার বাইরেও হতে পারে।অঞ্চলটি একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা বৃত্ত হিসাবে উল্লেখ করুন।
বৃত্তের কেন্দ্রবিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা বৃত্তকে সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই ০.০ থেকে ৫০০০০.০-এর মধ্যে হতে হবে। ডিফল্ট ব্যাসার্ধ হল ০.০। যেমন:
let request = SearchByTextRequest() request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশ ভিউপোর্ট, যা দুটি হিসাবে উপস্থাপিত হয় তির্যকভাবে বিপরীত নিম্ন এবং উচ্চ পয়েন্ট. নিম্ন বিন্দুটি আয়তক্ষেত্রের দক্ষিণ-পশ্চিম কোণকে চিহ্নিত করে এবং উচ্চ বিন্দুটি আয়তক্ষেত্রের উত্তর-পূর্ব কোণকে চিহ্নিত করে।
একটি ভিউপোর্টকে একটি বন্ধ অঞ্চল হিসাবে বিবেচনা করা হয়, যার অর্থ এটিতে এর সীমানা অন্তর্ভুক্ত রয়েছে। অক্ষাংশের সীমা অবশ্যই -৯০ থেকে ৯০ ডিগ্রির মধ্যে হতে হবে এবং দ্রাঘিমাংশের সীমা অবশ্যই -১৮০ থেকে ১৮০ ডিগ্রির মধ্যে হতে হবে:
low=highহলে, ভিউপোর্টে সেই একটিমাত্র পয়েন্ট থাকে।low.longitude>high.longitudeহলে, দ্রাঘিমাংশের রেঞ্জ উল্টে যায় (ভিউ পোর্ট ১৮০ ডিগ্রি দ্রাঘিমাংশ রেখা অতিক্রম করে)।low.longitude= -১৮০ ডিগ্রি এবংhigh.longitude= ১৮০ ডিগ্রি হলে, ভিউপোর্টে সব দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে।low.longitude= ১৮০ ডিগ্রি এবংhigh.longitude= -১৮০ ডিগ্রি হলে, দ্রাঘিমাংশের রেঞ্জ খালি থাকে।low.latitude>high.latitudeহলে, অক্ষাংশের রেঞ্জ খালি থাকে।
locationRestriction
সার্চ করার জন্য কোনও এলাকা নির্দিষ্ট করে। নির্দিষ্ট করা এলাকার বাইরের ফলাফল ফেরত দেওয়া হয় না। অঞ্চলটি একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসেবে উল্লেখ করুন। ভিউ পোর্ট নির্ধারণ করার ব্যাপারে তথ্য পেতে
locationBias-এর বিবরণ দেখুন।আপনি
locationRestrictionবাlocationBiasউল্লেখ করতে পারেন, তবে দুটিই নয়।locationRestriction-কে এমন একটি অঞ্চল হিসেবে ভাবুন যার মধ্যে ফলাফল থাকতে হবে এবংlocationBias-কে এমন একটি অঞ্চল হিসেবে ভাবুন যার কাছাকাছি ফলাফল থাকতে হবে, তবে তা এলাকার বাইরেও হতে পারে।-
maxResultCount
ফেরত দেওয়ার জন্য জায়গার ফলাফলের সর্বাধিক সংখ্যা নির্দিষ্ট করে। ১ থেকে ২০ (ডিফল্ট) এর মধ্যে হতে হবে।
minRating
শুধুমাত্র সেইসব ফলাফল দেখায় যেগুলির গড় ব্যবহারকারী রেটিং এই সীমার চেয়ে বেশি বা সমান। মান অবশ্যই ০.০ থেকে ৫.০ (অন্তর্ভুক্ত) এর মধ্যে হতে হবে ০.৫ এর ইনক্রিমেন্টে। যেমন: ০, ০.৫, ১.০, ... , ৫.০ সহ। ভ্যালু ০.৫-এর নিকটবর্তী পূর্ণ সংখ্যায় রাউন্ড-আপ করা হয়। যেমন, ০.৬ ভ্যালু ১.০-এর কম রেটিং থাকা সব ফলাফল বাদ দেয়।
-
priceLevels
নির্দিষ্ট দামের লেভেলে চিহ্নিত করা আছে এমন জায়গায় সার্চ সীমিত করুন। ডিফল্ট হিসেবে সব দামের লেভেল বেছে নেওয়া হয়।
PriceLevel-এর মাধ্যমে সংজ্ঞায়িত এক বা একাধিক ভ্যালুর অ্যারে উল্লেখ করুন।যেমন:
let request = SearchByTextRequest() request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
rankPreference
কোয়েরির ধরনের উপর ভিত্তি করে উত্তরে ফলাফল কীভাবে র্যাঙ্ক করা হয় তা নির্দিষ্ট করে:
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ"-এর মতো বিভাগীয় কোয়েরির ক্ষেত্রে,
.relevance(সার্চের প্রাসঙ্গিকতা অনুযায়ী ফলাফল র্যাঙ্ক করা) ডিফল্ট হিসেবে সেট করা থাকে। আপনিrankPreference-কে.relevanceবা.distance(দূরত্ব অনুযায়ী ফলাফল র্যাঙ্ক করুন) হিসেবে সেট করতে পারবেন। - "Mountain View, CA"-এর মতো কোনও নন-ক্যাটাগরিক্যাল কোয়েরির জন্য, আমরা সাজেস্ট করি
যে আপনি
rankPreferenceসেট না করেই ছেড়ে দিন।
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ"-এর মতো বিভাগীয় কোয়েরির ক্ষেত্রে,
regionCode
উত্তরের ফর্ম্যাট করার জন্য ব্যবহৃত অঞ্চল কোড, যা দুটি অক্ষরের CLDR কোড মান হিসেবে নির্দিষ্ট করা হয়েছে। এই প্যারামিটার সার্চ ফলাফলের উপর পক্ষপাতমূলক প্রভাবও ফেলতে পারে। কোনও ডিফল্ট ভ্যালু নেই।
রেসপন্সের ঠিকানা ফিল্ডে দেশের নাম অঞ্চল কোডের সাথে মিলে গেলে, ঠিকানা থেকে দেশের কোড বাদ দেওয়া হয়।
বেশিরভাগ CLDR কোড ISO 3166-1 কোডের মতোই, তবে কিছু ব্যতিক্রম আছে। যেমন, যুক্তরাজ্যের ccTLD হল "uk" (.co.uk) এবং এর ISO 3166-1 কোড হল "gb" (টেকনিক্যালি "গ্রেট ব্রিটেন ও উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" এন্টিটির জন্য)। প্রযোজ্য আইনের উপর ভিত্তি করে প্যারামিটার ফলাফলে প্রভাব ফেলতে পারে।
shouldIncludePureServiceAreaBusinesses
trueহলে, সার্চ ফলাফলে শুধু পরিষেবা এলাকার ব্যবসা দেখায়। শুধুমাত্র পরিষেবা প্রদানকারী ব্যবসা হল এমন ব্যবসা যা সরাসরি গ্রাহকদের লোকেশনে পরিষেবা প্রদান করে, কিন্তু ব্যবসার ঠিকানায় গ্রাহকদের পরিষেবা প্রদান করে না।যেমন:
Places Swift SDK
let request = SearchByTextRequest() request.shouldIncludePureServiceAreaBusinesses = true
Swift
let request = SearchByTextRequest() request.shouldIncludePureServiceAreaBusinesses: true
Objective-C
GMSPlaceSearchByTextRequest *request = [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyAll]]; request.shouldIncludePureServiceAreaBusinesses = YES;
আপনার অ্যাপে অ্যাট্রিবিউশন দেখান
আপনার অ্যাপ যখন
GMSPlacesClient
থেকে পাওয়া তথ্য দেখায়, যেমন ফটো ও রিভিউ, তখন অ্যাপকে অবশ্যই প্রয়োজনীয় অ্যাট্রিবিউশন দেখাতে হবে।
যেমন, GMSPlacesClient অবজেক্টের reviews প্রপার্টিতে
সর্বাধিক পাঁচটি
GMSPlaceReview
অবজেক্টের অ্যারে থাকে। প্রতিটি GMSPlaceReview অবজেক্টে অ্যাট্রিবিউশন ও লেখকের অ্যাট্রিবিউশন থাকতে পারে।
আপনার অ্যাপে রিভিউ দেখালে, আপনাকে অবশ্যই কোনও অ্যাট্রিবিউশন বা লেখকের অ্যাট্রিবিউশন
দেখাতে হবে।
আরও তথ্যের জন্য, অ্যাট্রিবিউশন সংক্রান্ত ডকুমেন্টেশন দেখুন।