টেক্সট সার্চ (নতুন) একটি স্ট্রিং (উদাহরণস্বরূপ, "নিউ ইয়র্কের পিৎজা" অথবা "অটওয়ার কাছে জুতার দোকান" অথবা "১২৩ মেইন স্ট্রিট") এর উপর ভিত্তি করে স্থানের একটি সেট সম্পর্কে তথ্য প্রদান করে। পরিষেবাটি টেক্সট স্ট্রিং এবং সেট করা যেকোনো অবস্থানের পক্ষপাতের সাথে মিলে যাওয়া স্থানের একটি তালিকা সহ প্রতিক্রিয়া জানায়।
প্রয়োজনীয় প্যারামিটার ছাড়াও, টেক্সট সার্চ (নতুন) আরও ভালো ফলাফলের জন্য ঐচ্ছিক প্যারামিটার ব্যবহার করে কোয়েরিগুলি পরিশোধন করতে সহায়তা করে।
টেক্সট সার্চের মাধ্যমে জায়গার তালিকা পান
GMSPlacesClient searchByTextWithRequest: কল করে একটি টেক্সট সার্চ রিকোয়েস্ট তৈরি করুন, একটি GMSPlaceSearchByTextRequest অবজেক্ট পাস করুন যা রিকোয়েস্ট প্যারামিটার এবং একটি কলব্যাক পদ্ধতি, যেমন GMSPlaceSearchByTextResultCallback , নির্ধারণ করে, প্রতিক্রিয়া পরিচালনা করার জন্য।
GMSPlaceSearchByTextRequest অবজেক্ট অনুরোধের জন্য প্রয়োজনীয় এবং ঐচ্ছিক সকল প্যারামিটার নির্দিষ্ট করে। প্রয়োজনীয় প্যারামিটারগুলির মধ্যে রয়েছে:
-
GMSPlaceঅবজেক্টে ফেরত পাঠানোর জন্য ফিল্ডের তালিকা, যাকে ফিল্ড মাস্কও বলা হয়,GMSPlacePropertyদ্বারা সংজ্ঞায়িত। যদি আপনি ফিল্ড তালিকায় কমপক্ষে একটি ফিল্ড নির্দিষ্ট না করেন, অথবা যদি আপনি ফিল্ড তালিকাটি বাদ দেন, তাহলে কলটি একটি ত্রুটি ফেরত পাঠায়। - টেক্সট কোয়েরি ।
এই উদাহরণ টেক্সট অনুসন্ধান অনুরোধটি নির্দিষ্ট করে যে প্রতিক্রিয়া GMSPlace অবজেক্টগুলিতে অনুসন্ধান ফলাফলে প্রতিটি GMSPlace অবজেক্টের জন্য স্থানের নাম এবং স্থান আইডি রয়েছে। এটি শুধুমাত্র "রেস্তোরাঁ" ধরণের স্থান ফেরত দেওয়ার প্রতিক্রিয়া ফিল্টার করে।
প্লেস সুইফট এসডিকে
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 }
সুইফট
// 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)
অবজেক্টিভ-সি
// 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; } } } ];
টেক্সট সার্চের প্রতিক্রিয়া
টেক্সট সার্চ এপিআই GMSPlace অবজেক্ট আকারে মিলের একটি অ্যারে প্রদান করে, যেখানে প্রতি ম্যাচিং স্থানে একটি করে GMSPlace অবজেক্ট থাকে।
খোলা অবস্থা পান
GMSPlacesClient অবজেক্টে isOpenWithRequest (Swift-এ isOpenRequest এবং GooglePlacesSwift-এ isPlaceOpenRequest ) নামে একটি সদস্য ফাংশন থাকে যা কলে উল্লেখিত সময়ের উপর ভিত্তি করে স্থানটি বর্তমানে খোলা আছে কিনা তা নির্দেশ করে একটি প্রতিক্রিয়া প্রদান করে।
এই পদ্ধতিটি GMSPlaceIsOpenWithRequest ধরণের একটি একক আর্গুমেন্ট নেয় যার মধ্যে রয়েছে:
- একটি
GMSPlaceঅবজেক্ট , অথবা একটি স্ট্রিং যা একটি স্থান আইডি উল্লেখ করে। প্রয়োজনীয় ক্ষেত্রগুলি সহ স্থান অবজেক্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, স্থানের বিবরণ দেখুন। - একটি ঐচ্ছিক
NSDate(Obj-C) অথবাDate(Swift) অবজেক্ট যা আপনি যে সময়টি পরীক্ষা করতে চান তা নির্দিষ্ট করে। যদি কোনও সময় নির্দিষ্ট না থাকে, তাহলে ডিফল্ট হল "now"। - প্রতিক্রিয়া পরিচালনা করার জন্য একটি
GMSPlaceOpenStatusResponseCallbackপদ্ধতি। >
GMSPlaceIsOpenWithRequest পদ্ধতিতে GMSPlace অবজেক্টে নিম্নলিখিত ক্ষেত্রগুলি সেট করা প্রয়োজন:
-
GMSPlacePropertyUTCOffsetMinutes -
GMSPlacePropertyBusinessStatus -
GMSPlacePropertyOpeningHours -
GMSPlacePropertyCurrentOpeningHours -
GMSPlacePropertySecondaryOpeningHours
যদি এই ক্ষেত্রগুলি Place অবজেক্টে প্রদান করা না থাকে, অথবা আপনি যদি একটি Place ID পাস করেন, তাহলে পদ্ধতিটি GMSPlacesClient GMSFetchPlaceRequest: ব্যবহার করে সেগুলি আনয়ন করে।
isOpenWithRequest প্রতিক্রিয়া
isOpenWithRequest একটি GMSPlaceIsOpenResponse অবজেক্ট ফেরত পাঠায় যার নাম status যা নির্দেশ করে যে ব্যবসাটি খোলা আছে, বন্ধ আছে, অথবা স্ট্যাটাসটি অজানা কিনা।
| ভাষা | খোলা থাকলে মান | বন্ধ থাকলে মান | স্ট্যাটাস অজানা থাকলে মান |
|---|---|---|---|
| স্থান সুইফট | true | false | nil |
| সুইফট | .open | .closed | .unknown |
| অবজেক্টিভ-সি | GMSPlaceOpenStatusOpen | GMSPlaceOpenStatusClosed | GMSPlaceOpenStatusUnknown |
isOpenWithRequest এর জন্য বিলিং
-
GMSPlacePropertyUTCOffsetMinutesএবংGMSPlacePropertyBusinessStatusক্ষেত্রগুলি বেসিক ডেটা SKU এর অধীনে চার্জ করা হয়। বাকি খোলা থাকার সময়গুলি স্থান বিবরণী এন্টারপ্রাইজ 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 } }];
পৃষ্ঠাঙ্কন
টেক্সট সার্চ একটি পেজিনেশন অবজেক্ট , hasNextPage বুলিয়ান প্রদান করে, যা টেক্সট সার্চ কলের প্রথম প্রতিক্রিয়ায় ফিরে আসে। যদি পরবর্তী পৃষ্ঠা পাওয়া যায়, তাহলে আপনি এটি লোড করার জন্য fetchNextPage() ফাংশন ব্যবহার করতে পারেন।
নিম্নলিখিত উদাহরণে দেখানো হয়েছে কিভাবে পরবর্তী পৃষ্ঠাটি উপলব্ধ কিনা তা পরীক্ষা করতে হয় এবং তারপর পৃষ্ঠাটি লোড করতে হয়।
সুইফট
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") }
অবজেক্টিভ-সি
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বৈশিষ্ট্যগুলির একটি তালিকা পাস করুন যেখানে ডেটা ক্ষেত্রগুলি ফেরত দিতে হবে তা উল্লেখ করা হয়েছে। যদি আপনি ফিল্ড মাস্কটি বাদ দেন, তাহলে অনুরোধটি একটি ত্রুটি ফেরত দেবে।ফিল্ড তালিকাগুলি একটি ভালো নকশা অনুশীলন যা নিশ্চিত করে যে আপনি অপ্রয়োজনীয় ডেটা অনুরোধ করবেন না, যা অপ্রয়োজনীয় প্রক্রিয়াকরণ সময় এবং বিলিং চার্জ এড়াতে সাহায্য করে।
নিম্নলিখিত ক্ষেত্রগুলির মধ্যে একটি বা একাধিক উল্লেখ করুন:
নিম্নলিখিত ক্ষেত্রগুলি টেক্সট সার্চ এসেনশিয়ালস আইডি অনলি SKU ট্রিগার করে:
GMSPlacePropertyPlaceIDনিম্নলিখিত ক্ষেত্রগুলি টেক্সট অনুসন্ধান প্রো SKU ট্রিগার করে:
GMSPlacePropertyAddressComponents
GMSPlacePropertyBusinessStatus
GMSPlacePropertyCoordinate
GMSPlacePropertyFormattedAddress
GMSPlacePropertyIconBackgroundColor
GMSPlacePropertyIconImageURL
GMSPlacePropertyName
GMSPlacePropertyPhotos
GMSPlacePropertyPlusCode
GMSPlacePropertyTypes
GMSPlacePropertyUTCOffsetMinutes
GMSPlacePropertyViewport
GMSPlacePropertyWheelchairAccessibleEntranceনিম্নলিখিত ক্ষেত্রগুলি টেক্সট অনুসন্ধান এন্টারপ্রাইজ SKU ট্রিগার করে:
GMSPlacePropertyCurrentOpeningHours
GMSPlacePropertySecondaryOpeningHours
GMSPlacePropertyPhoneNumber
GMSPlacePropertyPriceLevel
GMSPlacePropertyRating
GMSPlacePropertyOpeningHours
GMSPlacePropertyUserRatingsTotal
GMSPlacePropertyWebsiteনিম্নলিখিত ক্ষেত্রগুলি টেক্সট সার্চ এন্টারপ্রাইজ প্লাস SKU ট্রিগার করে:
GMSPlacePropertyCurbsidePickup
GMSPlacePropertyDelivery
GMSPlacePropertyDineIn
GMSPlacePropertyEditorialSummary
GMSPlacePropertyReservable
GMSPlacePropertyReviews
GMSPlacePropertyServesBeer
GMSPlacePropertyServesBreakfast
GMSPlacePropertyServesBrunch
GMSPlacePropertyServesDinner
GMSPlacePropertyServesLunch
GMSPlacePropertyServesVegetarianFood
GMSPlacePropertyServesWine
GMSPlacePropertyTakeout
টেক্সটকোয়েরি
যে টেক্সট স্ট্রিংটিতে অনুসন্ধান করতে হবে, উদাহরণস্বরূপ: "রেস্তোরাঁ", "১২৩ মেইন স্ট্রিট", অথবা "সান ফ্রান্সিসকোতে দেখার জন্য সেরা জায়গা"।
ঐচ্ছিক পরামিতি
অনুসন্ধানের জন্য ঐচ্ছিক প্যারামিটারগুলি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest অবজেক্ট ব্যবহার করুন।
অন্তর্ভুক্তপ্রকার
সারণি A দ্বারা সংজ্ঞায়িত নির্দিষ্ট ধরণের সাথে মিলে যাওয়া স্থানগুলিতে ফলাফল সীমাবদ্ধ করে। শুধুমাত্র একটি প্রকার নির্দিষ্ট করা যেতে পারে। উদাহরণস্বরূপ:
-
let request = SearchByTextRequest()
request.includedType = "bar" -
let request = SearchByTextRequest()
request.includedType = "pharmacy"
-
এখন খোলা আছে
যদি
true, তাহলে শুধুমাত্র সেইসব স্থান ফেরত দিন যেগুলি কোয়েরি পাঠানোর সময় ব্যবসার জন্য খোলা ছিল। যদিfalse, তাহলে খোলা অবস্থা নির্বিশেষে সমস্ত ব্যবসা ফেরত দিন। যদি আপনি এই প্যারামিটারটিfalseতে সেট করেন তবে Google Places ডাটাবেসে খোলার সময় নির্দিষ্ট না করা স্থানগুলি ফেরত দেওয়া হবে।isStrictTypeফিল্টারিং
includeTypeপ্যারামিটারের সাথে ব্যবহার করা হয়।trueতে সেট করা হলে, শুধুমাত্রincludeTypeদ্বারা নির্দিষ্ট করা নির্দিষ্ট ধরণের সাথে মেলে এমন স্থানগুলি ফেরত দেওয়া হয়। যখন false, ডিফল্ট, প্রতিক্রিয়াতে এমন স্থান থাকতে পারে যা নির্দিষ্ট ধরণের সাথে মেলে না।অবস্থান পক্ষপাত
অনুসন্ধানের জন্য একটি এলাকা নির্দিষ্ট করে। এই অবস্থানটি একটি পক্ষপাত হিসেবে কাজ করে যার অর্থ নির্দিষ্ট স্থানের চারপাশের ফলাফলগুলি ফেরত পাঠানো যেতে পারে, নির্দিষ্ট এলাকার বাইরের ফলাফল সহ।
আপনি
locationRestrictionঅথবাlocationBiasনির্দিষ্ট করতে পারেন, কিন্তু দুটোই নয়।locationRestrictionবলতে সেই অঞ্চলকে নির্দিষ্ট করে ভাবুন যেখানে ফলাফলগুলি অবশ্যই থাকা উচিত, এবংlocationBiasবলতে সেই অঞ্চলকে নির্দিষ্ট করে যেখানে ফলাফলগুলি অবশ্যই কাছাকাছি থাকতে হবে কিন্তু এলাকার বাইরেও থাকতে পারে।অঞ্চলটিকে একটি আয়তক্ষেত্রাকার ভিউপোর্ট অথবা একটি বৃত্ত হিসেবে উল্লেখ করুন।
একটি বৃত্তকে কেন্দ্রবিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধটি 0.0 এবং 50000.0 এর মধ্যে হতে হবে, যার মধ্যে রয়েছে। ডিফল্ট ব্যাসার্ধ হল 0.0। উদাহরণস্বরূপ:
let request = SearchByTextRequest() request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশ ভিউপোর্ট, যা দুটি তির্যক বিপরীত নিম্ন এবং উচ্চ বিন্দু হিসাবে প্রতিনিধিত্ব করে। নিম্ন বিন্দুটি আয়তক্ষেত্রের দক্ষিণ-পশ্চিম কোণকে চিহ্নিত করে এবং উচ্চ বিন্দুটি আয়তক্ষেত্রের উত্তর-পূর্ব কোণকে প্রতিনিধিত্ব করে।
একটি ভিউপোর্টকে একটি বদ্ধ অঞ্চল হিসেবে বিবেচনা করা হয়, যার অর্থ এটি তার সীমানা অন্তর্ভুক্ত করে। অক্ষাংশ সীমানা -৯০ থেকে ৯০ ডিগ্রির মধ্যে হতে হবে এবং দ্রাঘিমাংশ সীমানা -১৮০ থেকে ১৮০ ডিগ্রির মধ্যে হতে হবে:
- যদি
low=high, তাহলে ভিউপোর্টটি সেই একক বিন্দু দিয়ে গঠিত। - যদি
low.longitude>high.longitude, তাহলে দ্রাঘিমাংশ পরিসর উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশ রেখা অতিক্রম করে)। - যদি
low.longitude= -180 degrees এবংhigh.longitude= 180 degrees হয়, তাহলে ভিউপোর্টে সমস্ত দ্রাঘিমাংশ অন্তর্ভুক্ত থাকবে। - যদি
low.longitude= ১৮০ ডিগ্রি এবংhigh.longitude= -১৮০ ডিগ্রি হয়, তাহলে দ্রাঘিমাংশ পরিসর খালি থাকবে। - যদি
low.latitude>high.latitudeহয়, তাহলে অক্ষাংশ পরিসর খালি থাকবে।
- যদি
অবস্থানের সীমাবদ্ধতা
অনুসন্ধানের জন্য একটি এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরের ফলাফল ফেরত দেওয়া হয় না। অঞ্চলটিকে একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসেবে উল্লেখ করুন। ভিউপোর্ট সংজ্ঞায়িত করার তথ্যের জন্য
locationBiasএর বিবরণ দেখুন।আপনি
locationRestrictionঅথবাlocationBiasনির্দিষ্ট করতে পারেন, কিন্তু দুটোই নয়।locationRestrictionবলতে সেই অঞ্চলকে নির্দিষ্ট করে ভাবুন যেখানে ফলাফলগুলি অবশ্যই থাকা উচিত, এবংlocationBiasবলতে সেই অঞ্চলকে নির্দিষ্ট করে যেখানে ফলাফলগুলি অবশ্যই কাছাকাছি থাকতে হবে কিন্তু এলাকার বাইরেও থাকতে পারে।সর্বোচ্চ ফলাফল গণনা
সর্বোচ্চ কতগুলি স্থানের ফলাফল দেখানো হবে তা নির্দিষ্ট করে। ১ থেকে ২০ (ডিফল্ট) এর মধ্যে হতে হবে।
ন্যূনতম রেটিং
শুধুমাত্র সেইসব ফলাফলের ক্ষেত্রে সীমাবদ্ধ যাদের গড় ব্যবহারকারী রেটিং এই সীমার চেয়ে বেশি বা সমান। মানগুলি 0.5 বৃদ্ধির সাথে 0.0 এবং 5.0 (সমেত) এর মধ্যে হতে হবে। উদাহরণস্বরূপ: 0, 0.5, 1.0, ... , 5.0 সহ। মানগুলি নিকটতম 0.5 পর্যন্ত পূর্ণসংখ্যা করা হয়। উদাহরণস্বরূপ, 0.6 এর মান 1.0 এর কম রেটিং সহ সমস্ত ফলাফলকে বাদ দেয়।
মূল্যস্তর
নির্দিষ্ট মূল্য স্তরে চিহ্নিত স্থানগুলিতে অনুসন্ধান সীমাবদ্ধ রাখুন। ডিফল্টভাবে সমস্ত মূল্য স্তর নির্বাচন করা হয়।
PriceLevelদ্বারা সংজ্ঞায়িত এক বা একাধিক মানের একটি অ্যারে নির্দিষ্ট করুন।উদাহরণস্বরূপ:
let request = SearchByTextRequest() request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
পদমর্যাদাপ্রেফারেন্স
কোয়েরির ধরণের উপর ভিত্তি করে প্রতিক্রিয়াতে ফলাফলগুলি কীভাবে র্যাঙ্ক করা হয় তা নির্দিষ্ট করে:
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ" এর মতো একটি শ্রেণীবদ্ধ প্রশ্নের জন্য,
.relevance(সার্চ প্রাসঙ্গিকতা অনুসারে ফলাফলের র্যাঙ্ক) হল ডিফল্ট। আপনিrankPreferenceকে.relevanceঅথবা.distance(দূরত্ব অনুসারে ফলাফলের র্যাঙ্ক) এ সেট করতে পারেন। - "মাউন্টেন ভিউ, ক্যালিফোর্নিয়া" এর মতো অ-শ্রেণীবদ্ধ প্রশ্নের জন্য, আমরা আপনাকে
rankPreferenceসেট না করে রাখার পরামর্শ দিচ্ছি।
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ" এর মতো একটি শ্রেণীবদ্ধ প্রশ্নের জন্য,
অঞ্চল কোড
প্রতিক্রিয়া ফর্ম্যাট করতে ব্যবহৃত অঞ্চল কোড, দুই-অক্ষরের CLDR কোড মান হিসাবে নির্দিষ্ট করা হয়েছে। এই প্যারামিটারটি অনুসন্ধান ফলাফলের উপর পক্ষপাতের প্রভাবও ফেলতে পারে। কোনও ডিফল্ট মান নেই।
যদি উত্তরে ঠিকানা ক্ষেত্রের দেশের নাম অঞ্চল কোডের সাথে মিলে যায়, তাহলে ঠিকানা থেকে দেশের কোড বাদ দেওয়া হবে।
বেশিরভাগ CLDR কোড ISO 3166-1 কোডের অনুরূপ, কিছু উল্লেখযোগ্য ব্যতিক্রম ছাড়া। উদাহরণস্বরূপ, যুক্তরাজ্যের ccTLD হল "uk" (.co.uk) যেখানে এর ISO 3166-1 কোড হল "gb" (প্রযুক্তিগতভাবে "The United Kingdom of Great Britain and Northern Ireland" এর সত্তার জন্য)। প্রযোজ্য আইনের উপর ভিত্তি করে প্যারামিটারটি ফলাফলকে প্রভাবিত করতে পারে।
অন্তর্ভুক্ত করা উচিতবিশুদ্ধ পরিষেবাক্ষেত্রব্যবসা
যদি
true, তাহলে অনুসন্ধানের ফলাফলে বিশুদ্ধ পরিষেবা এলাকার ব্যবসাগুলি দেখায়। একটি বিশুদ্ধ পরিষেবা এলাকার ব্যবসা হল এমন একটি ব্যবসা যা সরাসরি গ্রাহকদের কাছে যায় বা তাদের কাছে পৌঁছে দেয়, কিন্তু গ্রাহকদের তাদের ব্যবসায়িক ঠিকানায় পরিষেবা দেয় না।উদাহরণস্বরূপ:
প্লেস সুইফট এসডিকে
let request = SearchByTextRequest() request.shouldIncludePureServiceAreaBusinesses = true
সুইফট
let request = SearchByTextRequest() request.shouldIncludePureServiceAreaBusinesses: true
অবজেক্টিভ-সি
GMSPlaceSearchByTextRequest *request = [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyAll]]; request.shouldIncludePureServiceAreaBusinesses = YES;
আপনার অ্যাপে অ্যাট্রিবিউশন দেখান
যখন আপনার অ্যাপটি GMSPlacesClient থেকে প্রাপ্ত তথ্য, যেমন ছবি এবং পর্যালোচনা প্রদর্শন করে, তখন অ্যাপটিকে অবশ্যই প্রয়োজনীয় বৈশিষ্ট্যগুলিও প্রদর্শন করতে হবে।
উদাহরণস্বরূপ, GMSPlacesClient অবজেক্টের reviews প্রপার্টিতে পাঁচটি পর্যন্ত GMSPlaceReview অবজেক্টের একটি অ্যারে থাকে। প্রতিটি GMSPlaceReview অবজেক্টে অ্যাট্রিবিউশন এবং লেখক অ্যাট্রিবিউশন থাকতে পারে। আপনি যদি আপনার অ্যাপে রিভিউটি প্রদর্শন করেন, তাহলে আপনাকে অবশ্যই যেকোনো অ্যাট্রিবিউশন বা লেখক অ্যাট্রিবিউশনও প্রদর্শন করতে হবে।
আরও তথ্যের জন্য, অ্যাট্রিবিউশন সম্পর্কিত ডকুমেন্টেশন দেখুন।