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

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

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

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

আবশ্যক প্যারামিটার ছাড়াও, আরও ভালো ফলাফল পেতে, টেক্সট সার্চ (নতুন) ঐচ্ছিক প্যারামিটার ব্যবহার করে কোয়েরি রিফাইন করার সুবিধা দেয়।

টেক্সট সার্চ (নতুন) আশেপাশে সার্চ (নতুন)-এর মতো। দু'টির মধ্যে প্রধান পার্থক্য হল, টেক্সট সার্চ (নতুন) আপনাকে একটি অনির্দিষ্ট সার্চ স্ট্রিং নির্দিষ্ট করতে দেয়, যেখানে আশেপাশের সার্চ (নতুন)-এর জন্য সার্চ করার জন্য একটি নির্দিষ্ট এলাকা প্রয়োজন।

টেক্সট সার্চ কোয়েরি

টেক্সট সার্চের অনুরোধ এই ফর্ম্যাটে থাকে:

// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME);

// Define latitude and longitude coordinates of the search area.
LatLng southWest = new LatLng(37.38816277477739, -122.08813770258874);
LatLng northEast = new LatLng(37.39580487866437, -122.07702325966572);

// Use the builder to create a SearchByTextRequest object.
final SearchByTextRequest searchByTextRequest = SearchByTextRequest.builder("Spicy Vegetarian Food", placeFields)
  .setMaxResultCount(10)
  .setLocationRestriction(RectangularBounds.newInstance(southWest, northEast)).build();

// Call PlacesClient.searchByText() to perform the search.
// Define a response handler to process the returned List of Place objects.
placesClient.searchByText(searchByTextRequest)
    .addOnSuccessListener(response -> {
      List<Place> places = response.getPlaces();
    });

এই উদাহরণে, আপনি:

  • ফিল্ডের তালিকায় শুধুমাত্র Place.Field.ID ও Place.Field.DISPLAY_NAME যোগ করুন। এর অর্থ হল, রেসপন্সে Place অবজেক্ট, যা প্রতিটি ম্যাচিং জায়গাকে দেখায়, তাতে শুধু ওই দুটি ফিল্ড থাকে।

  • সার্চের সংজ্ঞা দেয় এমন SearchByTextRequest অবজেক্ট তৈরি করতে SearchByTextRequest.Builder ব্যবহার করুন।

    • টেক্সট কোয়েরি স্ট্রিং "মশলাদার নিরামিষ খাবার" হিসেবে সেট করুন।

    • ফলাফলের জায়গার সর্বাধিক সংখ্যা ১০ হিসেবে সেট করুন। ডিফল্ট এবং সর্বাধিক সংখ্যা হল ২০।

    • অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক দ্বারা সংজ্ঞায়িত আয়তক্ষেত্রে সার্চের ক্ষেত্র সীমাবদ্ধ করুন। এই এলাকার বাইরে কোনও মিল পাওয়া যায়নি।

  • OnSuccessListener যোগ করুন এবং SearchByTextResponse অবজেক্ট থেকে মিলে যাওয়া জায়গাগুলি পান।

টেক্সট সার্চ সংক্রান্ত উত্তর

The SearchByTextResponse ক্লাসটি সার্চ অনুরোধের উত্তরকে উপস্থাপন করে। SearchByTextResponse অবজেক্টে এগুলি থাকে:

  • Place অবজেক্টের একটি তালিকা যা মিলে যাওয়া সব জায়গাকে উপস্থাপন করে, মিলে যাওয়া জায়গা পিছু একটি Place অবজেক্ট।

  • প্রতিটি Place অবজেক্টে শুধুমাত্র অনুরোধে পাস করা ফিল্ড লিস্ট দ্বারা সংজ্ঞায়িত ফিল্ড থাকে।

যেমন, অনুরোধে আপনি ফিল্ড লিস্ট এইভাবে উল্লেখ করেছেন:

// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME);

এই ফিল্ড তালিকার অর্থ হল, উত্তরের প্রতিটি Place অবজেক্টে শুধুমাত্র ম্যাচ করা প্রতিটি জায়গার প্লেস আইডি ও নাম থাকে। তারপর আপনি প্রতিটি Place অবজেক্টে এইসব ফিল্ড অ্যাক্সেস করতে Place.getId() এবং Place.getName() পদ্ধতি ব্যবহার করতে পারবেন।

Place অবজেক্টে ডেটা অ্যাক্সেস করার আরও উদাহরণের জন্য, প্লেস অবজেক্ট ডেটা ফিল্ড অ্যাক্সেস করুন দেখুন

পৃষ্ঠার ক্রমসংখ্যা

টেক্সট সার্চের SearchByTextResponse ক্লাস, getPagination() পদ্ধতির মাধ্যমে টেক্সট সার্চ ফলাফলের পেজিনেশন অ্যাক্সেস করার সুবিধা প্রদান করে, যা একটি পেজিনেশন অবজেক্ট রিটার্ন করে।

ফলাফলের অতিরিক্ত পৃষ্ঠা উপলভ্য আছে কিনা তা নির্ধারণ করতে Pagination অবজেক্টের hasNextPage() পদ্ধতি ব্যবহার করুন। এই পদ্ধতি একটি বুলিয়ান ভ্যালু (সত্য বা মিথ্যা) ফেরত পাঠায়।

hasNextPage()-এর ভ্যালু true হলে, ফলাফলের পরবর্তী পৃষ্ঠা পেতে fetchNextPage() মেথড কল করুন।

পরবর্তী পৃষ্ঠা উপলভ্য আছে কিনা তা কীভাবে চেক করবেন এবং তারপরে পৃষ্ঠাটি লোড করবেন তা নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

Kotlin

val searchByTextRequest =
      searchByTextRequest("restaurants", Arrays.asList(Place.Field.NAME)) {
        maxResultCount = 10
      }

// using pagination object (Preferred)
placesClient.searchByText(searchByTextRequest)   
    .addOnSuccessListener {response: SearchByTextResponse ->
        val places = response.places

        val pagination = response.pagination

        if (pagination.hasNextPage()) {
            pagination.setPageSize(20)
            pagination.fetchNextPage()
                    .addOnSuccessListener { nextPageResponse ->
                          val nextPagePlaces = nextPageResponse.getPlaces()
                    }
                    .addOnFailureListener {// Handle error with given status code}
        }
}
.addOnFailureListener {
// TODO: Handle error with given status code.
exception -> {
          exception.printStackTrace();
        }
}

Java

SearchByTextRequest searchByTextRequest =
  SearchByTextRequest.builder("restaurants", Arrays.asList(Place.Field.NAME)).setMaxResultCount(10).build();

// using pagination object (Preferred)
placesClient.searchByText(searchByTextRequest)
  .addOnSuccessListener((response) -> {
    List<Place> places = response.getPlaces();
    Log.i(TAG, "Places result: " + places);

    Pagination pagination =
      response.getPagination();

    if (pagination.hasNextPage()) {
      pagination.setPageSize(20); // change the page size from 10 to 20
      pagination.fetchNextPage()
    	  .addOnSuccessListener((nextPageResponse) -> {
            List<Place> nextPagePlaces = nextPageResponse.getPlaces();
            Log.i(TAG, "Next page places result: " + nextPagePlaces);
        });
    }
  })
  .addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
    	// Handle error with given status code
    }
  });

প্রয়োজনীয় প্যারামিটার

SearchByTextRequest এর জন্য প্রয়োজনীয় প্যারামিটারগুলি হল:

  • ফিল্ডের তালিকা

    কোন জায়গার ডেটা ফিল্ড ফেরত দিতে হবে তা উল্লেখ করুন। ফেরত পাঠানোর জন্য ডেটা ফিল্ড নির্দিষ্ট করে Place.Field ভ্যালুর একটি তালিকা পাস করুন। উত্তরে ফেরত আসা ফিল্ডের কোনও ডিফল্ট তালিকা নেই।

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

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

    • নিম্নলিখিত ফিল্ডগুলি Text Search Essentials ID Only SKU ট্রিগার করে:

      Place.Field.DISPLAY_NAME*
          * Place.Field.NAME-এর পরিবর্তে ব্যবহার করুন (4.0 ভার্সনে এটি বন্ধ করে দেওয়া হয়েছে)।
      Place.Field.ID
      Place.Field.RESOURCE_NAME*
          * এই ফর্ম্যাটে জায়গার রিসোর্স নাম থাকে: places/PLACE_ID.
           জায়গার টেক্সট নাম অ্যাক্সেস করতে DISPLAY_NAME ব্যবহার করুন।

      ফিল্ড ও সংশ্লিষ্ট SKU-এর সম্পূর্ণ তালিকা দেখতে, প্লেস ডেটা ফিল্ড (নতুন) দেখুন।

    • নিম্নলিখিত ফিল্ডগুলি Text Search Pro SKU ট্রিগার করে:

      Place.Field.ACCESSIBILITY_OPTIONS*
          Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE-এর পরিবর্তে ব্যবহার করুন (বন্ধ করা হয়েছে)।
      Place.Field.ADDRESS_COMPONENTS
      Place.Field.ADR_FORMAT_ADDRESS
      Place.Field.BUSINESS_STATUS
      Place.Field.FORMATTED_ADDRESS*
          Place.Field.ADDRESS-এর পরিবর্তে ব্যবহার করুন (বন্ধ করা হয়েছে)।
      Place.Field.GOOGLE_MAPS_URI
      Place.Field.ICON_BACKGROUND_COLOR
      Place.Field.ICON_MASK_URL *
          Place.Field.ICON_URL-এর (বন্ধ করে দেওয়া হয়েছে) পরিবর্তে ব্যবহার করুন।
      Place.Field.LOCATION*
          Place.Field.LAT_LNG-এর পরিবর্তে ব্যবহার করুন (বন্ধ করা হয়েছে)।
      Place.Field.PHOTO_METADATAS
      Place.Field.PLUS_CODE
      Place.Field.PRIMARY_TYPE
      Place.Field.PRIMARY_TYPE_DISPLAY_NAME
      Place.Field.SHORT_FORMATTED_ADDRESS
      Place.Field.SUB_DESTINATIONS
      Place.Field.TYPES
      Place.Field.UTC_OFFSET
      Place.Field.VIEWPORT

      ফিল্ডের সম্পূর্ণ তালিকা এবং তাদের সাথে সম্পর্কিত SKU-এর জন্য, জায়গার ডেটা ফিল্ড (নতুন) দেখুন।

    • নিম্নলিখিত ফিল্ড Text Search Enterprise SKU ট্রিগার করে:

      Place.Field.CURRENT_OPENING_HOURS
      Place.Field.CURRENT_SECONDARY_OPENING_HOURS
      Place.Field.INTERNATIONAL_PHONE_NUMBER*
          * Place.Field.PHONE_NUMBER-এর পরিবর্তে ব্যবহার করুন, যা বন্ধ করে দেওয়া হয়েছে।
      Place.Field.NATIONAL_PHONE_NUMBER
      Place.Field.OPENING_HOURS
      Place.Field.PRICE_LEVEL
      Place.Field.RATING
      Place.Field.SECONDARY_OPENING_HOURS
      Place.Field.USER_RATING_COUNT*
          * Place.Field.USER_RATINGS_TOTAL-এর পরিবর্তে ব্যবহার করুন, যা বন্ধ করে দেওয়া হয়েছে।
      Place.Field.WEBSITE_URI

      ফিল্ড ও সংশ্লিষ্ট SKU-এর সম্পূর্ণ তালিকা দেখতে, প্লেস ডেটা ফিল্ড (নতুন) দেখুন।

    • নিম্নলিখিত ফিল্ডগুলি Text Search Enterprise Plus SKU ট্রিগার করে:

      Place.Field.ALLOWS_DOGS
      Place.Field.CURBSIDE_PICKUP
      Place.Field.DELIVERY
      Place.Field.DINE_IN
      Place.Field.EDITORIAL_SUMMARY
      Place.Field.EV_CHARGE_OPTIONS
      Place.Field.FUEL_OPTIONS
      Place.Field.GOOD_FOR_CHILDREN
      Place.Field.GOOD_FOR_GROUPS
      Place.Field.GOOD_FOR_WATCHING_SPORTS
      Place.Field.LIVE_MUSIC
      Place.Field.MENU_FOR_CHILDREN
      Place.Field.OUTDOOR_SEATING
      Place.Field.PARKING_OPTIONS
      Place.Field.PAYMENT_OPTIONS
      Place.Field.RESERVABLE
      Place.Field.RESTROOM
      Place.Field.REVIEWS
      Place.Field.SERVES_BEER
      Place.Field.SERVES_BREAKFAST
      Place.Field.SERVES_BRUNCH
      Place.Field.SERVES_COCKTAILS
      Place.Field.SERVES_COFFEE
      Place.Field.SERVES_DESSERT
      Place.Field.SERVES_DINNER
      Place.Field.SERVES_LUNCH
      Place.Field.SERVES_VEGETARIAN_FOOD
      Place.Field.SERVES_WINE
      Place.Field.TAKEOUT

      ফিল্ডের সম্পূর্ণ তালিকা এবং তাদের সাথে সম্পর্কিত SKU-এর জন্য, জায়গার ডেটা ফিল্ড (নতুন) দেখুন।

    ফিল্ড লিস্ট প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setPlaceFields() মেথড কল করুন।

  • টেক্সট কোয়েরি

    যে টেক্সট স্ট্রিংয়ে সার্চ করতে হবে, যেমন: "রেস্তোরাঁ", "১২৩ মেইন স্ট্রিট" অথবা "সান ফ্রান্সিসকোতে ঘোরার সেরা জায়গা"। API এই স্ট্রিংয়ের ভিত্তিতে সম্ভাব্য ম্যাচ রিটার্ন করে এবং তাদের অনুভূত প্রাসঙ্গিকতার ভিত্তিতে ফলাফলগুলি অর্ডার করে।

    টেক্সট কোয়েরি প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setTextQuery() পদ্ধতি কল করুন।

ঐচ্ছিক প্যারামিটার

আপনার অনুরোধের ঐচ্ছিক প্যারামিটার নির্দিষ্ট করতে SearchByTextRequest object ব্যবহার করুন।

  • অন্তর্ভুক্ত ধরন

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

    • setIncludedType("bar")
    • setIncludedType("pharmacy")

    অন্তর্ভুক্ত টাইপ প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setIncludedType() পদ্ধতি কল করুন।

  • লোকেশন পক্ষপাত

    সার্চ করার জন্য কোনও এলাকা নির্দিষ্ট করে। এই লোকেশনটি একটি বায়াস হিসেবে কাজ করে, এর অর্থ হল নির্দিষ্ট লোকেশনের আশেপাশে থাকা ফলাফল দেখানো হতে পারে, এর মধ্যে নির্দিষ্ট এলাকার বাইরে থাকা ফলাফলও অন্তর্ভুক্ত।

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

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

    • বৃত্তকে কেন্দ্রবিন্দু ও মিটারে ব্যাসার্ধের মাধ্যমে সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই ০.০ থেকে ৫০০০০.০-এর মধ্যে হতে হবে। যেমন:

      // Define latitude and longitude coordinates of the center of the search area.
      LatLng searchCenter = new LatLng(37.38816277477739, -122.08813770258874);
      
      // Use the builder to create a SearchByTextRequest object.
      // Set the radius of the search area to 500.0 meters.
      final SearchByTextRequest searchByTextRequest = SearchByTextRequest.builder("Spicy Vegetarian Food", placeFields)
        .setMaxResultCount(10)
        .setLocationBias(CircularBounds.newInstance(searchCenter, 500.0)).build();
    • আয়তক্ষেত্র হল অক্ষাংশ-দ্রাঘিমাংশ ভিউপোর্ট, যা দুটি কোণাকুণি বিপরীতমুখী নিম্ন ও উচ্চ পয়েন্ট হিসেবে দেখানো হয়। নিম্ন বিন্দুটি আয়তক্ষেত্রের দক্ষিণ-পশ্চিম কোণকে চিহ্নিত করে এবং উচ্চ বিন্দুটি আয়তক্ষেত্রের উত্তর-পূর্ব কোণকে চিহ্নিত করে।

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

      • low = high হলে, ভিউপোর্টে সেই একটি পয়েন্ট থাকে।
      • low.longitude > high.longitude হলে, দ্রাঘিমাংশের রেঞ্জ উল্টে যায় (ভিউ পোর্ট ১৮০ ডিগ্রি দ্রাঘিমাংশ রেখা অতিক্রম করে)।
      • low.longitude = -১৮০ ডিগ্রি এবং high.longitude = ১৮০ ডিগ্রি হলে, ভিউপোর্টে সব দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে।
      • low.longitude = ১৮০ ডিগ্রি এবং high.longitude = -১৮০ ডিগ্রি হলে, দ্রাঘিমাংশের রেঞ্জ খালি থাকে।
      • low.latitude > high.latitude হলে, অক্ষাংশের রেঞ্জ খালি থাকে।

      উভয় লো ও হাই ভ্যালু পূরণ করতে হবে এবং দেখানো বক্সটি ফাঁকা থাকলে চলবে না। ভিউ পোর্ট খালি থাকলে সমস্যা হয়।

      যেমন, আয়তাকার ভিউপোর্টের ক্ষেত্রে টেক্সট সার্চ সংক্রান্ত অনুরোধ দেখুন।

      লোকেশন বায়াস প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setLocationBias() মেথড কল করুন।

  • লোকেশন সংক্রান্ত বিধিনিষেধ

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

    আপনি লোকেশন সংক্রান্ত বিধিনিষেধ বা লোকেশন বায়াস নির্দিষ্ট করতে পারবেন, তবে দু'টিই নয়। লোকেশন সংক্রান্ত বিধিনিষেধকে এমন একটি অঞ্চল হিসেবে ভাবুন যার মধ্যে ফলাফল থাকতে হবে এবং লোকেশন বায়াসকে এমন একটি অঞ্চল হিসেবে ভাবুন যার কাছাকাছি ফলাফল থাকতে হবে, তবে তা এলাকার বাইরেও হতে পারে।

    লোকেশন সংক্রান্ত বিধিনিষেধের প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setLocationRestriction() মেথড কল করুন।

  • ফলাফলের সর্বাধিক সংখ্যা

    ফেরত দেওয়ার জন্য জায়গার ফলাফলের সর্বাধিক সংখ্যা নির্দিষ্ট করে। ১ থেকে ২০ (ডিফল্ট) এর মধ্যে হতে হবে।

    সর্বাধিক ফলাফল গণনা করার প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setMaxResultCount() পদ্ধতি কল করুন।

  • নূন্যতম রেটিং

    ফলাফল শুধুমাত্র সেইসব কন্টেন্টের মধ্যে সীমাবদ্ধ রাখে যেগুলির গড় ব্যবহারকারী রেটিং এই সীমার চেয়ে বেশি বা সমান। মান অবশ্যই ০.০ থেকে ৫.০ (অন্তর্ভুক্ত) এর মধ্যে হতে হবে ০.৫ এর ইনক্রিমেন্টে। যেমন: ০, ০.৫, ১.০, ... , ৫.০ সহ। ভ্যালু ০.৫-এর নিকটতম পূর্ণসংখ্যায় পরিণত করা হয়। যেমন, ০.৬ ভ্যালু ১.০-এর কম রেটিং থাকা সব ফলাফল বাদ দেয়।

    ন্যূনতম রেটিং প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setMinRating() পদ্ধতি কল করুন।

  • এখন খোলা আছে

    true হলে, কোয়েরি পাঠানোর সময় শুধুমাত্র সেইসব জায়গার তথ্য দেখান যেগুলি ব্যবসার জন্য খোলা আছে। false হলে, খোলা আছে কিনা তা নির্বিশেষে সব ব্যবসা দেখান। Google Places ডেটাবেসে যেসব জায়গার খোলা থাকার সময় উল্লেখ করা নেই, আপনি এই প্যারামিটার false-এ সেট করলে সেগুলি দেখানো হয়।

    'এখনই খুলুন' প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setOpenNow() মেথড কল করুন।

  • দামের লেভেল

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

    • 1 - এই জায়গায় সস্তায় পরিষেবা পাওয়া যায়।
    • 2 - জায়গাটি মাঝারি দামের পরিষেবা প্রদান করে।
    • 3 - জায়গাটি অনেক বেশি দামের পরিষেবা প্রদান করে।
    • 4 - এই জায়গায় খুব ব্যয়বহুল পরিষেবা প্রদান করা হয়।

    প্রাইস লেভেল প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setPriceLevels() মেথড কল করুন।

  • র‍্যাঙ্ক সংক্রান্ত পছন্দ

    কোয়েরির ধরনের উপর ভিত্তি করে উত্তরে ফলাফল কীভাবে র‍্যাঙ্ক করা হয় তা নির্দিষ্ট করে:

    • "নিউ ইয়র্ক সিটির রেস্তোরাঁ"-এর মতো বিভাগীয় কোয়েরির ক্ষেত্রে, SearchByTextRequest.RankPreference.RELEVANCE (সার্চের প্রাসঙ্গিকতা অনুযায়ী ফলাফল র‍্যাঙ্ক করা) ডিফল্ট হিসেবে সেট করা থাকে। আপনি SearchByTextRequest.RankPreference.RELEVANCE বা SearchByTextRequest.RankPreference.DISTANCE (দূরত্বের ভিত্তিতে ফলাফল র‍্যাঙ্ক করুন) হিসেবে র‍্যাঙ্ক সংক্রান্ত পছন্দ সেট করতে পারবেন।
    • "ক্যালিফোর্নিয়ার মাউন্টেন ভিউ"-এর মতো বিভাগ-বহির্ভূত কোয়েরির ক্ষেত্রে, আমাদের সাজেশন হল আপনি যেন র‍্যাঙ্ক সংক্রান্ত পছন্দ প্যারামিটার সেট না করেন।

    র‍্যাঙ্ক সংক্রান্ত পছন্দের প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setRankPreference() মেথড কল করুন।

  • অঞ্চলের কোড

    উত্তর ফর্ম্যাট করার জন্য ব্যবহৃত অঞ্চল কোড, যা দুটি অক্ষরের CLDR কোড ভ্যালু হিসেবে নির্দিষ্ট করা আছে। এই প্যারামিটার সার্চ ফলাফলে পক্ষপাতদুষ্ট প্রভাবও ফেলতে পারে। কোনও ডিফল্ট ভ্যালু নেই।

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

    বেশিরভাগ CLDR কোড ISO 3166-1 কোডের মতোই, তবে কিছু ব্যতিক্রম আছে। যেমন, যুক্তরাজ্যের ccTLD হল "uk" (.co.uk) এবং এর ISO 3166-1 কোড হল "gb" (টেকনিক্যালি "গ্রেট ব্রিটেন ও উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" এন্টিটির জন্য)। প্রযোজ্য আইনের উপর ভিত্তি করে প্যারামিটার ফলাফলে প্রভাব ফেলতে পারে।

    রিজিয়ন কোড প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setRegionCode() মেথড কল করুন।

  • কঠোর ধরনের ফিল্টারিং

    অন্তর্ভুক্ত করার ধরন সংক্রান্ত প্যারামিটারের সাথে ব্যবহার করা হয়। true-এ সেট করা থাকলে, শুধুমাত্র সেইসব জায়গা রিটার্ন করা হয় যেগুলি include type-এর মাধ্যমে নির্দিষ্ট করা ধরনের সাথে ম্যাচ করে। false হলে, ডিফল্ট হিসেবে, উত্তরে এমন জায়গা থাকতে পারে যা নির্দিষ্ট ধরনের সাথে ম্যাচ করে না।

    স্ট্রিক্ট টাইপ ফিল্টারিং প্যারামিটার সেট করতে, SearchByTextRequest অবজেক্ট তৈরি করার সময় setStrictTypeFiltering() পদ্ধতি কল করুন।