টেক্সট সার্চ (নতুন)

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript ওয়েব পরিষেবা

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA)-এর ডেভেলপার

টেক্সট সার্চ (নতুন) স্ট্রিংয়ের উপর ভিত্তি করে এক সেট জায়গা সম্পর্কে তথ্য প্রদান করে (যেমন, "নিউ ইয়র্কে পিজ্জা" বা "অটোয়ার কাছাকাছি জুতোর দোকান" বা "১২৩ মেইন স্ট্রিট")। পরিষেবাটি টেক্সট স্ট্রিং এবং সেট করা যেকোনও লোকেশন বায়াসের সাথে মেলে এমন জায়গার তালিকা সহ উত্তর দেয়।

প্রয়োজনীয় প্যারামিটার ছাড়াও, 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 অবজেক্টে নিম্নলিখিত ফিল্ডগুলি সেট করতে হবে:

  • GMSPlacePropertyUTCOffsetMinutes
  • GMSPlacePropertyBusinessStatus
  • GMSPlacePropertyOpeningHours
  • GMSPlacePropertyCurrentOpeningHours
  • GMSPlacePropertySecondaryOpeningHours

এইসব ফিল্ড যদি 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 অবজেক্টে অ্যাট্রিবিউশন ও লেখকের অ্যাট্রিবিউশন থাকতে পারে। আপনার অ্যাপে রিভিউ দেখালে, আপনাকে অবশ্যই কোনও অ্যাট্রিবিউশন বা লেখকের অ্যাট্রিবিউশন দেখাতে হবে।

আরও তথ্যের জন্য, অ্যাট্রিবিউশন সংক্রান্ত ডকুমেন্টেশন দেখুন।