পাঠ্য অনুসন্ধান (নতুন)

প্ল্যাটফর্ম নির্বাচন করুন: Android iOS জাভাস্ক্রিপ্ট ওয়েব পরিষেবা

একটি পাঠ্য অনুসন্ধান একটি স্ট্রিংয়ের উপর ভিত্তি করে স্থানগুলির একটি সেট সম্পর্কে তথ্য প্রদান করে। উদাহরণস্বরূপ, "নিউ ইয়র্কের পিৎজা", "অটোয়ার কাছে জুতার দোকান", বা "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 এর জন্য বিলিং

উদাহরণ: একটি 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 বৈশিষ্ট্যগুলির একটি তালিকা পাস করুন যা ফেরত দেওয়ার জন্য ডেটা ক্ষেত্রগুলি নির্দিষ্ট করে৷ আপনি যদি ফিল্ড মাস্ক বাদ দেন, অনুরোধটি একটি ত্রুটি ফিরিয়ে দেবে।

    আপনি অপ্রয়োজনীয় ডেটার অনুরোধ করবেন না তা নিশ্চিত করার জন্য ক্ষেত্র তালিকাগুলি একটি ভাল নকশা অনুশীলন, যা অপ্রয়োজনীয় প্রক্রিয়াকরণের সময় এবং বিলিং চার্জ এড়াতে সহায়তা করে।

    নিম্নলিখিত ক্ষেত্রগুলির মধ্যে এক বা একাধিক নির্দিষ্ট করুন:

  • 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 বা .distancerankPreference সেট করতে পারেন (দূরত্ব অনুসারে রেঙ্ক ফলাফল)।
    • "মাউন্টেন ভিউ, 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 অবজেক্টে অ্যাট্রিবিউশন এবং লেখক অ্যাট্রিবিউশন থাকতে পারে। আপনি যদি আপনার অ্যাপে পর্যালোচনা প্রদর্শন করেন, তাহলে আপনাকে অবশ্যই কোনো অ্যাট্রিবিউশন বা লেখকের অ্যাট্রিবিউশনও প্রদর্শন করতে হবে।

আরও তথ্যের জন্য, বৈশিষ্ট্যের ডকুমেন্টেশন দেখুন।

,
প্ল্যাটফর্ম নির্বাচন করুন: Android iOS জাভাস্ক্রিপ্ট ওয়েব পরিষেবা

একটি পাঠ্য অনুসন্ধান একটি স্ট্রিংয়ের উপর ভিত্তি করে স্থানগুলির একটি সেট সম্পর্কে তথ্য প্রদান করে। উদাহরণস্বরূপ, "নিউ ইয়র্কের পিৎজা", "অটোয়ার কাছে জুতার দোকান", বা "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 এর জন্য বিলিং

উদাহরণ: একটি 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 বৈশিষ্ট্যগুলির একটি তালিকা পাস করুন যা ফেরত দেওয়ার জন্য ডেটা ক্ষেত্রগুলি নির্দিষ্ট করে৷ আপনি যদি ফিল্ড মাস্ক বাদ দেন, অনুরোধটি একটি ত্রুটি ফিরিয়ে দেবে।

    আপনি অপ্রয়োজনীয় ডেটার অনুরোধ করবেন না তা নিশ্চিত করার জন্য ক্ষেত্র তালিকাগুলি একটি ভাল নকশা অনুশীলন, যা অপ্রয়োজনীয় প্রক্রিয়াকরণের সময় এবং বিলিং চার্জ এড়াতে সহায়তা করে।

    নিম্নলিখিত ক্ষেত্রগুলির মধ্যে এক বা একাধিক নির্দিষ্ট করুন:

  • 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 বা .distancerankPreference সেট করতে পারেন (দূরত্ব অনুসারে রেঙ্ক ফলাফল)।
    • "মাউন্টেন ভিউ, 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 অবজেক্টে অ্যাট্রিবিউশন এবং লেখক অ্যাট্রিবিউশন থাকতে পারে। আপনি যদি আপনার অ্যাপে পর্যালোচনা প্রদর্শন করেন, তাহলে আপনাকে অবশ্যই কোনো অ্যাট্রিবিউশন বা লেখকের অ্যাট্রিবিউশনও প্রদর্শন করতে হবে।

আরও তথ্যের জন্য, বৈশিষ্ট্যের ডকুমেন্টেশন দেখুন।

,
প্ল্যাটফর্ম নির্বাচন করুন: Android iOS জাভাস্ক্রিপ্ট ওয়েব পরিষেবা

একটি পাঠ্য অনুসন্ধান একটি স্ট্রিংয়ের উপর ভিত্তি করে স্থানগুলির একটি সেট সম্পর্কে তথ্য প্রদান করে। উদাহরণস্বরূপ, "নিউ ইয়র্কের পিৎজা", "অটোয়ার কাছে জুতার দোকান", বা "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 এর জন্য বিলিং

উদাহরণ: একটি 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 বৈশিষ্ট্যগুলির একটি তালিকা পাস করুন যা ফেরত দেওয়ার জন্য ডেটা ক্ষেত্রগুলি নির্দিষ্ট করে৷ আপনি যদি ফিল্ড মাস্ক বাদ দেন, অনুরোধটি একটি ত্রুটি ফিরিয়ে দেবে।

    আপনি অপ্রয়োজনীয় ডেটার অনুরোধ করবেন না তা নিশ্চিত করার জন্য ক্ষেত্র তালিকাগুলি একটি ভাল নকশা অনুশীলন, যা অপ্রয়োজনীয় প্রক্রিয়াকরণের সময় এবং বিলিং চার্জ এড়াতে সহায়তা করে।

    নিম্নলিখিত ক্ষেত্রগুলির মধ্যে এক বা একাধিক নির্দিষ্ট করুন:

  • টেক্সটকিউরি

    যে পাঠ্য স্ট্রিংটি অনুসন্ধান করবেন, উদাহরণস্বরূপ: "রেস্তোঁরা", "123 মেইন স্ট্রিট", বা "সান ফ্রান্সিসকোতে দেখার জন্য সেরা জায়গা"।

ঐচ্ছিক পরামিতি

অনুসন্ধানের জন্য al চ্ছিক পরামিতিগুলি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest অবজেক্টটি ব্যবহার করুন।

  • অন্তর্ভুক্ত টাইপ

    টেবিল এ দ্বারা সংজ্ঞায়িত নির্দিষ্ট ধরণের সাথে মেলে এমন জায়গাগুলিতে ফলাফলগুলি সীমাবদ্ধ করে। শুধুমাত্র একটি প্রকার নির্দিষ্ট করা যেতে পারে। যেমন:

    • request.includedType = "bar"
    • request.includedType = "pharmacy"
  • আইসোপেনো

    যদি true তবে ক্যোয়ারী প্রেরণের সময় ব্যবসায়ের জন্য উন্মুক্ত কেবল সেই জায়গাগুলি ফিরে আসুন। যদি false তবে উন্মুক্ত স্থিতি নির্বিশেষে সমস্ত ব্যবসা ফিরিয়ে দিন। গুগল প্লেস ডাটাবেসে খোলার সময়গুলি নির্দিষ্ট করে না এমন জায়গাগুলি যদি আপনি এই প্যারামিটারটি false হিসাবে সেট করেন তবে ফিরে আসে।

  • isstricttypefiltering

    includeType প্যারামিটার সহ ব্যবহৃত। যখন true সেট করা হয়, কেবলমাত্র সেই জায়গাগুলি যা includeType দ্বারা নির্দিষ্ট নির্দিষ্ট প্রকারের সাথে মেলে। যখন মিথ্যা, ডিফল্ট, প্রতিক্রিয়াটিতে এমন জায়গাগুলি থাকতে পারে যা নির্দিষ্ট ধরণের সাথে মেলে না।

  • লোকেশনবিয়াস

    অনুসন্ধানের জন্য একটি অঞ্চল নির্দিষ্ট করে। এই অবস্থানটি পক্ষপাত হিসাবে কাজ করে যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি নির্দিষ্ট অঞ্চলের বাইরে ফলাফল সহ ফিরে আসতে পারে।

    আপনি locationRestriction বা locationBias নির্দিষ্ট করতে পারেন, তবে উভয়ই নয়। ফলাফলগুলি অবশ্যই সেই অঞ্চলটি নির্দিষ্ট করে এবং locationBias এমন অঞ্চলটি উল্লেখ করে যে ফলাফলগুলি অবশ্যই কাছাকাছি থাকতে হবে তবে এলাকার বাইরে থাকতে পারে তা উল্লেখ করে locationRestriction ভাবুন।

    অঞ্চলটিকে একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসাবে বা একটি বৃত্ত হিসাবে নির্দিষ্ট করুন।

    • একটি বৃত্ত কেন্দ্র পয়েন্ট এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধটি অবশ্যই 0.0 এবং 50000.0 এর মধ্যে থাকতে হবে। ডিফল্ট ব্যাসার্ধ 0.0। যেমন:

      request.locationBias =  GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
    • একটি আয়তক্ষেত্র হ'ল একটি অক্ষাংশ-দৃ und ়তা ভিউপোর্ট, যা দুটি তির্যকভাবে নিম্ন এবং উচ্চ পয়েন্টের বিপরীতে প্রতিনিধিত্ব করে। নিম্ন পয়েন্টটি আয়তক্ষেত্রের দক্ষিণ -পশ্চিম কোণকে চিহ্নিত করে এবং উচ্চ পয়েন্টটি আয়তক্ষেত্রের উত্তর -পূর্ব কোণটি উপস্থাপন করে।

      একটি ভিউপোর্টকে একটি বদ্ধ অঞ্চল হিসাবে বিবেচনা করা হয়, যার অর্থ এটি এর সীমানা অন্তর্ভুক্ত করে। অক্ষাংশের সীমাগুলি অবশ্যই অন্তর্ভুক্ত থাকতে হবে -90 থেকে 90 ডিগ্রি অন্তর্ভুক্ত, এবং দ্রাঘিমাংশের সীমা অবশ্যই -180 থেকে 180 ডিগ্রি অন্তর্ভুক্ত রয়েছে:

      • যদি low = high তবে ভিউপোর্টটি সেই একক পয়েন্ট নিয়ে গঠিত।
      • যদি low.longitude > high.longitude , দ্রাঘিমাংশের পরিসীমা উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশ লাইনটি অতিক্রম করে)।
      • যদি low.longitude high.longitude
      • high.longitude low.longitude
      • যদি low.latitude high.latitude
  • লোকেশন রেস্ট্রিকেশন

    অনুসন্ধানের জন্য একটি অঞ্চল নির্দিষ্ট করে। নির্দিষ্ট অঞ্চলের বাইরের ফলাফলগুলি ফেরত দেওয়া হয় না। অঞ্চলটিকে একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসাবে নির্দিষ্ট করুন। ভিউপোর্টটি সংজ্ঞায়িত করার তথ্যের জন্য locationBias বিবরণ দেখুন।

    আপনি locationRestriction বা locationBias নির্দিষ্ট করতে পারেন, তবে উভয়ই নয়। ফলাফলগুলি অবশ্যই সেই অঞ্চলটি নির্দিষ্ট করে এবং locationBias এমন অঞ্চলটি উল্লেখ করে যে ফলাফলগুলি অবশ্যই কাছাকাছি থাকতে হবে তবে এলাকার বাইরে থাকতে পারে তা উল্লেখ করে locationRestriction ভাবুন।

  • ম্যাক্সরসাল্টকাউন্ট

    ফিরে আসতে সর্বাধিক সংখ্যক স্থানের ফলাফল নির্দিষ্ট করে। অবশ্যই 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 সেট করতে পারেন।
    • "মাউন্টেন ভিউ, সিএ" এর মতো একটি বিভাগীয় কোয়েরির জন্য, আমরা আপনাকে সুপারিশ করি যে আপনি rankPreference আনসেট ছেড়ে দিন।
  • অঞ্চল কোড

    অঞ্চল কোডটি প্রতিক্রিয়া ফর্ম্যাট করতে ব্যবহৃত হয়, যা দ্বি-চরিত্রের সিএলডিআর কোড মান হিসাবে নির্দিষ্ট করা হয়। এই প্যারামিটারটি অনুসন্ধানের ফলাফলগুলিতেও পক্ষপাতমূলক প্রভাব ফেলতে পারে। কোনও ডিফল্ট মান নেই।

    যদি প্রতিক্রিয়াতে ঠিকানা ক্ষেত্রের দেশের নাম অঞ্চল কোডের সাথে মেলে, তবে দেশের কোডটি ঠিকানা থেকে বাদ দেওয়া হয়।

    বেশিরভাগ সিএলডিআর কোডগুলি কিছু উল্লেখযোগ্য ব্যতিক্রম সহ আইএসও 3166-1 কোডগুলির সাথে সমান। উদাহরণস্বরূপ, যুক্তরাজ্যের সিসিটিএলডি হ'ল "ইউকে" (.co.uk) যখন এর আইএসও 3166-1 কোডটি "জিবি" (প্রযুক্তিগতভাবে "গ্রেট ব্রিটেন এবং উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" এর সত্তার জন্য)। প্যারামিটার প্রযোজ্য আইনের ভিত্তিতে ফলাফলগুলিকে প্রভাবিত করতে পারে।

আপনার অ্যাপে বৈশিষ্ট্যগুলি প্রদর্শন করুন

যখন আপনার অ্যাপ্লিকেশনটি ফটো এবং পর্যালোচনাগুলির মতো GMSPlacesClient থেকে প্রাপ্ত তথ্য প্রদর্শন করে, তখন অ্যাপটিকে অবশ্যই প্রয়োজনীয় বৈশিষ্ট্যগুলি প্রদর্শন করতে হবে।

উদাহরণস্বরূপ, GMSPlacesClient অবজেক্টের reviews সম্পত্তিটিতে পাঁচটি GMSPlaceReview অবজেক্টের একটি অ্যারে রয়েছে। প্রতিটি GMSPlaceReview অবজেক্টে বৈশিষ্ট্য এবং লেখকের বৈশিষ্ট্য থাকতে পারে। আপনি যদি আপনার অ্যাপ্লিকেশনটিতে পর্যালোচনাটি প্রদর্শন করেন তবে আপনাকে অবশ্যই কোনও অ্যাট্রিবিউশন বা লেখকের বৈশিষ্ট্যও প্রদর্শন করতে হবে।

আরও তথ্যের জন্য, বৈশিষ্ট্যগুলিতে ডকুমেন্টেশন দেখুন।

,

একটি পাঠ্য অনুসন্ধান স্ট্রিংয়ের উপর ভিত্তি করে জায়গাগুলির একটি সেট সম্পর্কিত তথ্য দেয়। উদাহরণস্বরূপ, "নিউইয়র্কের পিজ্জা", "জুতো স্টোরের কাছে অটোয়ার কাছে", বা "123 মেইন স্ট্রিট"। পরিষেবাটি পাঠ্য স্ট্রিংয়ের সাথে মিলে যাওয়া জায়গাগুলির একটি তালিকার সাথে প্রতিক্রিয়া জানায় এবং কোনও সেট অবস্থানের পক্ষপাতিত্ব করে।

পরিষেবাটি একটি স্বয়ংক্রিয় সিস্টেমে অস্পষ্ট ঠিকানা প্রশ্নগুলি তৈরির জন্য বিশেষভাবে কার্যকর এবং স্ট্রিংয়ের অ-ঠিকানা উপাদানগুলি ব্যবসায়ের পাশাপাশি ঠিকানাগুলির সাথে মেলে। অস্পষ্ট ঠিকানা প্রশ্নের উদাহরণগুলি হ'ল দুর্বল-ফর্ম্যাটযুক্ত ঠিকানা বা অনুরোধগুলি যা ব্যবসায়ের নামগুলির মতো অ-ঠিকানা উপাদানগুলি অন্তর্ভুক্ত করে। প্রথম দুটি উদাহরণের মতো অনুরোধগুলি শূন্য ফলাফলগুলি ফিরিয়ে দিতে পারে যদি না কোনও অবস্থান (যেমন অঞ্চল, অবস্থানের সীমাবদ্ধতা বা অবস্থানের পক্ষপাত) সেট না করা থাকে।

"10 হাই স্ট্রিট, ইউকে" বা "123 মেইন স্ট্রিট, মার্কিন" যুক্তরাজ্যে একাধিক "হাই স্ট্রিট" এর; মার্কিন যুক্তরাষ্ট্রে একাধিক "মেইন স্ট্রিট"। কোনও অবস্থানের সীমাবদ্ধতা সেট না করা হলে ক্যোয়ারী কাঙ্ক্ষিত ফলাফলগুলি ফেরত দেয় না।
"চেইন রেস্তোঁরা নিউ ইয়র্ক" নিউ ইয়র্কের একাধিক "চেইন রেস্তোঁরা" অবস্থান; কোনও রাস্তার ঠিকানা বা এমনকি রাস্তার নামও নেই।
"10 হাই স্ট্রিট, এসচার ইউকে" বা "123 মেইন স্ট্রিট, প্লিজেন্টন ইউএস" যুক্তরাজ্যের শহর এসচারে কেবল একটি "হাই স্ট্রিট"; মার্কিন যুক্তরাষ্ট্রের প্লিজেন্টন সিএ শহরে কেবল একটি "মেইন স্ট্রিট"
"ইউনিকরেস্টাওরেন্টনাম নিউ ইয়র্ক" নিউ ইয়র্কে এই নাম সহ একটি মাত্র স্থাপনা; পার্থক্য করার জন্য কোনও রাস্তার ঠিকানা দরকার নেই।
"নিউইয়র্কের পিজ্জা রেস্তোঁরা" এই ক্যোয়ারিতে এর অবস্থানের সীমাবদ্ধতা রয়েছে এবং "পিজ্জা রেস্তোঁরাগুলি" একটি সু-সংজ্ঞায়িত স্থানের ধরণ। এটি একাধিক ফলাফল দেয়।
"+1 514-670-8700"

এই ক্যোয়ারিতে একটি ফোন নম্বর রয়েছে। এটি সেই ফোন নম্বরটির সাথে সম্পর্কিত জায়গাগুলির জন্য একাধিক ফলাফল দেয়।

পাঠ্য অনুসন্ধানের মাধ্যমে স্থানগুলির একটি তালিকা পান

GMSPlacesClient searchByTextWithRequest: প্রতিক্রিয়াটি পরিচালনা করার জন্য GMSPlaceSearchByTextResultCallback টাইপের অনুরোধের পরামিতি এবং একটি কলব্যাক পদ্ধতি সংজ্ঞায়িত করে এমন একটি GMSPlaceSearchByTextRequest অবজেক্টটি পাস করা।

GMSPlaceSearchByTextRequest অবজেক্ট অনুরোধের জন্য প্রয়োজনীয় এবং al চ্ছিক পরামিতিগুলির সমস্ত নির্দিষ্ট করে। প্রয়োজনীয় পরামিতিগুলির মধ্যে রয়েছে:

  • 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;
      }
    }
  }
];

আইওএসের জন্য সুইফট এসডিকে রাখে (পূর্বরূপ)

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 এবং গুগলপ্লেসেসউইফ্টে isPlaceOpenRequest ) নামে একটি সদস্য ফাংশন রয়েছে যা কলটিতে নির্দিষ্ট সময়ের ভিত্তিতে জায়গাটি বর্তমানে খোলা আছে কিনা তা নির্দেশ করে এমন একটি প্রতিক্রিয়া প্রদান করে।

এই পদ্ধতিটি GMSPlaceIsOpenWithRequest টাইপের একক যুক্তি নেয়:

  • একটি GMSPlace অবজেক্ট , বা একটি স্থান আইডি নির্দিষ্ট করে একটি স্ট্রিং। প্রয়োজনীয় ক্ষেত্রগুলি সহ স্থান অবজেক্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, স্থানের বিশদটি দেখুন।
  • আপনি যে সময়টি যাচাই করতে চান তা নির্দিষ্ট করে একটি al চ্ছিক NSDate (ওবিজে-সি) বা Date (সুইফট) অবজেক্ট। যদি কোনও সময় নির্দিষ্ট না করা হয় তবে ডিফল্টটি এখন।
  • প্রতিক্রিয়াটি পরিচালনা করতে একটি GMSPlaceOpenStatusResponseCallback পদ্ধতি।
  • >

GMSPlaceIsOpenWithRequest পদ্ধতিতে GMSPlace অবজেক্টে নিম্নলিখিত ক্ষেত্রগুলি সেট করা প্রয়োজন:

  • GMSPlacePropertyUTCOffsetMinutes
  • GMSPlacePropertyBusinessStatus
  • GMSPlacePropertyOpeningHours
  • GMSPlacePropertyCurrentOpeningHours
  • GMSPlacePropertySecondaryOpeningHours

যদি এই ক্ষেত্রগুলি স্থানের অবজেক্টে সরবরাহ না করা হয় বা আপনি যদি কোনও স্থান আইডি পাস করেন তবে পদ্ধতিটি GMSPlacesClient GMSFetchPlaceRequest: সেগুলি আনতে।

isOpenWithRequest প্রতিক্রিয়া

isOpenWithRequest একটি বুলিয়ান মান নামযুক্ত একটি GMSPlaceIsOpenResponse status ফেরত দেয় যা ব্যবসাটি খোলা, বন্ধ, বা স্থিতি অজানা কিনা তা নির্দেশ করে।

ভাষা খোলা থাকলে মান বন্ধ থাকলে মান স্ট্যাটাস অজানা যদি মান
সুইফট .open .closed .unknown
উদ্দেশ্য-C GMSPlaceOpenStatusOpen GMSPlaceOpenStatusClosed GMSPlaceOpenStatusUnknown
গুগলপ্লেসসুইফ্ট (প্রাকদর্শন) true false nil

isOpenWithRequest জন্য বিলিং

উদাহরণ: একটি 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 বৈশিষ্ট্যগুলির একটি তালিকা পাস করুন। আপনি যদি ক্ষেত্রের মুখোশটি বাদ দেন তবে অনুরোধটি একটি ত্রুটি ফিরিয়ে দেবে।

    আপনি অপ্রয়োজনীয় ডেটার জন্য অনুরোধ করবেন না তা নিশ্চিত করার জন্য ক্ষেত্রের তালিকাগুলি একটি ভাল নকশা অনুশীলন, যা অপ্রয়োজনীয় প্রক্রিয়াজাতকরণ সময় এবং বিলিং চার্জ এড়াতে সহায়তা করে।

    নিম্নলিখিত ক্ষেত্রগুলির এক বা একাধিক নির্দিষ্ট করুন:

  • টেক্সটকিউরি

    যে পাঠ্য স্ট্রিংটি অনুসন্ধান করবেন, উদাহরণস্বরূপ: "রেস্তোঁরা", "123 মেইন স্ট্রিট", বা "সান ফ্রান্সিসকোতে দেখার জন্য সেরা জায়গা"।

ঐচ্ছিক পরামিতি

অনুসন্ধানের জন্য al চ্ছিক পরামিতিগুলি নির্দিষ্ট করতে GMSPlaceSearchByTextRequest অবজেক্টটি ব্যবহার করুন।

  • অন্তর্ভুক্ত টাইপ

    টেবিল এ দ্বারা সংজ্ঞায়িত নির্দিষ্ট ধরণের সাথে মেলে এমন জায়গাগুলিতে ফলাফলগুলি সীমাবদ্ধ করে। শুধুমাত্র একটি প্রকার নির্দিষ্ট করা যেতে পারে। যেমন:

    • request.includedType = "bar"
    • request.includedType = "pharmacy"
  • আইসোপেনো

    যদি true তবে ক্যোয়ারী প্রেরণের সময় ব্যবসায়ের জন্য উন্মুক্ত কেবল সেই জায়গাগুলি ফিরে আসুন। যদি false তবে উন্মুক্ত স্থিতি নির্বিশেষে সমস্ত ব্যবসা ফিরিয়ে দিন। গুগল প্লেস ডাটাবেসে খোলার সময়গুলি নির্দিষ্ট করে না এমন জায়গাগুলি যদি আপনি এই প্যারামিটারটি false হিসাবে সেট করেন তবে ফিরে আসে।

  • isstricttypefiltering

    includeType প্যারামিটার সহ ব্যবহৃত। যখন true সেট করা হয়, কেবলমাত্র সেই জায়গাগুলি যা includeType দ্বারা নির্দিষ্ট নির্দিষ্ট প্রকারের সাথে মেলে। যখন মিথ্যা, ডিফল্ট, প্রতিক্রিয়াটিতে এমন জায়গাগুলি থাকতে পারে যা নির্দিষ্ট ধরণের সাথে মেলে না।

  • লোকেশনবিয়াস

    অনুসন্ধানের জন্য একটি অঞ্চল নির্দিষ্ট করে। এই অবস্থানটি পক্ষপাত হিসাবে কাজ করে যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি নির্দিষ্ট অঞ্চলের বাইরে ফলাফল সহ ফিরে আসতে পারে।

    আপনি locationRestriction বা locationBias নির্দিষ্ট করতে পারেন, তবে উভয়ই নয়। ফলাফলগুলি অবশ্যই সেই অঞ্চলটি নির্দিষ্ট করে এবং locationBias এমন অঞ্চলটি উল্লেখ করে যে ফলাফলগুলি অবশ্যই কাছাকাছি থাকতে হবে তবে এলাকার বাইরে থাকতে পারে তা উল্লেখ করে locationRestriction ভাবুন।

    অঞ্চলটিকে একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসাবে বা একটি বৃত্ত হিসাবে নির্দিষ্ট করুন।

    • একটি বৃত্ত কেন্দ্র পয়েন্ট এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধটি অবশ্যই 0.0 এবং 50000.0 এর মধ্যে থাকতে হবে। ডিফল্ট ব্যাসার্ধ 0.0। যেমন:

      request.locationBias =  GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
    • একটি আয়তক্ষেত্র হ'ল একটি অক্ষাংশ-দৃ und ়তা ভিউপোর্ট, যা দুটি তির্যকভাবে নিম্ন এবং উচ্চ পয়েন্টের বিপরীতে প্রতিনিধিত্ব করে। নিম্ন পয়েন্টটি আয়তক্ষেত্রের দক্ষিণ -পশ্চিম কোণকে চিহ্নিত করে এবং উচ্চ পয়েন্টটি আয়তক্ষেত্রের উত্তর -পূর্ব কোণটি উপস্থাপন করে।

      একটি ভিউপোর্টকে একটি বদ্ধ অঞ্চল হিসাবে বিবেচনা করা হয়, যার অর্থ এটি এর সীমানা অন্তর্ভুক্ত করে। অক্ষাংশের সীমাগুলি অবশ্যই অন্তর্ভুক্ত থাকতে হবে -90 থেকে 90 ডিগ্রি অন্তর্ভুক্ত, এবং দ্রাঘিমাংশের সীমা অবশ্যই -180 থেকে 180 ডিগ্রি অন্তর্ভুক্ত রয়েছে:

      • যদি low = high তবে ভিউপোর্টটি সেই একক পয়েন্ট নিয়ে গঠিত।
      • যদি low.longitude > high.longitude , দ্রাঘিমাংশের পরিসীমা উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশ লাইনটি অতিক্রম করে)।
      • যদি low.longitude high.longitude
      • high.longitude low.longitude
      • যদি low.latitude high.latitude
  • লোকেশন রেস্ট্রিকেশন

    অনুসন্ধানের জন্য একটি অঞ্চল নির্দিষ্ট করে। নির্দিষ্ট অঞ্চলের বাইরের ফলাফলগুলি ফেরত দেওয়া হয় না। অঞ্চলটিকে একটি আয়তক্ষেত্রাকার ভিউপোর্ট হিসাবে নির্দিষ্ট করুন। ভিউপোর্টটি সংজ্ঞায়িত করার তথ্যের জন্য locationBias বিবরণ দেখুন।

    আপনি locationRestriction বা locationBias নির্দিষ্ট করতে পারেন, তবে উভয়ই নয়। ফলাফলগুলি অবশ্যই সেই অঞ্চলটি নির্দিষ্ট করে এবং locationBias এমন অঞ্চলটি উল্লেখ করে যে ফলাফলগুলি অবশ্যই কাছাকাছি থাকতে হবে তবে এলাকার বাইরে থাকতে পারে তা উল্লেখ করে locationRestriction ভাবুন।

  • ম্যাক্সরসাল্টকাউন্ট

    ফিরে আসতে সর্বাধিক সংখ্যক স্থানের ফলাফল নির্দিষ্ট করে। অবশ্যই 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 সেট করতে পারেন।
    • "মাউন্টেন ভিউ, সিএ" এর মতো একটি বিভাগীয় কোয়েরির জন্য, আমরা আপনাকে সুপারিশ করি যে আপনি rankPreference আনসেট ছেড়ে দিন।
  • অঞ্চল কোড

    অঞ্চল কোডটি প্রতিক্রিয়া ফর্ম্যাট করতে ব্যবহৃত হয়, যা দ্বি-চরিত্রের সিএলডিআর কোড মান হিসাবে নির্দিষ্ট করা হয়। এই প্যারামিটারটি অনুসন্ধানের ফলাফলগুলিতেও পক্ষপাতমূলক প্রভাব ফেলতে পারে। কোনও ডিফল্ট মান নেই।

    যদি প্রতিক্রিয়াতে ঠিকানা ক্ষেত্রের দেশের নাম অঞ্চল কোডের সাথে মেলে, তবে দেশের কোডটি ঠিকানা থেকে বাদ দেওয়া হয়।

    বেশিরভাগ সিএলডিআর কোডগুলি কিছু উল্লেখযোগ্য ব্যতিক্রম সহ আইএসও 3166-1 কোডগুলির সাথে সমান। উদাহরণস্বরূপ, যুক্তরাজ্যের সিসিটিএলডি হ'ল "ইউকে" (.co.uk) যখন এর আইএসও 3166-1 কোডটি "জিবি" (প্রযুক্তিগতভাবে "গ্রেট ব্রিটেন এবং উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" এর সত্তার জন্য)। প্যারামিটার প্রযোজ্য আইনের ভিত্তিতে ফলাফলগুলিকে প্রভাবিত করতে পারে।

আপনার অ্যাপে বৈশিষ্ট্যগুলি প্রদর্শন করুন

যখন আপনার অ্যাপ্লিকেশনটি ফটো এবং পর্যালোচনাগুলির মতো GMSPlacesClient থেকে প্রাপ্ত তথ্য প্রদর্শন করে, তখন অ্যাপটিকে অবশ্যই প্রয়োজনীয় বৈশিষ্ট্যগুলি প্রদর্শন করতে হবে।

উদাহরণস্বরূপ, GMSPlacesClient অবজেক্টের reviews সম্পত্তিটিতে পাঁচটি GMSPlaceReview অবজেক্টের একটি অ্যারে রয়েছে। প্রতিটি GMSPlaceReview অবজেক্টে বৈশিষ্ট্য এবং লেখকের বৈশিষ্ট্য থাকতে পারে। আপনি যদি আপনার অ্যাপ্লিকেশনটিতে পর্যালোচনাটি প্রদর্শন করেন তবে আপনাকে অবশ্যই কোনও অ্যাট্রিবিউশন বা লেখকের বৈশিষ্ট্যও প্রদর্শন করতে হবে।

আরও তথ্যের জন্য, বৈশিষ্ট্যগুলিতে ডকুমেন্টেশন দেখুন।