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

Yer ayrıntıları kompakt görünümü

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:

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,
)