प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

Place Search कॉम्पोनेंट

जगहों की जानकारी देने वाली यूआई किट का 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>