Temel Yer Adı Otomatik Tamamlama bileşeni
Places UI Kit'in Temel Yer Otomatik Tamamlama bileşeni, kullanıcı bir yer seçtiğinde yer kimliği döndüren ayrı bir kullanıcı arayüzü bileşeni eklemenize olanak tanır. Bu bileşen, kullanıcılara sorgu girmeleri için bir arama çubuğu sağlayan tam ekran bir kaplamadır. Kullanıcı yazarken arama çubuğunun altında otomatik tamamlama sonuçlarının listesi gösterilir. Kullanıcı bir yere dokunduğunda, geliştiriciye yalnızca yer kimliği içeren bir yer nesnesi döndürülür. Bu bileşen özelleştirilebilir.
Temel Yer Otomatik Tamamlama bileşeninde aşağıdaki özelleştirme seçenekleri bulunur: liste yoğunluğu ve konum simgelerinin dahil edilip edilmeyeceği. Bileşeni özelleştirmek için AutocompleteUICustomization
öğesini kullanın.
Temel Yer Otomatik Tamamlama bileşenini bağımsız olarak veya diğer Google Haritalar Platformu API'leri ve hizmetleriyle birlikte kullanabilirsiniz.
Faturalandırma
Bileşen her açıldığında ve sorgu yapıldığında sizden ücret alınır. Oturumun süresi dolmadığı veya listeden bir yer seçilmediği sürece bu oturum için tekrar faturalandırılmazsınız.
Uygulamanıza Temel Otomatik Tamamlama bileşenini ekleme
Otomatik tamamlama filtresi parametrelerini (ör. döndürülecek türler, sonuçların sınırlandırılacağı ülke, sonuçların bölge koordinatları, varsa mesafe bilgilerini göstermek için isteğin kaynağı) Places UI Kit olmadan Yer Otomatik Tamamlama (Yeni) özelliğini kullanıyormuş gibi ayarlayın. Tam talimatlar ve otomatik tamamlama filtresi oluşturmak için kullanılan kod örneği için Otomatik Yer Tamamlama (Yeni) dokümanlarına bakın.
Otomatik tamamlama filtrenizi oluşturduktan sonra kullanıcı arayüzü özelleştirmelerinizi ekleyin. Özelleştirme seçeneklerini ve talimatlarını inceleyin.
Kotlin
AutocompleteUiCustomization.create( listDensity = AutocompleteListDensity.MULTI_LINE, listItemIcon = AutocompleteUiIcon.noIcon(), )
Java
AutocompleteUiCustomization.builder() .listItemIcon(AutocompleteUiIcon.noIcon()) .listDensity(AutocompleteListDensity.MULTI_LINE) .build()
Temel Otomatik Tamamlama bileşenini özelleştirme
Liste yoğunluğu
İki satırlık veya çok satırlık bir liste görüntülemeyi seçebilirsiniz. AutocompleteUICustomization
sınıfında AutocompleteListDensity
(TWO_LINE
veya MULTI_LINE
) seçeneklerini kullanın. Liste yoğunluğunu belirtmezseniz bileşen iki satırlık bir liste gösterir.
Konum simgesi
Sonuç listesinde varsayılan bir yer simgesi gösterip göstermeyeceğinizi seçebilirsiniz. AutocompleteUICustomization
sınıfında AutocompleteUIIcon
(listItemDefaultIcon
veya noIcon
) seçeneklerini kullanın.
Temel Otomatik Tamamlama bileşenine özelleştirmeler ekleme
Basic Autocomplete bileşenini özelleştirmek için AutocompleteUICustomization
sınıfını kullanın.
Kotlin
.setAutocompleteUiCustomization( AutocompleteUiCustomization.create( listDensity = AutocompleteListDensity.MULTI_LINE, listItemIcon = AutocompleteUiIcon.noIcon(), ) )
Java
.setAutocompleteUiCustomization( AutocompleteUiCustomization.builder() .listItemIcon(AutocompleteUiIcon.noIcon()) .listDensity(AutocompleteListDensity.MULTI_LINE) .build() )
Örnek
Bu örnekte özel bir Temel Otomatik Tamamlama bileşeni oluşturuluyor.
Kotlin
val basicPlaceAutocompleteActivityResultLauncher: ActivityResultLauncher<Intent> = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult -> val intent = result.data val place: Place? = BasicPlaceAutocomplete.getPlaceFromIntent(intent!!) val status: Status? = BasicPlaceAutocomplete.getResultStatusFromIntent(intent!!) // ... } val autocompleteIntent: Intent = BasicPlaceAutocomplete.createIntent(this) { setInitialQuery("INSERT_QUERY_TEXT") setOrigin(LatLng(10.0, 10.0)) // ... setAutocompleteUiCustomization( AutocompleteUiCustomization.create( listDensity = AutocompleteListDensity.MULTI_LINE, listItemIcon = AutocompleteUiIcon.noIcon(), ) ) } basicPlaceAutocompleteActivityResultLauncher.launch(autocompleteIntent)
Java
ActivityResultLauncher<Intent> basicPlaceAutocompleteActivityResultLauncher = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() { @Override public void onActivityResult(ActivityResult result) { Intent intent = result.getData(); if (intent != null) { Place place = BasicPlaceAutocomplete.getPlaceFromIntent(intent); Status status = BasicPlaceAutocomplete.getResultStatusFromIntent(intent); //... } } } ); Intent basicPlaceAutocompleteIntent = new BasicPlaceAutocomplete.IntentBuilder() .setInitialQuery("INSERT_QUERY_TEXT") .setOrigin(new LatLng(10.0, 10.0)) //... .setAutocompleteUiCustomization( AutocompleteUiCustomization.builder() .listItemIcon(AutocompleteUiIcon.noIcon()) .listDensity(AutocompleteListDensity.MULTI_LINE) .build()) .build(this); basicPlaceAutocompleteActivityResultLauncher.launch(basicPlaceAutocompleteIntent);