Yer Ayrıntıları Kullanıcı Arayüzü Kiti (Deneysel)

Yer Ayrıntıları için Yer Ayrıntıları Kullanıcı Arayüzü Kiti, uygulamanızda yer ayrıntılarını gösteren ayrı bir kullanıcı arayüzü bileşeni eklemenize olanak tanır. Kullanıcı arayüzü kiti bağımsız olarak veya diğer Google Haritalar Platformu API'leri ve hizmetleriyle birlikte kullanılabilir. Kullanıcı arayüzü kiti, bir yer kimliği veya enlem/boylam koordinatları alır ve oluşturulmuş yer ayrıntıları bilgilerini döndürür.
Kullanıcı arayüzü kiti, yatay veya dikey olarak görüntülenebilen kompakt bir görünüm sunar. Varsayılan temanın özelliklerinden herhangi birini geçersiz kılarak yer ayrıntılarının görünümünü özelleştirebilirsiniz. Ayrıca, her biri yerle ilgili gösterilen bir bilgiye karşılık gelen Content
girişlerinin listesini belirterek hangi yer ayrıntıları alanlarının dahil edileceğini özelleştirebilirsiniz.
Faturalandırma
Yer Ayrıntıları için Yer Ayrıntıları Kullanıcı Arayüzü Kiti'ni kullandığınızda, widget kullanılarak yüklenen her yer için faturalandırılırsınız. Aynı yeri birden çok kez yüklerseniz her istek için faturalandırılırsınız.
Yerler kullanıcı arayüzü kitini etkinleştirme
Yerler kullanıcı arayüzü kitini kullanmadan önce:
- Faturalandırma hesabı içeren bir Cloud projesi oluşturun.
- Projeniz için Rehber API'sini etkinleştirin.
- API anahtarı alın.
Yer Ayrıntıları kullanıcı arayüzü kiti örnekleri
Bir düzene bir parça ekleyerek uygulamanıza yer ayrıntıları ekleyebilirsiniz. Fragmanı örneklendirirken yer ayrıntıları bilgilerinin görünümünü ve tarzını ihtiyaçlarınıza ve uygulamanızın görünümüne uyacak şekilde özelleştirebilirsiniz.
Yönlendirmeyi (yatay veya dikey), tema geçersiz kılmalarını ve içeriği belirtebilirsiniz. İçerik seçenekleri medya, adres, puan, fiyat, tür, erişilebilir giriş, haritalar bağlantısı ve yol tarifi bağlantısıdır. [Özelleştirme örneğini inceleyin]().
Kotlin
val fragment = PlaceDetailsCompactFragment.newInstance( orientation, listOf(Content.ADDRESS, Content.TYPE, Content.RATING, Content.ACCESSIBLE_ENTRANCE), R.style.CustomizedPlaceDetailsTheme, ) fragment.setPlaceLoadListener(object : PlaceLoadListener { override fun onSuccess() { ... } override fun onFailure(e: Exception) { ... } }) supportFragmentManager .beginTransaction() .add(R.id.fragment_container, fragment) .commitNow() fragment.loadPlaceDetails(placeId)
Java
PlaceDetailsCompactFragment fragment = PlaceDetailsCompactFragment.newInstance( Orientation.HORIZONTAL, Arrays.asList(Content.ADDRESS, Content.TYPE, Content.RATING, Content.ACCESSIBLE_ENTRANCE), R.style.CustomizedPlaceDetailsTheme); fragment.setPlaceLoadListener( new PlaceLoadListener() { @Override public void onSuccess() { ... } @Override public void onFailure(Exception e) { ... } }); getSupportFragmentManager() .beginTransaction() .add(R.id.fragment_container, fragment) .commitNow(); fragment.loadPlaceDetails(placeId);
Özelleştirme örneği
Bir fragmanı örneklendirirken varsayılan stil özelliklerinden herhangi birini geçersiz kılan bir tema belirtebilirsiniz. Geçersiz kılınmayan tüm tema özellikleri varsayılan stilleri kullanır. Koyu temayı desteklemek istiyorsanız values-night/colors.xml
alanına renk girişi ekleyebilirsiniz.
<style name="CustomizedPlaceDetailsTheme" parent="PlacesTheme"> <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>
Aşağıdaki stilleri özelleştirebilirsiniz:
placesColorSurfaceContainerLowest
placesColorOutlineDecorative
placesColorPrimary
placesColorOnSurface
placesColorOnSurfaceVariant
placesColorSecondaryContainer
placesColorOnSecondaryContainer
placesCornerRadius
placesTextAppearanceBodySmall
placesTextAppearanceBodyMedium
placesTextAppearanceBodyLarge
placesTextAppearanceLabelLarge
placesTextAppearanceHeadlineMedium
placesColorAttributionLight
(beyaz, gri ve siyah için enumlar)placesColorAttributionDark
(beyaz, gri ve siyah için enumlar)
Bu örnekte standart içerik özelleştirilmiştir.
val fragmentStandardContent = PlaceDetailsCompactFragment.newInstance( orientation, PlaceDetailsCompactFragment.STANDARD_CONTENT, R.style.BrandedPlaceDetailsTheme, )
Bu örnekte tüm içerikler özelleştirilmiştir.
val fragmentAllContent = PlaceDetailsCompactFragment.newInstance( orientation, PlaceDetailsCompactFragment.ALL_CONTENT, R.style.BrandedPlaceDetailsTheme, )