একটি পাঠ্য অনুসন্ধান একটি স্ট্রিংয়ের উপর ভিত্তি করে স্থানগুলির একটি সেট সম্পর্কে তথ্য প্রদান করে। উদাহরণস্বরূপ, "নিউ ইয়র্কের পিৎজা", "অটোয়ার কাছে জুতার দোকান", বা "123 মেইন স্ট্রিট"। পরিষেবাটি পাঠ্য স্ট্রিংয়ের সাথে মেলে এমন স্থানগুলির একটি তালিকা এবং যে কোনও সেট অবস্থানের পক্ষপাতের সাথে প্রতিক্রিয়া জানায়৷
পরিষেবাটি একটি স্বয়ংক্রিয় সিস্টেমে অস্পষ্ট ঠিকানা প্রশ্ন করার জন্য বিশেষভাবে উপযোগী, এবং স্ট্রিংয়ের অ-ঠিকানা উপাদানগুলি ব্যবসার পাশাপাশি ঠিকানাগুলির সাথে মেলে। অস্পষ্ট ঠিকানা প্রশ্নগুলির উদাহরণ হল খারাপভাবে-ফরম্যাট করা ঠিকানা বা অনুরোধ যাতে অ-ঠিকানা উপাদান অন্তর্ভুক্ত থাকে, যেমন ব্যবসার নাম। প্রথম দুটি উদাহরণের মতো অনুরোধগুলি শূন্য ফলাফল দিতে পারে যদি না কোনো অবস্থান (যেমন অঞ্চল, অবস্থানের সীমাবদ্ধতা, বা অবস্থানের পক্ষপাত) সেট না করা হয়।
"10 হাই স্ট্রিট, ইউকে" বা "123 মেইন স্ট্রিট, ইউএস" | ইউকেতে একাধিক "হাই স্ট্রিট"; মার্কিন যুক্তরাষ্ট্রে একাধিক "মেইন স্ট্রিট"। একটি অবস্থান সীমাবদ্ধতা সেট না করা পর্যন্ত কোয়েরি পছন্দসই ফলাফল দেয় না। |
"চেইন রেস্টুরেন্ট নিউ ইয়র্ক" | নিউ ইয়র্কে একাধিক "চেইন রেস্টুরেন্ট" অবস্থান; কোন রাস্তার ঠিকানা এমনকি রাস্তার নামও নেই। |
"10 হাই স্ট্রিট, এসচার ইউকে" বা "123 মেইন স্ট্রিট, প্লেস্যান্টন ইউএস" | যুক্তরাজ্যের এসচার শহরে একটি মাত্র "হাই স্ট্রিট"; শুধুমাত্র একটি "মেইন স্ট্রীট" মার্কিন শহর প্লেস্যান্টন CA. |
"অনন্য রেস্তোরাঁর নাম নিউ ইয়র্ক" | নিউইয়র্কে এই নামের একটি মাত্র স্থাপনা; কোন রাস্তার ঠিকানা পার্থক্য প্রয়োজন. |
"নিউ ইয়র্কের পিৎজা রেস্টুরেন্ট" | এই ক্যোয়ারীতে এর অবস্থান সীমাবদ্ধতা রয়েছে এবং "পিৎজা রেস্তোরাঁ" হল একটি সুনির্দিষ্ট স্থানের ধরন৷ এটি একাধিক ফলাফল প্রদান করে। |
"+1 514-670-8700" | এই প্রশ্নটিতে একটি ফোন নম্বর রয়েছে৷ এটি সেই ফোন নম্বরের সাথে যুক্ত স্থানগুলির জন্য একাধিক ফলাফল প্রদান করে৷ |
পাঠ্য অনুসন্ধানের মাধ্যমে স্থানগুলির একটি তালিকা পান
GMSPlacesClient searchByTextWithRequest:
, একটি GMSPlaceSearchByTextRequest
অবজেক্ট পাস করে যা অনুরোধের পরামিতি এবং একটি কলব্যাক পদ্ধতি সংজ্ঞায়িত করে, GMSPlaceSearchByTextResultCallback
টাইপ , প্রতিক্রিয়া পরিচালনা করতে কল করে একটি পাঠ্য অনুসন্ধানের অনুরোধ করুন৷
GMSPlaceSearchByTextRequest
অবজেক্ট অনুরোধের জন্য প্রয়োজনীয় এবং ঐচ্ছিক পরামিতিগুলি নির্দিষ্ট করে। প্রয়োজনীয় পরামিতি অন্তর্ভুক্ত:
-
GMSPlace
অবজেক্টে ফিল্ডের তালিকা, যাকে ফিল্ড মাস্কও বলা হয়, যেমনGMSPlaceProperty
দ্বারা সংজ্ঞায়িত করা হয়েছে। আপনি যদি ক্ষেত্র তালিকায় অন্তত একটি ক্ষেত্র নির্দিষ্ট না করেন, অথবা যদি আপনি ক্ষেত্র তালিকা বাদ দেন, তাহলে কলটি একটি ত্রুটি প্রদান করে৷ - টেক্সট কোয়েরি ।
এই উদাহরণ টেক্সট সার্চ রিকোয়েস্টটি নির্দিষ্ট করে যে উত্তর GMSPlace
অবজেক্টে সার্চের ফলাফলে প্রতিটি GMSPlace
অবজেক্টের জন্য জায়গার নাম এবং জায়গার আইডি থাকে। এটি শুধুমাত্র "রেস্তোরাঁ" টাইপের রিটার্ন স্থানগুলিতে প্রতিক্রিয়া ফিল্টার করে।
সুইফট
// 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)
উদ্দেশ্য-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; } } } ];
আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)
let restriction = RectangularLocationRestriction( 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 }
পাঠ্য অনুসন্ধান প্রতিক্রিয়া
টেক্সট সার্চ এপিআই GMSPlace
অবজেক্টের আকারে মিলের একটি অ্যারে প্রদান করে, প্রতি মিলিত জায়গায় একটি GMSPlace
অবজেক্ট সহ।
ওপেন স্ট্যাটাস পান
GMSPlacesClient
অবজেক্টে isOpenWithRequest
( সুইফটে isOpenRequest
এবং GooglePlacesSwift-এ isPlaceOpenRequest
) নামক একটি সদস্য ফাংশন রয়েছে যা কলে নির্দিষ্ট সময়ের উপর ভিত্তি করে স্থানটি বর্তমানে খোলা আছে কিনা তা নির্দেশ করে।
এই পদ্ধতিটি GMSPlaceIsOpenWithRequest
প্রকারের একটি একক আর্গুমেন্ট নেয় যাতে রয়েছে:
- একটি
GMSPlace
অবজেক্ট , বা একটি স্থান আইডি নির্দিষ্ট করে এমন একটি স্ট্রিং। প্রয়োজনীয় ক্ষেত্রগুলির সাথে প্লেস অবজেক্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, স্থানের বিবরণ দেখুন। - একটি ঐচ্ছিক
NSDate
(Obj-C) বাDate
(Swift) অবজেক্ট যা আপনি পরীক্ষা করতে চান তা নির্দিষ্ট করে। যদি কোন সময় নির্দিষ্ট করা না থাকে, ডিফল্ট এখন। - প্রতিক্রিয়া পরিচালনা করার জন্য একটি
GMSPlaceOpenStatusResponseCallback
পদ্ধতি। >
GMSPlaceIsOpenWithRequest
পদ্ধতির জন্য GMSPlace
অবজেক্টে নিম্নলিখিত ক্ষেত্রগুলি সেট করা প্রয়োজন:
-
GMSPlacePropertyUTCOffsetMinutes
-
GMSPlacePropertyBusinessStatus
-
GMSPlacePropertyOpeningHours
-
GMSPlacePropertyCurrentOpeningHours
-
GMSPlacePropertySecondaryOpeningHours
যদি এই ক্ষেত্রগুলি প্লেস অবজেক্টে প্রদান করা না হয়, বা আপনি যদি একটি স্থান আইডি পাস করেন, তাহলে পদ্ধতিটি GMSPlacesClient GMSFetchPlaceRequest:
সেগুলি আনার জন্য ব্যবহার করে।
isOpenWithRequest
প্রতিক্রিয়া
isOpenWithRequest
একটি GMSPlaceIsOpenResponse
অবজেক্ট ফেরত দেয় যেখানে একটি বুলিয়ান মান নামক status
রয়েছে যা নির্দেশ করে যে ব্যবসাটি খোলা, বন্ধ, বা স্থিতি অজানা কিনা।
ভাষা | খোলা থাকলে মান | বন্ধ হলে মান | স্থিতি অজানা থাকলে মান |
---|---|---|---|
সুইফট | .open | .closed | .unknown |
উদ্দেশ্য-C | GMSPlaceOpenStatusOpen | GMSPlaceOpenStatusClosed | GMSPlaceOpenStatusUnknown |
GooglePlacesSwift (প্রিভিউ) | true | false | nil |
isOpenWithRequest
এর জন্য বিলিং
-
GMSPlacePropertyUTCOffsetMinutes
এবংGMSPlacePropertyBusinessStatus
ক্ষেত্রগুলি বেসিক ডেটা SKU-এর অধীনে চার্জ করা হয়। খোলার বাকি সময়গুলি স্থানের বিবরণ (অ্যাডভান্সড) SKU-এর অধীনে চার্জ করা হয়। - যদি আপনার
GMSPlace
অবজেক্টে পূর্বের অনুরোধ থেকে এই ক্ষেত্রগুলি ইতিমধ্যেই থাকে, তাহলে আপনাকে আর চার্জ করা হবে না।
উদাহরণ: একটি GMSPlaceIsOpenWithRequest
অনুরোধ করুন
নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি বিদ্যমান GMSPlace
অবজেক্টের মধ্যে একটি GMSPlaceIsOpenWithRequest
আরম্ভ করতে হয়। সুইফট
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 } }
উদ্দেশ্য-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 } }];
GooglePlacesSwift
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 }
প্রয়োজনীয় পরামিতি
অনুসন্ধানের জন্য প্রয়োজনীয় পরামিতি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest
অবজেক্ট ব্যবহার করুন।
ক্ষেত্র তালিকা
কোন স্থানের ডেটা বৈশিষ্ট্যগুলি ফেরত দিতে হবে তা নির্দিষ্ট করুন৷
GMSPlace
বৈশিষ্ট্যগুলির একটি তালিকা পাস করুন যা ফেরত দেওয়ার জন্য ডেটা ক্ষেত্রগুলি নির্দিষ্ট করে৷ আপনি যদি ফিল্ড মাস্ক বাদ দেন, অনুরোধটি একটি ত্রুটি ফিরিয়ে দেবে।আপনি অপ্রয়োজনীয় ডেটার অনুরোধ করবেন না তা নিশ্চিত করার জন্য ক্ষেত্র তালিকাগুলি একটি ভাল নকশা অনুশীলন, যা অপ্রয়োজনীয় প্রক্রিয়াকরণের সময় এবং বিলিং চার্জ এড়াতে সহায়তা করে।
নিম্নলিখিত ক্ষেত্রগুলির মধ্যে এক বা একাধিক নির্দিষ্ট করুন:
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধানকে ট্রিগার করে (শুধুমাত্র ID) SKU :
GMSPlacePropertyPlaceID
,GMSPlacePropertyName
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধান (বেসিক) SKU ট্রিগার করে:
GMSPlacePropertyAddressComponents
,GMSPlacePropertyBusinessStatus
,GMSPlacePropertyFormattedAddress
,GMSPlacePropertyIconBackgroundColor
,GMSPlacePropertyIconImageURL
,GMSPlacePropertyCoordinate
de ,GMSPlacePropertyPhotos
,GMSPlacePropertyPlusCode
,GMSPlacePropertyViewport
,GMSPlacePropertyWheelchairAccessibleEntrance
GMSPlacePropertyTypes
GMSPlacePropertyUTCOffsetMinutes
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধান (উন্নত) SKU ট্রিগার করে:
GMSPlacePropertyCurrentOpeningHours
,GMSPlacePropertySecondaryOpeningHours
,GMSPlacePropertyPhoneNumber
,GMSPlacePropertyPriceLevel
,GMSPlacePropertyRating
,GMSPlacePropertyOpeningHours
,GMSPlacePropertyUserRatingsTotal
,GMSPlacePropertyWebsite
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধান (পছন্দের) SKU ট্রিগার করে:
GMSPlacePropertyCurbsidePickup
,GMSPlacePropertyDelivery
,GMSPlacePropertyDineIn
,GMSPlacePropertyEditorialSummary
,GMSPlacePropertyReservable
,GMSPlacePropertyReviews
,GMSPlacePropertyServesBeer
,GMSPlacePropertyServesBrunch
GMSPlacePropertyServesBreakfast
,GMSPlacePropertyServesDinner
,GMSPlacePropertyServesLunch
,GMSPlacePropertyServesVegetarianFood
Food ,GMSPlacePropertyServesWine
,GMSPlacePropertyTakeout
textQuery
টেক্সট স্ট্রিং যার উপর অনুসন্ধান করতে হবে, উদাহরণস্বরূপ: "রেস্তোরাঁ", "123 প্রধান রাস্তা", বা "সান ফ্রান্সিসকোতে দেখার সেরা জায়গা"।
ঐচ্ছিক পরামিতি
অনুসন্ধানের জন্য ঐচ্ছিক পরামিতি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest
অবজেক্ট ব্যবহার করুন।
অন্তর্ভুক্ত প্রকার
সারণি A দ্বারা সংজ্ঞায়িত নির্দিষ্ট প্রকারের সাথে মেলে এমন জায়গায় ফলাফলগুলিকে সীমাবদ্ধ করে৷ শুধুমাত্র একটি প্রকার নির্দিষ্ট করা যেতে পারে। যেমন:
-
request.includedType = "bar"
-
request.includedType = "pharmacy"
-
এখন খুলুন
true
হলে, ক্যোয়ারী পাঠানোর সময় ব্যবসার জন্য উন্মুক্ত শুধুমাত্র সেই জায়গাগুলি ফেরত দিন।false
হলে, খোলা অবস্থা নির্বিশেষে সমস্ত ব্যবসা ফেরত দিন। Google Places ডাটাবেসে খোলার সময় নির্দিষ্ট করে না এমন জায়গাগুলি ফেরত দেওয়া হবে যদি আপনি এই প্যারামিটারটিকেfalse
সেট করেন।isStrictTypeFiltering
includeType
প্যারামিটারের সাথে ব্যবহৃত হয়।true
সেট করা হলে, শুধুমাত্রincludeType
দ্বারা নির্দিষ্ট করা নির্দিষ্ট প্রকারের সাথে মেলে এমন স্থানগুলি ফেরত দেওয়া হয়। মিথ্যা হলে, ডিফল্ট, প্রতিক্রিয়াতে এমন স্থান থাকতে পারে যা নির্দিষ্ট প্রকারের সাথে মেলে না।অবস্থান পক্ষপাত
অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। এই অবস্থানটি একটি পক্ষপাত হিসাবে কাজ করে যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি নির্দিষ্ট এলাকার বাইরের ফলাফল সহ ফেরত দেওয়া যেতে পারে৷
আপনি
locationRestriction
বাlocationBias
নির্দিষ্ট করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করেlocationRestriction
এবংlocationBias
সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা একটি বৃত্ত হিসাবে অঞ্চলটি নির্দিষ্ট করুন।
একটি বৃত্তকে কেন্দ্র বিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই 0.0 এবং 50000.0 এর মধ্যে হতে হবে। ডিফল্ট ব্যাসার্ধ হল 0.0। যেমন:
request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশের ভিউপোর্ট, যা দুটি তির্যকভাবে বিপরীত নিম্ন এবং উচ্চ বিন্দু হিসাবে উপস্থাপিত হয়। নিম্ন বিন্দুটি আয়তক্ষেত্রের দক্ষিণ-পশ্চিম কোণটিকে চিহ্নিত করে এবং উচ্চ বিন্দুটি আয়তক্ষেত্রের উত্তর-পূর্ব কোণকে প্রতিনিধিত্ব করে।
একটি ভিউপোর্ট একটি বন্ধ অঞ্চল হিসাবে বিবেচিত হয়, যার অর্থ এটি এর সীমানা অন্তর্ভুক্ত করে। অক্ষাংশের সীমাগুলি অবশ্যই -90 থেকে 90 ডিগ্রী সহ, এবং দ্রাঘিমাংশের সীমাগুলি অবশ্যই -180 থেকে 180 ডিগ্রীর মধ্যে অন্তর্ভুক্ত থাকতে হবে:
-
low
=high
হলে, ভিউপোর্টটি সেই একক বিন্দু নিয়ে গঠিত। -
low.longitude
>high.longitude
হলে, দ্রাঘিমাংশের সীমাটি উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশের রেখা অতিক্রম করে)। -
low.longitude
= -180 ডিগ্রি এবংhigh.longitude
= 180 ডিগ্রি হলে, ভিউপোর্টে সমস্ত দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে। -
low.longitude
= 180 ডিগ্রি এবংhigh.longitude
= -180 ডিগ্রি হলে, দ্রাঘিমাংশের পরিসর খালি। -
low.latitude
>high.latitude
হলে, অক্ষাংশ পরিসর খালি থাকে।
-
অবস্থান সীমাবদ্ধতা
অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না. একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসাবে অঞ্চলটি নির্দিষ্ট করুন। ভিউপোর্ট সংজ্ঞায়িত করার তথ্যের জন্য
locationBias
বিবরণ দেখুন।আপনি
locationRestriction
বাlocationBias
নির্দিষ্ট করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করেlocationRestriction
এবংlocationBias
সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷maxResultCount
স্থানের ফলাফলের সর্বোচ্চ সংখ্যক ফেরত দিতে হবে তা নির্দিষ্ট করে। 1 এবং 20 এর মধ্যে হতে হবে (ডিফল্ট) অন্তর্ভুক্ত।
মিন রেটিং
ফলাফল শুধুমাত্র তাদের জন্য সীমাবদ্ধ করে যাদের গড় ব্যবহারকারী রেটিং এই সীমার চেয়ে বেশি বা সমান। 0.5 এর বৃদ্ধিতে মান অবশ্যই 0.0 এবং 5.0 (অন্তর্ভুক্ত) এর মধ্যে হতে হবে। উদাহরণস্বরূপ: 0, 0.5, 1.0, ... , 5.0 সহ। মানগুলি নিকটতম 0.5 পর্যন্ত রাউন্ড করা হয়েছে৷ উদাহরণস্বরূপ, 0.6 এর মান 1.0 এর কম রেটিং সহ সমস্ত ফলাফলকে সরিয়ে দেয়।
মূল্যস্তর
নির্দিষ্ট মূল্য স্তরে চিহ্নিত স্থানগুলিতে অনুসন্ধান সীমাবদ্ধ করুন৷ ডিফল্ট হল সমস্ত মূল্য স্তর নির্বাচন করা।
PriceLevel
দ্বারা সংজ্ঞায়িত এক বা একাধিক মানগুলির একটি অ্যারে নির্দিষ্ট করুন৷যেমন:
request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
র্যাঙ্ক পছন্দ
প্রশ্নের প্রকারের উপর ভিত্তি করে প্রতিক্রিয়াতে ফলাফলগুলিকে কীভাবে স্থান দেওয়া হয় তা নির্দিষ্ট করে:
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ" এর মতো একটি সুনির্দিষ্ট প্রশ্নের জন্য,
.relevance
(অনুসন্ধান প্রাসঙ্গিকতার দ্বারা র্যাঙ্ক ফলাফল) ডিফল্ট। আপনি.relevance
বা.distance
এrankPreference
সেট করতে পারেন (দূরত্ব অনুসারে রেঙ্ক ফলাফল)। - "মাউন্টেন ভিউ, CA"-এর মতো একটি অ-শ্রেণীগত প্রশ্নের জন্য, আমরা সুপারিশ করছি যে আপনি
rankPreference
সেট না করে ছেড়ে দিন।
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ" এর মতো একটি সুনির্দিষ্ট প্রশ্নের জন্য,
অঞ্চল কোড
উত্তর ফর্ম্যাট করতে ব্যবহৃত অঞ্চল কোড, একটি দুই-অক্ষরের CLDR কোড মান হিসাবে নির্দিষ্ট করা হয়েছে। এই পরামিতি অনুসন্ধান ফলাফলের উপর একটি পক্ষপাতী প্রভাব থাকতে পারে। কোন ডিফল্ট মান নেই।
উত্তরে ঠিকানা ক্ষেত্রের দেশের নাম যদি অঞ্চল কোডের সাথে মেলে, তাহলে ঠিকানা থেকে দেশের কোড বাদ দেওয়া হয়।
কিছু উল্লেখযোগ্য ব্যতিক্রম সহ বেশিরভাগ 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
অবজেক্টে অ্যাট্রিবিউশন এবং লেখক অ্যাট্রিবিউশন থাকতে পারে। আপনি যদি আপনার অ্যাপে পর্যালোচনা প্রদর্শন করেন, তাহলে আপনাকে অবশ্যই কোনো অ্যাট্রিবিউশন বা লেখকের অ্যাট্রিবিউশনও প্রদর্শন করতে হবে।
আরও তথ্যের জন্য, বৈশিষ্ট্যের ডকুমেন্টেশন দেখুন।
,একটি পাঠ্য অনুসন্ধান একটি স্ট্রিংয়ের উপর ভিত্তি করে স্থানগুলির একটি সেট সম্পর্কে তথ্য প্রদান করে। উদাহরণস্বরূপ, "নিউ ইয়র্কের পিৎজা", "অটোয়ার কাছে জুতার দোকান", বা "123 মেইন স্ট্রিট"। পরিষেবাটি পাঠ্য স্ট্রিংয়ের সাথে মেলে এমন স্থানগুলির একটি তালিকা এবং যে কোনও সেট অবস্থানের পক্ষপাতের সাথে প্রতিক্রিয়া জানায়৷
পরিষেবাটি একটি স্বয়ংক্রিয় সিস্টেমে অস্পষ্ট ঠিকানা প্রশ্ন করার জন্য বিশেষভাবে উপযোগী, এবং স্ট্রিংয়ের অ-ঠিকানা উপাদানগুলি ব্যবসার পাশাপাশি ঠিকানাগুলির সাথে মেলে। অস্পষ্ট ঠিকানা প্রশ্নগুলির উদাহরণ হল খারাপভাবে-ফরম্যাট করা ঠিকানা বা অনুরোধ যাতে অ-ঠিকানা উপাদান অন্তর্ভুক্ত থাকে, যেমন ব্যবসার নাম। প্রথম দুটি উদাহরণের মতো অনুরোধগুলি শূন্য ফলাফল দিতে পারে যদি না কোনো অবস্থান (যেমন অঞ্চল, অবস্থানের সীমাবদ্ধতা, বা অবস্থানের পক্ষপাত) সেট না করা হয়।
"10 হাই স্ট্রিট, ইউকে" বা "123 মেইন স্ট্রিট, ইউএস" | ইউকেতে একাধিক "হাই স্ট্রিট"; মার্কিন যুক্তরাষ্ট্রে একাধিক "মেইন স্ট্রিট"। একটি অবস্থান সীমাবদ্ধতা সেট না করা পর্যন্ত কোয়েরি পছন্দসই ফলাফল দেয় না। |
"চেইন রেস্টুরেন্ট নিউ ইয়র্ক" | নিউ ইয়র্কে একাধিক "চেইন রেস্টুরেন্ট" অবস্থান; কোন রাস্তার ঠিকানা এমনকি রাস্তার নামও নেই। |
"10 হাই স্ট্রিট, এসচার ইউকে" বা "123 মেইন স্ট্রিট, প্লেস্যান্টন ইউএস" | যুক্তরাজ্যের এসচার শহরে একটি মাত্র "হাই স্ট্রিট"; শুধুমাত্র একটি "মেইন স্ট্রীট" মার্কিন শহর প্লেস্যান্টন CA. |
"অনন্য রেস্তোরাঁর নাম নিউ ইয়র্ক" | নিউইয়র্কে এই নামের একটি মাত্র স্থাপনা; কোন রাস্তার ঠিকানা পার্থক্য প্রয়োজন. |
"নিউ ইয়র্কের পিৎজা রেস্টুরেন্ট" | এই ক্যোয়ারীতে এর অবস্থান সীমাবদ্ধতা রয়েছে এবং "পিৎজা রেস্তোরাঁ" হল একটি সুনির্দিষ্ট স্থানের ধরন৷ এটি একাধিক ফলাফল প্রদান করে। |
"+1 514-670-8700" | এই প্রশ্নটিতে একটি ফোন নম্বর রয়েছে৷ এটি সেই ফোন নম্বরের সাথে যুক্ত স্থানগুলির জন্য একাধিক ফলাফল প্রদান করে৷ |
পাঠ্য অনুসন্ধানের মাধ্যমে স্থানগুলির একটি তালিকা পান
GMSPlacesClient searchByTextWithRequest:
, একটি GMSPlaceSearchByTextRequest
অবজেক্ট পাস করে যা অনুরোধের পরামিতি এবং একটি কলব্যাক পদ্ধতি সংজ্ঞায়িত করে, GMSPlaceSearchByTextResultCallback
টাইপ , প্রতিক্রিয়া পরিচালনা করতে কল করে একটি পাঠ্য অনুসন্ধানের অনুরোধ করুন৷
GMSPlaceSearchByTextRequest
অবজেক্ট অনুরোধের জন্য প্রয়োজনীয় এবং ঐচ্ছিক পরামিতিগুলি নির্দিষ্ট করে। প্রয়োজনীয় পরামিতি অন্তর্ভুক্ত:
-
GMSPlace
অবজেক্টে ফিল্ডের তালিকা, যাকে ফিল্ড মাস্কও বলা হয়, যেমনGMSPlaceProperty
দ্বারা সংজ্ঞায়িত করা হয়েছে। আপনি যদি ক্ষেত্র তালিকায় অন্তত একটি ক্ষেত্র নির্দিষ্ট না করেন, অথবা যদি আপনি ক্ষেত্র তালিকা বাদ দেন, তাহলে কলটি একটি ত্রুটি প্রদান করে৷ - টেক্সট কোয়েরি ।
এই উদাহরণ টেক্সট সার্চ রিকোয়েস্টটি নির্দিষ্ট করে যে উত্তর GMSPlace
অবজেক্টে সার্চের ফলাফলে প্রতিটি GMSPlace
অবজেক্টের জন্য জায়গার নাম এবং জায়গার আইডি থাকে। এটি শুধুমাত্র "রেস্তোরাঁ" টাইপের রিটার্ন স্থানগুলিতে প্রতিক্রিয়া ফিল্টার করে।
সুইফট
// 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)
উদ্দেশ্য-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; } } } ];
আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)
let restriction = RectangularLocationRestriction( 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 }
পাঠ্য অনুসন্ধান প্রতিক্রিয়া
টেক্সট সার্চ এপিআই GMSPlace
অবজেক্টের আকারে মিলের একটি অ্যারে প্রদান করে, প্রতি মিলিত জায়গায় একটি GMSPlace
অবজেক্ট সহ।
ওপেন স্ট্যাটাস পান
GMSPlacesClient
অবজেক্টে isOpenWithRequest
( সুইফটে isOpenRequest
এবং GooglePlacesSwift-এ isPlaceOpenRequest
) নামক একটি সদস্য ফাংশন রয়েছে যা কলে নির্দিষ্ট সময়ের উপর ভিত্তি করে স্থানটি বর্তমানে খোলা আছে কিনা তা নির্দেশ করে।
এই পদ্ধতিটি GMSPlaceIsOpenWithRequest
প্রকারের একটি একক আর্গুমেন্ট নেয় যাতে রয়েছে:
- একটি
GMSPlace
অবজেক্ট , বা একটি স্থান আইডি নির্দিষ্ট করে এমন একটি স্ট্রিং। প্রয়োজনীয় ক্ষেত্রগুলির সাথে প্লেস অবজেক্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, স্থানের বিবরণ দেখুন। - একটি ঐচ্ছিক
NSDate
(Obj-C) বাDate
(Swift) অবজেক্ট যা আপনি পরীক্ষা করতে চান তা নির্দিষ্ট করে। যদি কোন সময় নির্দিষ্ট করা না থাকে, ডিফল্ট এখন। - প্রতিক্রিয়া পরিচালনা করার জন্য একটি
GMSPlaceOpenStatusResponseCallback
পদ্ধতি। >
GMSPlaceIsOpenWithRequest
পদ্ধতির জন্য GMSPlace
অবজেক্টে নিম্নলিখিত ক্ষেত্রগুলি সেট করা প্রয়োজন:
-
GMSPlacePropertyUTCOffsetMinutes
-
GMSPlacePropertyBusinessStatus
-
GMSPlacePropertyOpeningHours
-
GMSPlacePropertyCurrentOpeningHours
-
GMSPlacePropertySecondaryOpeningHours
যদি এই ক্ষেত্রগুলি প্লেস অবজেক্টে প্রদান করা না হয়, বা আপনি যদি একটি স্থান আইডি পাস করেন, তাহলে পদ্ধতিটি GMSPlacesClient GMSFetchPlaceRequest:
সেগুলি আনার জন্য ব্যবহার করে।
isOpenWithRequest
প্রতিক্রিয়া
isOpenWithRequest
একটি GMSPlaceIsOpenResponse
অবজেক্ট ফেরত দেয় যেখানে একটি বুলিয়ান মান নামক status
রয়েছে যা নির্দেশ করে যে ব্যবসাটি খোলা, বন্ধ, বা স্থিতি অজানা কিনা।
ভাষা | খোলা থাকলে মান | বন্ধ হলে মান | স্থিতি অজানা থাকলে মান |
---|---|---|---|
সুইফট | .open | .closed | .unknown |
উদ্দেশ্য-C | GMSPlaceOpenStatusOpen | GMSPlaceOpenStatusClosed | GMSPlaceOpenStatusUnknown |
GooglePlacesSwift (প্রিভিউ) | true | false | nil |
isOpenWithRequest
এর জন্য বিলিং
-
GMSPlacePropertyUTCOffsetMinutes
এবংGMSPlacePropertyBusinessStatus
ক্ষেত্রগুলি বেসিক ডেটা SKU-এর অধীনে চার্জ করা হয়। খোলার বাকি সময়গুলি স্থানের বিবরণ (অ্যাডভান্সড) SKU-এর অধীনে চার্জ করা হয়। - যদি আপনার
GMSPlace
অবজেক্টে পূর্বের অনুরোধ থেকে এই ক্ষেত্রগুলি ইতিমধ্যেই থাকে, তাহলে আপনাকে আর চার্জ করা হবে না।
উদাহরণ: একটি GMSPlaceIsOpenWithRequest
অনুরোধ করুন
নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি বিদ্যমান GMSPlace
অবজেক্টের মধ্যে একটি GMSPlaceIsOpenWithRequest
আরম্ভ করতে হয়। সুইফট
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 } }
উদ্দেশ্য-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 } }];
GooglePlacesSwift
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 }
প্রয়োজনীয় পরামিতি
অনুসন্ধানের জন্য প্রয়োজনীয় পরামিতি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest
অবজেক্ট ব্যবহার করুন।
ক্ষেত্র তালিকা
কোন স্থানের ডেটা বৈশিষ্ট্যগুলি ফেরত দিতে হবে তা নির্দিষ্ট করুন৷
GMSPlace
বৈশিষ্ট্যগুলির একটি তালিকা পাস করুন যা ফেরত দেওয়ার জন্য ডেটা ক্ষেত্রগুলি নির্দিষ্ট করে৷ আপনি যদি ফিল্ড মাস্ক বাদ দেন, অনুরোধটি একটি ত্রুটি ফিরিয়ে দেবে।আপনি অপ্রয়োজনীয় ডেটার অনুরোধ করবেন না তা নিশ্চিত করার জন্য ক্ষেত্র তালিকাগুলি একটি ভাল নকশা অনুশীলন, যা অপ্রয়োজনীয় প্রক্রিয়াকরণের সময় এবং বিলিং চার্জ এড়াতে সহায়তা করে।
নিম্নলিখিত ক্ষেত্রগুলির মধ্যে এক বা একাধিক নির্দিষ্ট করুন:
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধানকে ট্রিগার করে (শুধুমাত্র ID) SKU :
GMSPlacePropertyPlaceID
,GMSPlacePropertyName
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধান (বেসিক) SKU ট্রিগার করে:
GMSPlacePropertyAddressComponents
,GMSPlacePropertyBusinessStatus
,GMSPlacePropertyFormattedAddress
,GMSPlacePropertyIconBackgroundColor
,GMSPlacePropertyIconImageURL
,GMSPlacePropertyCoordinate
de ,GMSPlacePropertyPhotos
,GMSPlacePropertyPlusCode
,GMSPlacePropertyViewport
,GMSPlacePropertyWheelchairAccessibleEntrance
GMSPlacePropertyTypes
GMSPlacePropertyUTCOffsetMinutes
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধান (উন্নত) SKU ট্রিগার করে:
GMSPlacePropertyCurrentOpeningHours
,GMSPlacePropertySecondaryOpeningHours
,GMSPlacePropertyPhoneNumber
,GMSPlacePropertyPriceLevel
,GMSPlacePropertyRating
,GMSPlacePropertyOpeningHours
,GMSPlacePropertyUserRatingsTotal
,GMSPlacePropertyWebsite
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধান (পছন্দের) SKU ট্রিগার করে:
GMSPlacePropertyCurbsidePickup
,GMSPlacePropertyDelivery
,GMSPlacePropertyDineIn
,GMSPlacePropertyEditorialSummary
,GMSPlacePropertyReservable
,GMSPlacePropertyReviews
,GMSPlacePropertyServesBeer
,GMSPlacePropertyServesBrunch
GMSPlacePropertyServesBreakfast
,GMSPlacePropertyServesDinner
,GMSPlacePropertyServesLunch
,GMSPlacePropertyServesVegetarianFood
Food ,GMSPlacePropertyServesWine
,GMSPlacePropertyTakeout
textQuery
টেক্সট স্ট্রিং যার উপর অনুসন্ধান করতে হবে, উদাহরণস্বরূপ: "রেস্তোরাঁ", "123 প্রধান রাস্তা", বা "সান ফ্রান্সিসকোতে দেখার সেরা জায়গা"।
ঐচ্ছিক পরামিতি
অনুসন্ধানের জন্য ঐচ্ছিক পরামিতি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest
অবজেক্ট ব্যবহার করুন।
অন্তর্ভুক্ত প্রকার
সারণি A দ্বারা সংজ্ঞায়িত নির্দিষ্ট প্রকারের সাথে মেলে এমন জায়গায় ফলাফলগুলিকে সীমাবদ্ধ করে৷ শুধুমাত্র একটি প্রকার নির্দিষ্ট করা যেতে পারে। যেমন:
-
request.includedType = "bar"
-
request.includedType = "pharmacy"
-
এখন খুলুন
true
হলে, ক্যোয়ারী পাঠানোর সময় ব্যবসার জন্য উন্মুক্ত শুধুমাত্র সেই জায়গাগুলি ফেরত দিন।false
হলে, খোলা অবস্থা নির্বিশেষে সমস্ত ব্যবসা ফেরত দিন। Google Places ডাটাবেসে খোলার সময় নির্দিষ্ট করে না এমন জায়গাগুলি ফেরত দেওয়া হবে যদি আপনি এই প্যারামিটারটিকেfalse
সেট করেন।isStrictTypeFiltering
includeType
প্যারামিটারের সাথে ব্যবহৃত হয়।true
সেট করা হলে, শুধুমাত্রincludeType
দ্বারা নির্দিষ্ট করা নির্দিষ্ট প্রকারের সাথে মেলে এমন স্থানগুলি ফেরত দেওয়া হয়। মিথ্যা হলে, ডিফল্ট, প্রতিক্রিয়াতে এমন স্থান থাকতে পারে যা নির্দিষ্ট প্রকারের সাথে মেলে না।অবস্থান পক্ষপাত
অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। এই অবস্থানটি একটি পক্ষপাত হিসাবে কাজ করে যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি নির্দিষ্ট এলাকার বাইরের ফলাফল সহ ফেরত দেওয়া যেতে পারে৷
আপনি
locationRestriction
বাlocationBias
নির্দিষ্ট করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করেlocationRestriction
এবংlocationBias
সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা একটি বৃত্ত হিসাবে অঞ্চলটি নির্দিষ্ট করুন।
একটি বৃত্তকে কেন্দ্র বিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই 0.0 এবং 50000.0 এর মধ্যে হতে হবে। ডিফল্ট ব্যাসার্ধ হল 0.0। যেমন:
request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশের ভিউপোর্ট, যা দুটি তির্যকভাবে বিপরীত নিম্ন এবং উচ্চ বিন্দু হিসাবে উপস্থাপিত হয়। নিম্ন বিন্দুটি আয়তক্ষেত্রের দক্ষিণ-পশ্চিম কোণটিকে চিহ্নিত করে এবং উচ্চ বিন্দুটি আয়তক্ষেত্রের উত্তর-পূর্ব কোণকে প্রতিনিধিত্ব করে।
একটি ভিউপোর্ট একটি বন্ধ অঞ্চল হিসাবে বিবেচিত হয়, যার অর্থ এটি এর সীমানা অন্তর্ভুক্ত করে। অক্ষাংশের সীমাগুলি অবশ্যই -90 থেকে 90 ডিগ্রী সহ, এবং দ্রাঘিমাংশের সীমাগুলি অবশ্যই -180 থেকে 180 ডিগ্রীর মধ্যে অন্তর্ভুক্ত থাকতে হবে:
-
low
=high
হলে, ভিউপোর্টটি সেই একক বিন্দু নিয়ে গঠিত। -
low.longitude
>high.longitude
হলে, দ্রাঘিমাংশের সীমাটি উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশের রেখা অতিক্রম করে)। -
low.longitude
= -180 ডিগ্রি এবংhigh.longitude
= 180 ডিগ্রি হলে, ভিউপোর্টে সমস্ত দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে। -
low.longitude
= 180 ডিগ্রি এবংhigh.longitude
= -180 ডিগ্রি হলে, দ্রাঘিমাংশের পরিসর খালি। -
low.latitude
>high.latitude
হলে, অক্ষাংশ পরিসর খালি থাকে।
-
অবস্থান সীমাবদ্ধতা
অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না. একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসাবে অঞ্চলটি নির্দিষ্ট করুন। ভিউপোর্ট সংজ্ঞায়িত করার তথ্যের জন্য
locationBias
বিবরণ দেখুন।আপনি
locationRestriction
বাlocationBias
নির্দিষ্ট করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করেlocationRestriction
এবংlocationBias
সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷maxResultCount
স্থানের ফলাফলের সর্বোচ্চ সংখ্যক ফেরত দিতে হবে তা নির্দিষ্ট করে। 1 এবং 20 এর মধ্যে হতে হবে (ডিফল্ট) অন্তর্ভুক্ত।
মিন রেটিং
ফলাফল শুধুমাত্র তাদের জন্য সীমাবদ্ধ করে যাদের গড় ব্যবহারকারী রেটিং এই সীমার চেয়ে বেশি বা সমান। 0.5 এর বৃদ্ধিতে মান অবশ্যই 0.0 এবং 5.0 (অন্তর্ভুক্ত) এর মধ্যে হতে হবে। উদাহরণস্বরূপ: 0, 0.5, 1.0, ... , 5.0 সহ। মানগুলি নিকটতম 0.5 পর্যন্ত রাউন্ড করা হয়েছে৷ উদাহরণস্বরূপ, 0.6 এর মান 1.0 এর কম রেটিং সহ সমস্ত ফলাফলকে সরিয়ে দেয়।
মূল্যস্তর
নির্দিষ্ট মূল্য স্তরে চিহ্নিত স্থানগুলিতে অনুসন্ধান সীমাবদ্ধ করুন৷ ডিফল্ট হল সমস্ত মূল্য স্তর নির্বাচন করা।
PriceLevel
দ্বারা সংজ্ঞায়িত এক বা একাধিক মানগুলির একটি অ্যারে নির্দিষ্ট করুন৷যেমন:
request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
র্যাঙ্ক পছন্দ
প্রশ্নের প্রকারের উপর ভিত্তি করে প্রতিক্রিয়াতে ফলাফলগুলিকে কীভাবে স্থান দেওয়া হয় তা নির্দিষ্ট করে:
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ" এর মতো একটি সুনির্দিষ্ট প্রশ্নের জন্য,
.relevance
(অনুসন্ধান প্রাসঙ্গিকতার দ্বারা র্যাঙ্ক ফলাফল) ডিফল্ট। আপনি.relevance
বা.distance
এrankPreference
সেট করতে পারেন (দূরত্ব অনুসারে রেঙ্ক ফলাফল)। - "মাউন্টেন ভিউ, CA"-এর মতো একটি অ-শ্রেণীগত প্রশ্নের জন্য, আমরা সুপারিশ করছি যে আপনি
rankPreference
সেট না করে ছেড়ে দিন।
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ" এর মতো একটি সুনির্দিষ্ট প্রশ্নের জন্য,
অঞ্চল কোড
উত্তর ফর্ম্যাট করতে ব্যবহৃত অঞ্চল কোড, একটি দুই-অক্ষরের CLDR কোড মান হিসাবে নির্দিষ্ট করা হয়েছে। এই পরামিতি অনুসন্ধান ফলাফলের উপর একটি পক্ষপাতী প্রভাব থাকতে পারে। কোন ডিফল্ট মান নেই।
উত্তরে ঠিকানা ক্ষেত্রের দেশের নাম যদি অঞ্চল কোডের সাথে মেলে, তাহলে ঠিকানা থেকে দেশের কোড বাদ দেওয়া হয়।
কিছু উল্লেখযোগ্য ব্যতিক্রম সহ বেশিরভাগ 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
অবজেক্টে অ্যাট্রিবিউশন এবং লেখক অ্যাট্রিবিউশন থাকতে পারে। আপনি যদি আপনার অ্যাপে পর্যালোচনা প্রদর্শন করেন, তাহলে আপনাকে অবশ্যই কোনো অ্যাট্রিবিউশন বা লেখকের অ্যাট্রিবিউশনও প্রদর্শন করতে হবে।
আরও তথ্যের জন্য, বৈশিষ্ট্যের ডকুমেন্টেশন দেখুন।
,একটি পাঠ্য অনুসন্ধান একটি স্ট্রিংয়ের উপর ভিত্তি করে স্থানগুলির একটি সেট সম্পর্কে তথ্য প্রদান করে। উদাহরণস্বরূপ, "নিউ ইয়র্কের পিৎজা", "অটোয়ার কাছে জুতার দোকান", বা "123 মেইন স্ট্রিট"। পরিষেবাটি পাঠ্য স্ট্রিংয়ের সাথে মেলে এমন স্থানগুলির একটি তালিকা এবং যে কোনও সেট অবস্থানের পক্ষপাতের সাথে প্রতিক্রিয়া জানায়৷
পরিষেবাটি একটি স্বয়ংক্রিয় সিস্টেমে অস্পষ্ট ঠিকানা প্রশ্ন করার জন্য বিশেষভাবে উপযোগী, এবং স্ট্রিংয়ের অ-ঠিকানা উপাদানগুলি ব্যবসার পাশাপাশি ঠিকানাগুলির সাথে মেলে। অস্পষ্ট ঠিকানা প্রশ্নগুলির উদাহরণ হল খারাপভাবে-ফরম্যাট করা ঠিকানা বা অনুরোধ যাতে অ-ঠিকানা উপাদান অন্তর্ভুক্ত থাকে, যেমন ব্যবসার নাম। প্রথম দুটি উদাহরণের মতো অনুরোধগুলি শূন্য ফলাফল দিতে পারে যদি না কোনো অবস্থান (যেমন অঞ্চল, অবস্থানের সীমাবদ্ধতা, বা অবস্থানের পক্ষপাত) সেট না করা হয়।
"10 হাই স্ট্রিট, ইউকে" বা "123 মেইন স্ট্রিট, ইউএস" | ইউকেতে একাধিক "হাই স্ট্রিট"; মার্কিন যুক্তরাষ্ট্রে একাধিক "মেইন স্ট্রিট"। একটি অবস্থান সীমাবদ্ধতা সেট না করা পর্যন্ত কোয়েরি পছন্দসই ফলাফল দেয় না। |
"চেইন রেস্টুরেন্ট নিউ ইয়র্ক" | নিউ ইয়র্কে একাধিক "চেইন রেস্টুরেন্ট" অবস্থান; কোন রাস্তার ঠিকানা এমনকি রাস্তার নামও নেই। |
"10 হাই স্ট্রিট, এসচার ইউকে" বা "123 মেইন স্ট্রিট, প্লেস্যান্টন ইউএস" | যুক্তরাজ্যের এসচার শহরে একটি মাত্র "হাই স্ট্রিট"; শুধুমাত্র একটি "মেইন স্ট্রীট" মার্কিন শহর প্লেস্যান্টন CA. |
"অনন্য রেস্তোরাঁর নাম নিউ ইয়র্ক" | নিউইয়র্কে এই নামের একটি মাত্র স্থাপনা; কোন রাস্তার ঠিকানা পার্থক্য প্রয়োজন. |
"নিউ ইয়র্কের পিৎজা রেস্টুরেন্ট" | এই ক্যোয়ারীতে এর অবস্থান সীমাবদ্ধতা রয়েছে এবং "পিৎজা রেস্তোরাঁ" হল একটি সুনির্দিষ্ট স্থানের ধরন৷ এটি একাধিক ফলাফল প্রদান করে। |
"+1 514-670-8700" | এই প্রশ্নটিতে একটি ফোন নম্বর রয়েছে৷ এটি সেই ফোন নম্বরের সাথে যুক্ত স্থানগুলির জন্য একাধিক ফলাফল প্রদান করে৷ |
পাঠ্য অনুসন্ধানের মাধ্যমে স্থানগুলির একটি তালিকা পান
GMSPlacesClient searchByTextWithRequest:
, একটি GMSPlaceSearchByTextRequest
অবজেক্ট পাস করে যা অনুরোধের পরামিতি এবং একটি কলব্যাক পদ্ধতি সংজ্ঞায়িত করে, GMSPlaceSearchByTextResultCallback
টাইপ , প্রতিক্রিয়া পরিচালনা করতে কল করে একটি পাঠ্য অনুসন্ধানের অনুরোধ করুন৷
GMSPlaceSearchByTextRequest
অবজেক্ট অনুরোধের জন্য প্রয়োজনীয় এবং ঐচ্ছিক পরামিতিগুলি নির্দিষ্ট করে। প্রয়োজনীয় পরামিতি অন্তর্ভুক্ত:
-
GMSPlace
অবজেক্টে ফিল্ডের তালিকা, যাকে ফিল্ড মাস্কও বলা হয়, যেমনGMSPlaceProperty
দ্বারা সংজ্ঞায়িত করা হয়েছে। আপনি যদি ক্ষেত্র তালিকায় অন্তত একটি ক্ষেত্র নির্দিষ্ট না করেন, অথবা যদি আপনি ক্ষেত্র তালিকা বাদ দেন, তাহলে কলটি একটি ত্রুটি প্রদান করে৷ - টেক্সট কোয়েরি ।
এই উদাহরণ টেক্সট সার্চ রিকোয়েস্টটি নির্দিষ্ট করে যে উত্তর GMSPlace
অবজেক্টে সার্চের ফলাফলে প্রতিটি GMSPlace
অবজেক্টের জন্য জায়গার নাম এবং জায়গার আইডি থাকে। এটি শুধুমাত্র "রেস্তোরাঁ" টাইপের রিটার্ন স্থানগুলিতে প্রতিক্রিয়া ফিল্টার করে।
সুইফট
// 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)
উদ্দেশ্য-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; } } } ];
আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)
let restriction = RectangularLocationRestriction( 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 }
পাঠ্য অনুসন্ধান প্রতিক্রিয়া
টেক্সট সার্চ এপিআই GMSPlace
অবজেক্টের আকারে মিলের একটি অ্যারে প্রদান করে, প্রতি মিলিত জায়গায় একটি GMSPlace
অবজেক্ট সহ।
ওপেন স্ট্যাটাস পান
GMSPlacesClient
অবজেক্টে isOpenWithRequest
( সুইফটে isOpenRequest
এবং GooglePlacesSwift-এ isPlaceOpenRequest
) নামক একটি সদস্য ফাংশন রয়েছে যা কলে নির্দিষ্ট সময়ের উপর ভিত্তি করে স্থানটি বর্তমানে খোলা আছে কিনা তা নির্দেশ করে।
এই পদ্ধতিটি GMSPlaceIsOpenWithRequest
প্রকারের একটি একক আর্গুমেন্ট নেয় যাতে রয়েছে:
- একটি
GMSPlace
অবজেক্ট , বা একটি স্থান আইডি নির্দিষ্ট করে এমন একটি স্ট্রিং। প্রয়োজনীয় ক্ষেত্রগুলির সাথে প্লেস অবজেক্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, স্থানের বিবরণ দেখুন। - একটি ঐচ্ছিক
NSDate
(Obj-C) বাDate
(Swift) অবজেক্ট যা আপনি পরীক্ষা করতে চান তা নির্দিষ্ট করে। যদি কোন সময় নির্দিষ্ট করা না থাকে, ডিফল্ট এখন। - প্রতিক্রিয়া পরিচালনা করার জন্য একটি
GMSPlaceOpenStatusResponseCallback
পদ্ধতি। >
GMSPlaceIsOpenWithRequest
পদ্ধতির জন্য GMSPlace
অবজেক্টে নিম্নলিখিত ক্ষেত্রগুলি সেট করা প্রয়োজন:
-
GMSPlacePropertyUTCOffsetMinutes
-
GMSPlacePropertyBusinessStatus
-
GMSPlacePropertyOpeningHours
-
GMSPlacePropertyCurrentOpeningHours
-
GMSPlacePropertySecondaryOpeningHours
যদি এই ক্ষেত্রগুলি প্লেস অবজেক্টে প্রদান করা না হয়, বা আপনি যদি একটি স্থান আইডি পাস করেন, তাহলে পদ্ধতিটি GMSPlacesClient GMSFetchPlaceRequest:
সেগুলি আনার জন্য ব্যবহার করে।
isOpenWithRequest
প্রতিক্রিয়া
isOpenWithRequest
একটি GMSPlaceIsOpenResponse
অবজেক্ট ফেরত দেয় যেখানে একটি বুলিয়ান মান নামক status
রয়েছে যা নির্দেশ করে যে ব্যবসাটি খোলা, বন্ধ, বা স্থিতি অজানা কিনা।
ভাষা | খোলা থাকলে মান | বন্ধ হলে মান | স্থিতি অজানা থাকলে মান |
---|---|---|---|
সুইফট | .open | .closed | .unknown |
উদ্দেশ্য-C | GMSPlaceOpenStatusOpen | GMSPlaceOpenStatusClosed | GMSPlaceOpenStatusUnknown |
GooglePlacesSwift (প্রিভিউ) | true | false | nil |
isOpenWithRequest
এর জন্য বিলিং
-
GMSPlacePropertyUTCOffsetMinutes
এবংGMSPlacePropertyBusinessStatus
ক্ষেত্রগুলি বেসিক ডেটা SKU-এর অধীনে চার্জ করা হয়। খোলার বাকি সময়গুলি স্থানের বিবরণ (অ্যাডভান্সড) SKU-এর অধীনে চার্জ করা হয়। - যদি আপনার
GMSPlace
অবজেক্টে পূর্বের অনুরোধ থেকে এই ক্ষেত্রগুলি ইতিমধ্যেই থাকে, তাহলে আপনাকে আর চার্জ করা হবে না।
উদাহরণ: একটি GMSPlaceIsOpenWithRequest
অনুরোধ করুন
নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি বিদ্যমান GMSPlace
অবজেক্টের মধ্যে একটি GMSPlaceIsOpenWithRequest
আরম্ভ করতে হয়। সুইফট
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 } }
উদ্দেশ্য-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 } }];
GooglePlacesSwift
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 }
প্রয়োজনীয় পরামিতি
অনুসন্ধানের জন্য প্রয়োজনীয় পরামিতি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest
অবজেক্ট ব্যবহার করুন।
ক্ষেত্র তালিকা
কোন স্থানের ডেটা বৈশিষ্ট্যগুলি ফেরত দিতে হবে তা নির্দিষ্ট করুন৷
GMSPlace
বৈশিষ্ট্যগুলির একটি তালিকা পাস করুন যা ফেরত দেওয়ার জন্য ডেটা ক্ষেত্রগুলি নির্দিষ্ট করে৷ আপনি যদি ফিল্ড মাস্ক বাদ দেন, অনুরোধটি একটি ত্রুটি ফিরিয়ে দেবে।আপনি অপ্রয়োজনীয় ডেটার অনুরোধ করবেন না তা নিশ্চিত করার জন্য ক্ষেত্র তালিকাগুলি একটি ভাল নকশা অনুশীলন, যা অপ্রয়োজনীয় প্রক্রিয়াকরণের সময় এবং বিলিং চার্জ এড়াতে সহায়তা করে।
নিম্নলিখিত ক্ষেত্রগুলির মধ্যে এক বা একাধিক নির্দিষ্ট করুন:
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধানকে ট্রিগার করে (শুধুমাত্র ID) SKU :
GMSPlacePropertyPlaceID
,GMSPlacePropertyName
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধান (বেসিক) SKU ট্রিগার করে:
GMSPlacePropertyAddressComponents
,GMSPlacePropertyBusinessStatus
,GMSPlacePropertyFormattedAddress
,GMSPlacePropertyIconBackgroundColor
,GMSPlacePropertyIconImageURL
,GMSPlacePropertyCoordinate
de ,GMSPlacePropertyPhotos
,GMSPlacePropertyPlusCode
,GMSPlacePropertyViewport
,GMSPlacePropertyWheelchairAccessibleEntrance
GMSPlacePropertyTypes
GMSPlacePropertyUTCOffsetMinutes
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধান (উন্নত) SKU ট্রিগার করে:
GMSPlacePropertyCurrentOpeningHours
,GMSPlacePropertySecondaryOpeningHours
,GMSPlacePropertyPhoneNumber
,GMSPlacePropertyPriceLevel
,GMSPlacePropertyRating
,GMSPlacePropertyOpeningHours
,GMSPlacePropertyUserRatingsTotal
,GMSPlacePropertyWebsite
নিম্নলিখিত ক্ষেত্রগুলি পাঠ্য অনুসন্ধান (পছন্দের) SKU ট্রিগার করে:
GMSPlacePropertyCurbsidePickup
,GMSPlacePropertyDelivery
,GMSPlacePropertyDineIn
,GMSPlacePropertyEditorialSummary
,GMSPlacePropertyReservable
,GMSPlacePropertyReviews
,GMSPlacePropertyServesBeer
,GMSPlacePropertyServesBrunch
GMSPlacePropertyServesBreakfast
,GMSPlacePropertyServesDinner
,GMSPlacePropertyServesLunch
,GMSPlacePropertyServesVegetarianFood
Food ,GMSPlacePropertyServesWine
,GMSPlacePropertyTakeout
textQuery
টেক্সট স্ট্রিং যার উপর অনুসন্ধান করতে হবে, উদাহরণস্বরূপ: "রেস্তোরাঁ", "123 প্রধান রাস্তা", বা "সান ফ্রান্সিসকোতে দেখার সেরা জায়গা"।
ঐচ্ছিক পরামিতি
অনুসন্ধানের জন্য ঐচ্ছিক পরামিতি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest
অবজেক্ট ব্যবহার করুন।
অন্তর্ভুক্ত প্রকার
সারণি A দ্বারা সংজ্ঞায়িত নির্দিষ্ট প্রকারের সাথে মেলে এমন জায়গায় ফলাফলগুলিকে সীমাবদ্ধ করে৷ শুধুমাত্র একটি প্রকার নির্দিষ্ট করা যেতে পারে। যেমন:
-
request.includedType = "bar"
-
request.includedType = "pharmacy"
-
এখন খুলুন
true
হলে, ক্যোয়ারী পাঠানোর সময় ব্যবসার জন্য উন্মুক্ত শুধুমাত্র সেই জায়গাগুলি ফেরত দিন।false
হলে, খোলা অবস্থা নির্বিশেষে সমস্ত ব্যবসা ফেরত দিন। Google Places ডাটাবেসে খোলার সময় নির্দিষ্ট করে না এমন জায়গাগুলি ফেরত দেওয়া হবে যদি আপনি এই প্যারামিটারটিকেfalse
সেট করেন।isStrictTypeFiltering
includeType
প্যারামিটারের সাথে ব্যবহৃত হয়।true
সেট করা হলে, শুধুমাত্রincludeType
দ্বারা নির্দিষ্ট করা নির্দিষ্ট প্রকারের সাথে মেলে এমন স্থানগুলি ফেরত দেওয়া হয়। মিথ্যা হলে, ডিফল্ট, প্রতিক্রিয়াতে এমন স্থান থাকতে পারে যা নির্দিষ্ট প্রকারের সাথে মেলে না।অবস্থান পক্ষপাত
অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। এই অবস্থানটি একটি পক্ষপাত হিসাবে কাজ করে যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি নির্দিষ্ট এলাকার বাইরের ফলাফল সহ ফেরত দেওয়া যেতে পারে৷
আপনি
locationRestriction
বাlocationBias
নির্দিষ্ট করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করেlocationRestriction
এবংlocationBias
সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা একটি বৃত্ত হিসাবে অঞ্চলটি নির্দিষ্ট করুন।
একটি বৃত্তকে কেন্দ্র বিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই 0.0 এবং 50000.0 এর মধ্যে হতে হবে। ডিফল্ট ব্যাসার্ধ হল 0.0। যেমন:
request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশের ভিউপোর্ট, যা দুটি তির্যকভাবে বিপরীত নিম্ন এবং উচ্চ বিন্দু হিসাবে উপস্থাপিত হয়। নিম্ন বিন্দুটি আয়তক্ষেত্রের দক্ষিণ-পশ্চিম কোণটিকে চিহ্নিত করে এবং উচ্চ বিন্দুটি আয়তক্ষেত্রের উত্তর-পূর্ব কোণকে প্রতিনিধিত্ব করে।
একটি ভিউপোর্ট একটি বন্ধ অঞ্চল হিসাবে বিবেচিত হয়, যার অর্থ এটি এর সীমানা অন্তর্ভুক্ত করে। অক্ষাংশের সীমাগুলি অবশ্যই -90 থেকে 90 ডিগ্রী সহ, এবং দ্রাঘিমাংশের সীমাগুলি অবশ্যই -180 থেকে 180 ডিগ্রীর মধ্যে অন্তর্ভুক্ত থাকতে হবে:
-
low
=high
হলে, ভিউপোর্টটি সেই একক বিন্দু নিয়ে গঠিত। -
low.longitude
>high.longitude
হলে, দ্রাঘিমাংশের সীমাটি উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশের রেখা অতিক্রম করে)। -
low.longitude
= -180 ডিগ্রি এবংhigh.longitude
= 180 ডিগ্রি হলে, ভিউপোর্টে সমস্ত দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে। -
low.longitude
= 180 ডিগ্রি এবংhigh.longitude
= -180 ডিগ্রি হলে, দ্রাঘিমাংশের পরিসর খালি। -
low.latitude
>high.latitude
হলে, অক্ষাংশ পরিসর খালি থাকে।
-
অবস্থান সীমাবদ্ধতা
অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না. একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসাবে অঞ্চলটি নির্দিষ্ট করুন। ভিউপোর্ট সংজ্ঞায়িত করার তথ্যের জন্য
locationBias
বিবরণ দেখুন।আপনি
locationRestriction
বাlocationBias
নির্দিষ্ট করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করেlocationRestriction
এবংlocationBias
সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷maxResultCount
স্থানের ফলাফলের সর্বোচ্চ সংখ্যক ফেরত দিতে হবে তা নির্দিষ্ট করে। 1 এবং 20 এর মধ্যে হতে হবে (ডিফল্ট) অন্তর্ভুক্ত।
মিন রেটিং
ফলাফল শুধুমাত্র তাদের জন্য সীমাবদ্ধ করে যাদের গড় ব্যবহারকারী রেটিং এই সীমার চেয়ে বেশি বা সমান। 0.5 এর বৃদ্ধিতে মান অবশ্যই 0.0 এবং 5.0 (অন্তর্ভুক্ত) এর মধ্যে হতে হবে। উদাহরণস্বরূপ: 0, 0.5, 1.0, ... , 5.0 সহ। মানগুলি নিকটতম 0.5 পর্যন্ত রাউন্ড করা হয়েছে৷ উদাহরণস্বরূপ, 0.6 এর মান 1.0 এর কম রেটিং সহ সমস্ত ফলাফলকে সরিয়ে দেয়।
মূল্যস্তর
নির্দিষ্ট মূল্য স্তরে চিহ্নিত স্থানগুলিতে অনুসন্ধান সীমাবদ্ধ করুন৷ ডিফল্ট হল সমস্ত মূল্য স্তর নির্বাচন করা।
PriceLevel
দ্বারা সংজ্ঞায়িত এক বা একাধিক মানগুলির একটি অ্যারে নির্দিষ্ট করুন৷যেমন:
request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
র্যাঙ্ক পছন্দ
প্রশ্নের প্রকারের উপর ভিত্তি করে প্রতিক্রিয়াতে ফলাফলগুলিকে কীভাবে স্থান দেওয়া হয় তা নির্দিষ্ট করে:
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ" এর মতো একটি সুনির্দিষ্ট প্রশ্নের জন্য,
.relevance
(অনুসন্ধান প্রাসঙ্গিকতার দ্বারা র্যাঙ্ক ফলাফল) ডিফল্ট। আপনি.relevance
বা.distance
এrankPreference
সেট করতে পারেন (দূরত্ব অনুসারে রেঙ্ক ফলাফল)। - "মাউন্টেন ভিউ, CA"-এর মতো একটি অ-শ্রেণীগত প্রশ্নের জন্য, আমরা সুপারিশ করছি যে আপনি
rankPreference
সেট না করে ছেড়ে দিন।
- "নিউ ইয়র্ক সিটির রেস্তোরাঁ" এর মতো একটি সুনির্দিষ্ট প্রশ্নের জন্য,
অঞ্চল কোড
উত্তর ফর্ম্যাট করতে ব্যবহৃত অঞ্চল কোড, একটি দুই-অক্ষরের CLDR কোড মান হিসাবে নির্দিষ্ট করা হয়েছে। এই পরামিতি অনুসন্ধান ফলাফলের উপর একটি পক্ষপাতী প্রভাব থাকতে পারে। কোন ডিফল্ট মান নেই।
উত্তরে ঠিকানা ক্ষেত্রের দেশের নাম যদি অঞ্চল কোডের সাথে মেলে, তাহলে ঠিকানা থেকে দেশের কোড বাদ দেওয়া হয়।
কিছু উল্লেখযোগ্য ব্যতিক্রম সহ বেশিরভাগ 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
অবজেক্টে অ্যাট্রিবিউশন এবং লেখক অ্যাট্রিবিউশন থাকতে পারে। আপনি যদি আপনার অ্যাপে পর্যালোচনা প্রদর্শন করেন, তাহলে আপনাকে অবশ্যই কোনো অ্যাট্রিবিউশন বা লেখকের অ্যাট্রিবিউশনও প্রদর্শন করতে হবে।
আরও তথ্যের জন্য, বৈশিষ্ট্যের ডকুমেন্টেশন দেখুন।