'আশেপাশের সার্চ' (নতুন) অনুরোধে ইনপুট হিসেবে সেই অঞ্চলকে
নেওয়া হয় যেখানে বৃত্ত হিসেবে নির্দিষ্ট করা সার্চ করতে হবে, এটি বৃত্তের কেন্দ্রবিন্দুর অক্ষাংশ ও দ্রাঘিমাংশ
কোঅর্ডিনেট এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। অনুরোধটি
নির্দিষ্ট সার্চ এলাকার মধ্যে মিলে যাওয়া জায়গার তালিকা প্রদান করে, যার প্রতিটি
Place
অবজেক্ট দ্বারা
প্রতিনিধিত্ব করা হয়।
ডিফল্ট হিসেবে, সার্চ করা এলাকার মধ্যে সব ধরনের জায়গা উত্তরে থাকে। আপনি চাইলে, উত্তরে স্পষ্টভাবে অন্তর্ভুক্ত করতে বা বাদ দিতে, জায়গার ধরনের একটি তালিকা নির্দিষ্ট করে উত্তর ফিল্টার করতে পারেন। যেমন, আপনি নির্দিষ্ট করে দিতে পারেন যে উত্তরে শুধুমাত্র "রেস্তোরাঁ", "বেকারি" এবং "ক্যাফে" ধরনের জায়গা অন্তর্ভুক্ত করা হবে অথবা "স্কুল" ধরনের সব জায়গা বাদ দেওয়া হবে।
নিয়ারবাই সার্চ (নতুন) সংক্রান্ত অনুরোধ
PlacesClient.searchNearby-কে কল করে Nearby Search (নতুন) অনুরোধ করুন,
অনুরোধের প্যারামিটারকে সংজ্ঞায়িত করে এমন
SearchNearbyRequest
অবজেক্ট পাস করুন।
SearchNearbyRequest অবজেক্ট অনুরোধের জন্য প্রয়োজনীয় ও ঐচ্ছিক সব প্যারামিটার
নির্দিষ্ট করে। প্রয়োজনীয় প্যারামিটারের মধ্যে এগুলি অন্তর্ভুক্ত:
Placeঅবজেক্টে রিটার্ন করার জন্য ফিল্ডের তালিকা, যা ফিল্ড মাস্ক নামেও পরিচিত। আপনি যদি ফিল্ডের তালিকায় অন্তত একটি ফিল্ড নির্দিষ্ট না করেন, অথবা যদি আপনি ফিল্ডের তালিকা বাদ দেন, তাহলে কলটি একটি ত্রুটি দেখায়।- সার্চ এরিয়ার লোকেশন সংক্রান্ত বিধিনিষেধ, যা অক্ষাংশ/দ্রাঘিমাংশ জোড়া ও ব্যাসার্ধের ভ্যালু হিসেবে মিটারে সংজ্ঞায়িত করা হয়।
এই উদাহরণে, কাছাকাছি সার্চ করার অনুরোধে উল্লেখ করা হয়েছে যে সার্চ ফলাফলে প্রতিটি Place অবজেক্টের জন্য
রেসপন্স Place অবজেক্টে
Place.Field.ID এবং Place.Field.DISPLAY_NAME প্লেস ফিল্ড থাকবে। এছাড়াও, এটি শুধুমাত্র "রেস্তোরাঁ" এবং "ক্যাফে" ধরনের জায়গা দেখানোর জন্য
উত্তর ফিল্টার করে, কিন্তু "পিৎজা রেস্তোরাঁ" এবং "আমেরিকান রেস্তোরাঁ" ধরনের জায়গা
বাদ দেয়।
// Define a list of fields to include in the response for each returned place. final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME); // Define the search area as a 1000 meter diameter circle in New York, NY. LatLng center = new LatLng(40.7580, -73.9855); CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 1000); // Define a list of types to include. final List<String> includedTypes = Arrays.asList("restaurant", "cafe"); // Define a list of types to exclude. final List<String> excludedTypes = Arrays.asList("pizza_restaurant", "american_restaurant"); // Use the builder to create a SearchNearbyRequest object. final SearchNearbyRequest searchNearbyRequest = SearchNearbyRequest.builder(/* location restriction = */ circle, placeFields) .setIncludedTypes(includedTypes) .setExcludedTypes(excludedTypes) .setMaxResultCount(10) .build()); // Call placesClient.searchNearby() to perform the search. // Define a response handler to process the returned List of Place objects. placesClient.searchNearby(searchNearbyRequest) .addOnSuccessListener(response -> { List<Place> places = response.getPlaces(); });
নিয়ারবাই Search (নতুন) উত্তর
The
SearchNearbyResponse
ক্লাসটি সার্চ অনুরোধের উত্তরকে উপস্থাপন করে। SearchNearbyResponse
অবজেক্টে এগুলি থাকে:
Placeঅবজেক্টের একটি তালিকা যা মিলে যাওয়া সব জায়গাকে উপস্থাপন করে, সাথে মিলে যাওয়া জায়গা পিছু একটিPlaceঅবজেক্ট।- প্রতিটি
Placeঅবজেক্টে শুধুমাত্র অনুরোধে পাস করা ফিল্ড লিস্ট দ্বারা সংজ্ঞায়িত ফিল্ড থাকে।
যেমন, অনুরোধে আপনি ফিল্ডের তালিকা এভাবে সংজ্ঞায়িত করেছেন:
// Define a list of fields to include in the response for each returned place. final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
এই ফিল্ড তালিকার অর্থ হল, উত্তরের প্রতিটি Place অবজেক্টে শুধুমাত্র
ম্যাচ করা প্রতিটি জায়গার প্লেস আইডি ও নাম থাকে। তারপরে, প্রতিটি Place অবজেক্টে এইসব ফিল্ড অ্যাক্সেস করতে আপনি Place.getId()
এবং Place.getName() পদ্ধতি ব্যবহার করতে পারবেন।
Place অবজেক্টে ডেটা অ্যাক্সেস করার আরও উদাহরণ পেতে, প্লেস
অবজেক্ট ডেটা ফিল্ড অ্যাক্সেস করুন দেখুন।
প্রয়োজনীয় প্যারামিটার
সার্চের জন্য প্রয়োজনীয় প্যারামিটার নির্দিষ্ট করতে
SearchNearbyRequest
অবজেক্ট ব্যবহার করুন।
ফিল্ডের তালিকা
আপনি কোনও জায়গার বিবরণ অনুরোধ করলে, আপনাকে অবশ্যই ফিল্ড মাস্ক হিসেবে জায়গার জন্য
Placeঅবজেক্টে রিটার্ন করার ডেটা নির্দিষ্ট করতে হবে। ফিল্ড মাস্ক নির্ধারণ করতে,Place.FieldথেকেSearchNearbyRequestঅবজেক্টে ভ্যালুর একটি অ্যারে পাস করুন। ফিল্ড মাস্কিং হল একটি ভালো ডিজাইন প্র্যাক্টিস যা নিশ্চিত করে যে আপনি অপ্রয়োজনীয় ডেটার জন্য অনুরোধ করছেন না, যা অপ্রয়োজনীয় প্রসেসিং সময় এবং বিলিং চার্জ এড়াতে সাহায্য করে।নিচে উল্লেখ করা ফিল্ডের মধ্যে এক বা একাধিক ফিল্ড নির্দিষ্ট করুন:
নিম্নলিখিত ফিল্ডগুলি Nearby Search Pro SKU ট্রিগার করে:
Place.Field.ADDRESS_COMPONENTS
Place.Field.BUSINESS_STATUS
Place.Field.ADDRESS
Place.Field.DISPLAY_NAME>*
*Place.Field.NAME-এর পরিবর্তে ব্যবহার করুন, যা বন্ধ করে দেওয়া হয়েছে।
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL*
*Place.Field.ICON_URL-এর পরিবর্তে ব্যবহার করুন, যা বন্ধ করা হয়েছে।
Place.Field.ID
Place.Field.LAT_LNG
Place.Field.PHOTO_METADATAS
Place.Field.PLUS_CODE
Place.Field.PRIMARY_TYPE
Place.Field.PRIMARY_TYPE_DISPLAY_NAME
Place.Field.RESOURCE_NAME
Place.Field.TYPES
Place.Field.UTC_OFFSET
Place.Field.VIEWPORT
Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCEফিল্ডের সম্পূর্ণ তালিকা এবং তাদের সাথে সম্পর্কিত SKU-এর জন্য, জায়গার ডেটা ফিল্ড (নতুন) দেখুন।
নিম্নলিখিত ফিল্ডগুলি Nearby 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-এর জন্য, জায়গার ডেটা ফিল্ড (নতুন) দেখুন।
নিম্নলিখিত ফিল্ডগুলি Nearby 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-এর জন্য, জায়গার ডেটা ফিল্ড (নতুন) দেখুন।
ফিল্ড লিস্ট প্যারামিটার সেট করতে,
SearchNearbyRequestঅবজেক্ট তৈরি করার সময়setPlaceFields()মেথড কল করুন।নিম্নলিখিত উদাহরণে দুটি ফিল্ড ভ্যালুর তালিকা উল্লেখ করা হয়েছে যাতে বোঝা যায় যে অনুরোধের মাধ্যমে ফেরত পাঠানো
Placeঅবজেক্টেPlace.Field.IDএবংPlace.Field.DISPLAY_NAMEফিল্ড আছে:
// Define a list of fields to include in the response for each returned place. final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME);
লোকেশন সংক্রান্ত বিধিনিষেধ
A
LocationRestrictionএমন অবজেক্ট যা নির্দিষ্ট সার্চ করার জন্য অঞ্চলকে সংজ্ঞায়িত করে, এটি একটি বৃত্ত হিসেবে সংজ্ঞায়িত করা হয়। এটি কেন্দ্রীয় বিন্দু ও মিটারে ব্যাসার্ধের মাধ্যমে সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই 0.0-এর বেশি এবং 50000.0-এর কম বা সমান হতে হবে, মনে রাখবেন যে খুব ছোট ব্যাসার্ধ নির্দিষ্ট করলে উত্তরেZERO_RESULTSদেখাবে।লোকেশন সংক্রান্ত বিধিনিষেধের প্যারামিটার সেট করতে,
SearchNearbyRequestঅবজেক্ট তৈরি করার সময়setLocationRestriction()মেথড কল করুন।
ঐচ্ছিক প্যারামিটার
সার্চের জন্য ঐচ্ছিক প্যারামিটার নির্দিষ্ট করতে
SearchNearbyRequest
অবজেক্ট ব্যবহার করুন।
-
প্রকার ও প্রাথমিক প্রকার
আপনাকে types Table A থেকে ধরনের একটি তালিকা নির্দিষ্ট করতে দেয় যা সার্চ ফলাফল ফিল্টার করতে ব্যবহার করা হয়। প্রতিটি ধরনের বিধিনিষেধের বিভাগে সর্বাধিক ৫০টি ধরন উল্লেখ করা যেতে পারে।
কোনও জায়গার সাথে যুক্ত টেবিল ক থেকে কোনও জায়গার শুধুমাত্র একটি প্রাথমিক ধরন থাকতে পারে। যেমন, প্রাথমিক ধরনটি হতে পারে
"mexican_restaurant"বা"steak_house". কোনও জায়গার প্রাথমিক ধরন অনুযায়ী ফলাফল ফিল্টার করতেincludedPrimaryTypesএবংexcludedPrimaryTypesব্যবহার করুন।এছাড়াও, কোনও জায়গার সাথে যুক্ত সারণী ক-এর ধরন থেকে একাধিক ধরনের ভ্যালু থাকতে পারে। যেমন, কোনও রেস্তোরাঁর নিম্নলিখিত ধরন থাকতে পারে:
"seafood_restaurant","restaurant","food","point_of_interest","establishment"। কোনও জায়গার সাথে যুক্ত ধরনের তালিকা থেকে ফলাফল ফিল্টার করতেincludedTypesএবংexcludedTypesব্যবহার করুন।আপনি যখন কোনও সাধারণ প্রাথমিক ধরন উল্লেখ করেন, যেমন
"restaurant"বা"hotel", তখন উত্তরে উল্লেখ করা ধরনের চেয়ে আরও নির্দিষ্ট প্রাথমিক ধরন সহ জায়গা থাকতে পারে। যেমন, আপনি"restaurant"-এর প্রাথমিক ধরন অন্তর্ভুক্ত করার জন্য নির্দিষ্ট করেছেন। উত্তরে"restaurant"প্রাথমিক ধরনের জায়গা থাকতে পারে, কিন্তু উত্তরে আরও নির্দিষ্ট প্রাথমিক ধরনের জায়গাও থাকতে পারে, যেমন"chinese_restaurant"বা"seafood_restaurant"।একাধিক ধরনের বিধিনিষেধ সহ কোনও সার্চ নির্দিষ্ট করা হলে, শুধুমাত্র সেইসব জায়গা ফেরানো হয় যেগুলি সব বিধিনিষেধ মেনে চলে। যেমন, আপনি যদি
includedTypes = Arrays.asList("restaurant")এবংexcludedPrimaryTypes = Arrays.asList("steak_house")উল্লেখ করেন, তাহলে ফেরত আসা জায়গাগুলি"restaurant"সম্পর্কিত পরিষেবা প্রদান করে কিন্তু প্রাথমিকভাবে"steak_house"হিসেবে কাজ করে না।includedTypesওexcludedTypesকীভাবে ব্যবহার করতে হয় তার উদাহরণ দেখতে, আশেপাশের সার্চ (নতুন) সংক্রান্ত অনুরোধ দেখুন।অন্তর্ভুক্ত প্রকার
খুঁজে দেখার জন্য টেবিল ক থেকে জায়গার ধরনের তালিকা। এই প্যারামিটার বাদ দেওয়া হলে, সব ধরনের জায়গা দেখানো হয়।
অন্তর্ভুক্ত প্রকারের প্যারামিটার সেট করতে,
SearchNearbyRequestঅবজেক্ট তৈরি করার সময়setIncludedTypes()পদ্ধতি কল করুন।বাদ দেওয়া ধরন
সার্চ থেকে বাদ দেওয়ার জন্য সারণী ক থেকে জায়গার ধরনের একটি তালিকা।
আপনি যদি অনুরোধে
includedTypes(যেমন"school") এবংexcludedTypes(যেমন"primary_school") দুটিই উল্লেখ করেন, তাহলে উত্তরে এমন জায়গা অন্তর্ভুক্ত থাকে যেগুলি"school"হিসেবে শ্রেণীবদ্ধ করা হয়েছে কিন্তু"primary_school"হিসেবে নয়। উত্তরে এমন জায়গা অন্তর্ভুক্ত করা হয়েছে যাincludedTypes-এর অন্তত একটি এবংexcludedTypes-এর কোনওটির সাথে মেলে না।যদি কোনও পরস্পরবিরোধী ধরন থাকে, যেমন
includedTypesএবংexcludedTypes, দুটিতেই কোনও ধরন দেখা গেলে, একটিINVALID_REQUESTসমস্যা রিটার্ন করা হয়।বাদ দেওয়া প্রকারের প্যারামিটার সেট করতে,
SearchNearbyRequestঅবজেক্ট তৈরি করার সময়setExcludedTypes()পদ্ধতি কল করুন।অন্তর্ভুক্ত প্রাথমিক ধরন
সার্চে অন্তর্ভুক্ত করার জন্য টেবিল ক থেকে প্রাথমিক জায়গার ধরনের তালিকা।
অন্তর্ভুক্ত প্রাথমিক ধরনের প্যারামিটার সেট করতে,
SearchNearbyRequestঅবজেক্ট তৈরি করার সময়setIncludedPrimaryTypes()পদ্ধতি কল করুন।বাদ দেওয়া প্রাথমিক ধরন
সার্চ থেকে বাদ দেওয়ার জন্য টেবিল ক থেকে প্রাথমিক জায়গার ধরনের তালিকা।
যদি কোনও বিরোধপূর্ণ প্রাথমিক ধরন থাকে, যেমন একটি ধরন যা
includedPrimaryTypesএবংexcludedPrimaryTypes, দুটিতেই দেখা যায়, তাহলে একটিINVALID_ARGUMENTসমস্যা পাওয়া গেছে।বাদ দেওয়া প্রাথমিক ধরনের প্যারামিটার সেট করতে,
SearchNearbyRequestঅবজেক্ট তৈরি করার সময়setExcludedPrimaryTypes()মেথড কল করুন। -
সর্বাধিক ফলাফল সংখ্যা
ফেরত দেওয়ার জন্য জায়গার ফলাফলের সর্বাধিক সংখ্যা নির্দিষ্ট করে। ১ থেকে ২০ (ডিফল্ট) এর মধ্যে হতে হবে।
ফলাফলের সর্বাধিক সংখ্যা প্যারামিটার সেট করতে,
SearchNearbyRequestঅবজেক্ট তৈরি করার সময়setMaxResultCount()মেথড কল করুন। -
র্যাঙ্ক সংক্রান্ত পছন্দ
যে ধরনের র্যাংকিং ব্যবহার করতে হবে। এই প্যারামিটার বাদ দেওয়া হলে, ফলাফলগুলি জনপ্রিয়তা অনুসারে র্যাঙ্ক করা হয়। নিম্নলিখিতগুলির মধ্যে যেকোনও একটি হতে পারে:
POPULARITY(ডিফল্ট) জনপ্রিয়তার ভিত্তিতে ফলাফল সাজায়।DISTANCEনির্দিষ্ট লোকেশন থেকে দূরত্বের ভিত্তিতে ফলাফল ছোট থেকে বড় ক্রমে সাজায়।
র্যাঙ্ক প্রেফারেন্স প্যারামিটার সেট করতে,
SearchNearbyRequestঅবজেক্ট তৈরি করার সময়setRankPreference()মেথড কল করুন। -
অঞ্চলের কোড
উত্তর ফর্ম্যাট করার জন্য ব্যবহৃত অঞ্চল কোড, যা দুটি অক্ষরের CLDR কোড ভ্যালু হিসেবে নির্দিষ্ট করা আছে। কোনও ডিফল্ট ভ্যালু নেই।
উত্তরে
FORMATTED_ADDRESSফিল্ডের দেশের নামregionCode-এর সাথে মিলে গেলে,FORMATTED_ADDRESSথেকে দেশের কোড বাদ দেওয়া হয়।বেশিরভাগ CLDR কোড ISO 3166-1 কোডের মতো একই, তবে কিছু উল্লেখযোগ্য ব্যতিক্রম আছে। যেমন, যুক্তরাজ্যের ccTLD হল "uk" (.co.uk) এবং এর ISO 3166-1 কোড হল "gb" (প্রযুক্তিগতভাবে এটি "গ্রেট ব্রিটেন ও উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" এন্টিটির জন্য)। প্রযোজ্য আইনের উপর ভিত্তি করে প্যারামিটার ফলাফলে প্রভাব ফেলতে পারে।
রিজিয়ন কোড প্যারামিটার সেট করতে,
SearchNearbyRequestঅবজেক্ট তৈরি করার সময়setRegionCode()মেথড কল করুন।
আপনার অ্যাপে অ্যাট্রিবিউশন দেখানো
আপনার অ্যাপ যখন
PlacesClient-এর
থেকে পাওয়া তথ্য দেখায়, যেমন ফটো ও রিভিউ, তখন অ্যাপটিকে প্রয়োজনীয় অ্যাট্রিবিউশনও দেখাতে হবে।
আরও তথ্যের জন্য, Android-এর জন্য Places SDK-এর নীতি দেখুন।