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

ইউরোপীয় অর্থনৈতিক অঞ্চল (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.Builder ব্যবহার করে একটি SearchByTextRequest অবজেক্ট তৈরি করুন যা অনুসন্ধানকে সংজ্ঞায়িত করে।

    • টেক্সট কোয়েরি স্ট্রিংটি "স্পাইসি নিরামিষ খাবার" তে সেট করুন।

    • ফলাফল স্থানের সর্বোচ্চ সংখ্যা ১০ এ সেট করুন। ডিফল্ট এবং সর্বোচ্চ ২০ টি।

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

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

টেক্সট সার্চের প্রতিক্রিয়া

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() পদ্ধতির মাধ্যমে টেক্সট সার্চ রেজাল্ট পেজিনেশনে অ্যাক্সেস প্রদান করে, যা একটি পেজিনেশন অবজেক্ট ফেরত দেয়।

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

যদিও hasNextPage() true রিটার্ন করে, পরবর্তী পৃষ্ঠার ফলাফল পুনরুদ্ধার করতে fetchNextPage() পদ্ধতিটি কল করুন।

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

কোটলিন

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();
        }
}

জাভা

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 মানের একটি তালিকা পাস করুন। প্রতিক্রিয়াতে ফেরত দেওয়া ক্ষেত্রগুলির কোনও ডিফল্ট তালিকা নেই।

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

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

    • নিম্নলিখিত ক্ষেত্রগুলি টেক্সট সার্চ এসেনশিয়ালস আইডি অনলি SKU ট্রিগার করে:

      Place.Field.DISPLAY_NAME *
      * Place.Field.NAME এর পরিবর্তে ব্যবহার করুন (সংস্করণ 4.0 এ অবচিত)।
      Place.Field.ID
      Place.Field.RESOURCE_NAME *
      * স্থানের রিসোর্সের নাম এই ফর্মে রয়েছে: places/PLACE_ID
      স্থানের টেক্সট নাম অ্যাক্সেস করতে DISPLAY_NAME ব্যবহার করুন।
    • নিম্নলিখিত ক্ষেত্রগুলি টেক্সট অনুসন্ধান প্রো 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 ট্রিগার করে:

      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 ট্রিগার করে:

      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

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

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

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

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

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

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

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

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

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

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

  • অবস্থান পক্ষপাত

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

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

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

    • একটি বৃত্তকে কেন্দ্রবিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধটি 0.0 এবং 50000.0 এর মধ্যে হতে হবে, যার মধ্যে রয়েছে। উদাহরণস্বরূপ:

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

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

      উদাহরণস্বরূপ, একটি আয়তক্ষেত্রাকার ভিউপোর্টের জন্য টেক্সট অনুসন্ধান অনুরোধ দেখুন।

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

  • অবস্থানের সীমাবদ্ধতা

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

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

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

  • সর্বোচ্চ ফলাফলের সংখ্যা

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

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

  • সর্বনিম্ন রেটিং

    শুধুমাত্র সেইসব ফলাফলের ক্ষেত্রে সীমাবদ্ধ যাদের গড় ব্যবহারকারী রেটিং এই সীমার চেয়ে বেশি বা সমান। মানগুলি 0.5 বৃদ্ধির সাথে 0.0 এবং 5.0 (সমেত) এর মধ্যে হতে হবে। উদাহরণস্বরূপ: 0, 0.5, 1.0, ... , 5.0 সহ। মানগুলি নিকটতম 0.5 পর্যন্ত পূর্ণসংখ্যা করা হয়। উদাহরণস্বরূপ, 0.6 এর মান 1.0 এর কম রেটিং সহ সমস্ত ফলাফলকে বাদ দেয়।

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

  • এখন খুলুন

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

    open now প্যারামিটার সেট করতে, 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" (প্রযুক্তিগতভাবে "The United Kingdom of Great Britain and Northern Ireland" এর সত্তার জন্য)। প্রযোজ্য আইনের উপর ভিত্তি করে প্যারামিটারটি ফলাফলকে প্রভাবিত করতে পারে।

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

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

    include type প্যারামিটারের সাথে ব্যবহার করা হয়। true তে সেট করা হলে, শুধুমাত্র include type দ্বারা নির্দিষ্ট করা নির্দিষ্ট ধরণের সাথে মেলে এমন স্থানগুলি ফেরত দেওয়া হয়। যখন false , ডিফল্ট হয়, তখন প্রতিক্রিয়ায় এমন স্থান থাকতে পারে যা নির্দিষ্ট ধরণের সাথে মেলে না।

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