کیت رابط کاربری جزئیات مکان‌ها (تجربی)

جزئیات مکان نمای فشرده

کیت UI جزئیات مکان برای جزئیات مکان به شما امکان می دهد یک مؤلفه رابط کاربری جداگانه اضافه کنید که جزئیات مکان را در برنامه شما نمایش می دهد. کیت UI را می توان به طور مستقل یا همراه با سایر APIها و سرویس های پلتفرم Google Maps استفاده کرد. کیت UI یا شناسه مکان یا مختصات طول و عرض جغرافیایی را می گیرد و اطلاعات جزئیات مکان ارائه شده را برمی گرداند.

کیت UI یک نمای فشرده ارائه می دهد که می تواند به صورت افقی یا عمودی نمایش داده شود. می‌توانید ظاهر جزئیات مکان را با نادیده گرفتن هر یک از ویژگی‌های طرح زمینه پیش‌فرض سفارشی کنید. همچنین می‌توانید با تعیین فهرستی از ورودی‌های Content ، که هر کدام مربوط به اطلاعاتی است که در مورد مکان نشان داده شده است، فیلدهای جزئیات مکان را سفارشی کنید.

صورتحساب

هنگام استفاده از کیت UI جزئیات مکان برای جزئیات مکان، برای هر مکانی که با استفاده از ویجت بارگیری می شود صورتحساب دریافت می کنید. اگر یک مکان را چندین بار بارگیری کنید، برای هر درخواست صورتحساب دریافت می کنید.

Places UI Kit را فعال کنید

قبل از استفاده از Places UI Kit، باید:

نمونه‌های کیت UI جزئیات مکان

می توانید با افزودن یک قطعه به یک طرح، جزئیات مکان را به برنامه خود اضافه کنید. وقتی قطعه را نمونه‌سازی می‌کنید، می‌توانید ظاهر و احساس اطلاعات جزئیات مکان را مطابق با نیازهایتان و مطابقت با ظاهر برنامه‌تان سفارشی کنید.

می توانید جهت (افقی یا عمودی)، لغو تم و محتوا را مشخص کنید. گزینه های محتوا عبارتند از رسانه، آدرس، رتبه بندی، قیمت، نوع، ورودی قابل دسترسی، پیوند نقشه ها و پیوند مسیرها. [نمونه سفارشی سازی را ببینید]().

کاتلین

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)

جاوا

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

نمونه سفارشی سازی

هنگام نمونه سازی یک قطعه، می توانید موضوعی را تعیین کنید که هر یک از ویژگی های سبک پیش فرض را لغو کند. هر ویژگی موضوعی که لغو نشده است از سبک های پیش فرض استفاده می کند. اگر می‌خواهید از یک تم تیره پشتیبانی کنید، می‌توانید یک ورودی برای رنگ در values-night/colors.xml اضافه کنید.

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

می توانید سبک های زیر را سفارشی کنید:

  • placesColorSurfaceContainerLowest
  • placesColorOutlineDecorative
  • placesColorPrimary
  • placesColorOnSurface
  • placesColorOnSurfaceVariant
  • placesColorSecondaryContainer
  • placesColorOnSecondaryContainer
  • placesCornerRadius
  • placesTextAppearanceBodySmall
  • placesTextAppearanceBodyMedium
  • placesTextAppearanceBodyLarge
  • placesTextAppearanceLabelLarge
  • placesTextAppearanceHeadlineMedium
  • placesColorAttributionLight (مشخصات برای سفید، خاکستری و سیاه)
  • placesColorAttributionDark (فهرست برای سفید، خاکستری و سیاه)

این نمونه محتوای استاندارد را سفارشی می کند.

  val fragmentStandardContent = PlaceDetailsCompactFragment.newInstance(
  orientation,
  PlaceDetailsCompactFragment.STANDARD_CONTENT,
  R.style.BrandedPlaceDetailsTheme,
)

این نمونه تمام محتوا را سفارشی می کند.

  val fragmentAllContent = PlaceDetailsCompactFragment.newInstance(
  orientation,
  PlaceDetailsCompactFragment.ALL_CONTENT,
  R.style.BrandedPlaceDetailsTheme,
)