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

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

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