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

जगह की खोज करने की सूची को पसंद के मुताबिक बनाया जा सकता है. इनमें से कोई भी विकल्प चुना जा सकता है:
- दिखाने के लिए कॉन्टेंट
- वर्टिकल ओरिएंटेशन में मीडिया का साइज़
- टेक्स्ट में काट-छांट
- ओरिएंटेशन
- आपके ब्रैंड और ऐप्लिकेशन की डिज़ाइन लैंग्वेज से मेल खाने वाली थीम ओवरराइड
- एट्रिब्यूशन की स्थिति
- यह जानकारी कि किसी जगह को चुना जा सकता है या नहीं
अनुरोध को अपनी ज़रूरत के हिसाब से भी बदला जा सकता है, ताकि Search by text request
या Search Nearby request
में से कोई एक कार्रवाई की जा सके.
बिलिंग
configureFromSearchByTextRequest()
या configureFromSearchNearbyRequest()
एट्रिब्यूट की बाइंडिंग वैल्यू बदलने पर, आपसे हर बार शुल्क लिया जाता है.
अपने ऐप्लिकेशन में जगह की जानकारी खोजने की सुविधा जोड़ना
अपने लेआउट में PlaceSearchFragment
Fragment जोड़कर, जगह खोजने वाले विजेट का इस्तेमाल करें.
जब आपको अपने ऐप्लिकेशन में टेक्स्ट खोज या आस-पास की जगहों की खोज के नतीजे लोड करने हों, तो अनुरोध के साथ 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
है. थीमिंग के बारे में ज़्यादा जानने के लिए, जगह की जानकारी देने वाले कॉम्पोनेंट का दस्तावेज़ देखें.
जिन थीम एट्रिब्यूट को बदला नहीं जाता है वे डिफ़ॉल्ट स्टाइल का इस्तेमाल करते हैं. अगर आपको गहरे रंग वाली थीम का इस्तेमाल करना है, तो 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>
उदाहरण
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)