Place Search कॉम्पोनेंट
जगहों की जानकारी देने वाली यूआई किट का Place Search कॉम्पोनेंट, किसी जगह की खोज के नतीजों को सूची में दिखाता है.

जगह की खोज करने की सूची को पसंद के मुताबिक बनाया जा सकता है. इनमें से कोई भी विकल्प चुना जा सकता है:
- दिखाने के लिए कॉन्टेंट
- वर्टिकल ओरिएंटेशन में मीडिया का साइज़
- टेक्स्ट में काट-छांट
- ओरिएंटेशन
- थीम को बदलने की ऐसी सुविधाएं जो आपके ब्रैंड और ऐप्लिकेशन की डिज़ाइन लैंग्वेज से मेल खाती हों
- एट्रिब्यूशन की स्थिति
- यह जानकारी कि किसी जगह को चुना जा सकता है या नहीं
अनुरोध को अपनी पसंद के मुताबिक बनाया जा सकता है, ताकि SearchByTextRequest
या SearchNearbyRequest
में से कोई एक कार्रवाई की जा सके.
बिलिंग
configureFromSearchByTextRequest()
या configureFromSearchNearbyRequest()
एट्रिब्यूट की बाइंडिंग वैल्यू बदलने पर, आपसे हर बार शुल्क लिया जाता है.
अपने ऐप्लिकेशन में जगह की जानकारी खोजने की सुविधा जोड़ना
अपने लेआउट में PlaceSearchFragment
फ़्रैगमेंट जोड़कर, जगह खोजने वाले विजेट का इस्तेमाल करें.
जब आपको अपने ऐप्लिकेशन में टेक्स्ट खोज या आस-पास की जगहों की खोज के नतीजे लोड करने हों, तो अनुरोध के साथ configureFromSearchByTextRequest()
या configureFromSearchNearbyRequest()
को कॉल करें.
Kotlin
fragment.configureFromSearchByTextRequest(searchByTextRequest) // or fragment.configureFromSearchNearbyRequest(searchNearbyRequest) for nearby search
Java
fragment.configureFromSearchByTextRequest(searchByTextRequest) // or fragment.configureFromSearchNearbyRequest(searchNearbyRequest) for nearby search
कॉम्पोनेंट लोड होने पर, किसी जगह को चुनने पर (अगर उसे चुनने के लिए सेट किया गया है) या कॉम्पोनेंट लोड करने में गड़बड़ी होने पर, कॉल बैक पाने के लिए कॉम्पोनेंट में PlaceSearchFragmentListener
को भी जोड़ा जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है.
Kotlin
fragment.registerListener( object : PlaceSearchFragmentListener { override fun onLoad(places: List<Place>) {...} override fun onRequestError(e: Exception) {...} override fun onPlaceSelected(place: Place) {...} } )
Java
fragment.registerListener( new PlaceSearchFragmentListener() { @Override public void onLoad(List<? extends Place> places) {...} @Override public void onRequestError(Exception e) {...} @Override public void onPlaceSelected(Place place) {...} } )
Place Search कॉम्पोनेंट को पसंद के मुताबिक बनाना
कॉन्टेंट को पसंद के मुताबिक बनाना
आपको यह बताना होगा कि आपका कॉम्पोनेंट कौनसा कॉन्टेंट दिखाएगा.इस उदाहरण में, कॉम्पोनेंट को कॉन्फ़िगर किया गया है, ताकि जगह का पता और रेटिंग दिखाई जा सके.
Kotlin
val fragment = PlaceSearchFragment.newInstance(listOf(Content.ADDRESS, Content.RATING))
Java
PlaceSearchFragment fragment = PlaceSearchFragment.newInstance(listOf(Content.ADDRESS,Content.RATING));
आपके पास, जगह के हिसाब से खोज के कॉम्पोनेंट में दिखने वाले कॉन्टेंट के इन पहलुओं को अपनी पसंद के मुताबिक बनाने का विकल्प भी होता है:
- PlaceSearchFragment.Content: कॉम्पोनेंट में दिखाया गया कॉन्टेंट.
- mediaSize: फ़्रैगमेंट के वर्टिकल ओरिएंटेशन में फ़ोटो का साइज़. डिफ़ॉल्ट वैल्यू
SMALL
है. - preferTruncation: हर जगह की जानकारी वाले व्यू के टेक्स्ट को छोटा करना है या नहीं.
- attributionPosition: Google Maps एट्रिब्यूशन को कॉम्पोनेंट के सबसे ऊपर या सबसे नीचे दिखाना है या नहीं.
- selectable: इससे पता चलता है कि सूची में मौजूद हर जगह को चुना जा सकता है या नहीं.
PlaceSearchFragment
में, अपनी पसंद के मुताबिक बनाए गए कॉन्फ़िगरेशन को जोड़ें.
Kotlin
fragment.preferTruncation = false fragment.attributionPosition = AttributionPosition.BOTTOM fragment.mediaSize = MediaSize.SMALL fragment.selectable = true
Java
fragment.setPreferTruncation(false) fragment.setAttributionPosition(AttributionPosition.BOTTOM) fragment.setMediaSize(MediaSize.SMALL) fragment.setSelectable(true)
ओरिएंटेशन को पसंद के मुताबिक बनाना
डिफ़ॉल्ट ओरिएंटेशन वर्टिकल होता है. हॉरिज़ॉन्टल ओरिएंटेशन के लिए, PlaceSearchFragment.newInstance()
में Orientation.HORIZONTAL
तय करें.
Kotlin
PlaceSearchFragment.newInstance( PlaceSearchFragment.ALL_CONTENT, Orientation.HORIZONTAL )
Java
PlaceSearchFragment.newInstance( PlaceSearchFragment.ALL_CONTENT, Orientation.HORIZONTAL )
थीम को पसंद के मुताबिक बनाना
किसी फ़्रैगमेंट को इंस्टैंशिएट करते समय, ऐसी थीम तय की जा सकती है जो किसी भी डिफ़ॉल्ट स्टाइल एट्रिब्यूट को बदल देती है. जगह की जानकारी वाले कॉम्पोनेंट के रंग, टाइपोग्राफ़ी, स्पेसिंग, बॉर्डर, और कोनों को पसंद के मुताबिक बनाया जा सकता है. डिफ़ॉल्ट वैल्यू PlacesMaterialTheme
है.
जिन थीम एट्रिब्यूट को बदला नहीं गया है वे डिफ़ॉल्ट स्टाइल का इस्तेमाल करते हैं.
Places UI Kit में, डिफ़ॉल्ट रूप से गहरे रंग वाली थीम उपलब्ध होती है. इसलिए, आपको गहरे और हल्के, दोनों रंग वाली थीम को पसंद के मुताबिक बनाना पड़ सकता है. गहरे रंग वाली थीम को पसंद के मुताबिक बनाने के लिए, values-night/colors.xml
में रंग के लिए एक एंट्री जोड़ें.
थीमिंग के बारे में ज़्यादा जानने के लिए, कस्टम स्टाइलिंग सेक्शन देखें.
उदाहरण
Place Search कॉम्पोनेंट को इंस्टैंशिएट करना
Kotlin
val fragment: PlaceSearchFragment = PlaceSearchFragment.newInstance(PlaceSearchFragment.STANDARD_CONTENT) fragment.preferTruncation = false fragment.attributionPosition = AttributionPosition.BOTTOM fragment.mediaSize = MediaSize.SMALL fragment.selectable = true fragment.registerListener( object : PlaceSearchFragmentListener { override fun onLoad(places: List<Place>) {...} override fun onRequestError(e: Exception) {...} override fun onPlaceSelected(place: Place) {...} } ) supportFragmentManager .beginTransaction() .replace(R.id.fragment_container, fragment) .commitNow() fragment.configureFromSearchByTextRequest(searchByTextRequest)
Java
PlaceSearchFragment fragment = PlaceSearchFragment.newInstance(PlaceSearchFragment.STANDARD_CONTENT); fragment.setPreferTruncation(false) fragment.setAttributionPosition(AttributionPosition.BOTTOM) fragment.setMediaSize(MediaSize.SMALL) fragment.setSelectable(true) fragment.registerListener( new PlaceSearchFragmentListener() { @Override public void onLoad(List<? extends Place> places) {...} @Override public void onRequestError(Exception e) {...} @Override public void onPlaceSelected(Place place) {...} } ) getSupportFragmentManager() .beginTransaction() .replace(R.id.fragment_container, fragment) .commitNow(); fragment.configureFromSearchByTextRequest(searchByTextRequest)
थीम को पसंद के मुताबिक बनाना
Places UI Kit में, डिफ़ॉल्ट रूप से गहरे रंग वाली थीम उपलब्ध होती है. इसलिए, आपको गहरे और हल्के, दोनों रंग वाली थीम को पसंद के मुताबिक बनाना पड़ सकता है. गहरे रंग वाली थीम को पसंद के मुताबिक बनाने के लिए, values-night/colors.xml
में रंग के लिए एक एंट्री जोड़ें.
<style name="CustomizedTheme" parent="PlacesMaterialTheme"> <item name="placesColorPrimary">@color/app_primary_color</item> <item name="placesColorOnSurface">@color/app_color_on_surface</item> <item name="placesColorOnSurfaceVariant">@color/app_color_on_surface</item> <item name="placesTextAppearanceBodySmall">@style/app_text_appearence_small</item> <item name="placesCornerRadius">20dp</item> </style>