کتابخانه Maps Compose

Jetpack Compose مجموعه ابزار بومی و بیانی میانای کاربر است که توسعه میانای کاربر را ساده و تسریع می‌کند. با Jetpack Compose، ظاهر موردنظرتان را برای برنامه توصیف می‌کنید و سپس اجازه می‌دهید Jetpack Compose بقیه کارها را انجام دهد.

کتابخانه Maps Compose برای «کیت توسعه نرم‌افزار Google Maps برای Android» مجموعه‌ای از توابع ترکیب‌پذیر متن‌باز و انواع داده است که می‌توانید با Jetpack Compose برای ساختن برنامه‌تان استفاده کنید.

کتابخانه Maps Compose حاوی توابع و انواع داده‌ای ترکیب‌شدنی است که به شما امکان می‌دهد بسیاری از وظایف رایج را انجام دهید. برخی‌از توابع ترکیب‌پذیر و انواع داده‌های پرکاربرد عبارت‌اند از:

تابع ترکیب‌پذیر شرح
دایره تابع ترکیب‌پذیر برای افزودن دایره به نقشه.
GoogleMap تابع ترکیب‌پذیر برای افزودن نقشه.
GroundOverlay تابع ترکیب‌پذیر برای افزودن هم‌پوشانی زمین به نقشه.
MapProperties نوع داده برای ویژگی‌هایی که می‌توانند در نقشه اصلاح شوند.
MapUISettings نوع داده برای تنظیمات مربوط به رابط کاربری در نقشه.
نشانگر تابع ترکیب‌پذیر برای افزودن نشانگر به نقشه.
Polygon تابع ترکیب‌پذیر برای افزودن چندضلعی به نقشه.
چندخطی تابع ترکیب‌پذیر برای افزودن چندخطی به نقشه.
TileOverlay تابع ترکیب‌پذیر برای افزودن رونهاد کاشی به نقشه.

برای فهرست کامل همه توابع و انواع داده قابل ترکیب، به مرجع کتابخانه Maps Compose مراجعه کنید.

الزامات

برای استفاده از کتابخانه Maps Compose با «کیت توسعه نرم‌افزار Maps ویژه Android»، باید:

  • Android Studio Arctic Fox را بارگیری و نصب کنید.
  • ایجاد پروژه Google Maps در «استودیو Android» با:

    • نوع الگوی Empty Compose Activity. این الگو وابستگی‌های لازم موردنیاز Jetpack Compose را اضافه می‌کند.
    • حداقل کیت توسعه نرم‌افزار روی سطح میانای برنامه کاربردی Android 23 («مارشمالو»؛ Android 6.0) یا بالاتر تنظیم شده باشد.
    • زبان روی Kotlin تنظیم شده باشد.
  • کلید میانای برنامه‌سازی کاربردی دریافت کنید و آن را به پروژه‌تان اضافه کنید.

  • کتابخانه Maps Compose را طبق روشی که در بخش بعدی توضیح داده شده است در پروژه نصب کنید.

نصب

برای نصب کتابخانه Maps Compose در پروژه Google Maps:

  1. وابستگی‌های زیر را به فایل build.gradle.kts سطح واحد اضافه کنید:

      dependencies {
    
        // Modern Android projects use version catalogs to manage dependencies. To include the Maps Compose library,
        // first add the following to your gradle/libs.versions.toml file:
        //
        // [versions]
        // mapsCompose = "8.4.0"
        //
        // [libraries]
        // maps-compose = { module = "com.google.maps.android:maps-compose", version.ref = "mapsCompose" }
        //
        // Android Maps Compose composables for the Maps SDK for Android
        implementation(libs.maps.compose)
        // If your project does not use a version catalog, you can use the following dependency instead:
        //
        //    implementation("com.google.maps.android:maps-compose:8.4.0")
    }

  2. برای همگام‌سازی این تغییرات، پروژه‌تان را در Android Studio بازسازی کنید.

افزودن نقشه به برنامه

مثال زیر نحوه استفاده از GoogleMap ترکیبی را برای افزودن نقشه نشان می‌دهد.

val singapore = LatLng(1.35, 103.87)
val singaporeMarkerState = rememberUpdatedMarkerState(position = singapore)
val cameraPositionState = rememberCameraPositionState {
  position = CameraPosition.fromLatLngZoom(singapore, 10f)
}
GoogleMap(
  modifier = Modifier.fillMaxSize(),
  cameraPositionState = cameraPositionState
) {
  Marker(
    state = singaporeMarkerState,
    title = "Singapore",
    snippet = "Marker in Singapore"
  )
}

در این مثال، نقشه حداکثر فضای مجاز را اشغال می‌کند و دوربین آن در مرکز سنگاپور قرار دارد. یک CameraPositionState نیز ایجاد می‌شود و در cameraPositionState ارائه می‌شود تا موقعیت دوربین را تنظیم کند.

سپس این مثال، نشانگر ترکیب‌پذیر را در محتوای نقشه فراخوانی می‌کند تا نشانگری به نقشه اضافه کند.

برای مقایسه این مثال با مثالی که بااستفاده از Views نقشه اضافه می‌کند، QuickStart را ببینید. توجه کنید که چگونه توابع ترکیبی به کد کمتری نیاز دارند و لازم نیست نگران چرخه حیات نقشه باشید.

تنظیم کردن دارایی‌ها روی نقشه

می‌توانید با ارائه شیء MapProperties یا شیء MapUiSettings برای ویژگی‌های مرتبط با میانای کاربر، ویژگی‌ها را روی نقشه تنظیم کنید. می‌توانید این اشیاء را تغییر دهید تا بازترکیب نقشه را راه‌اندازی کنید.

در مثال زیر، از کلید، از عنصر «طراحی مادی»، برای روشن/خاموش کردن کنترل‌های بزرگ‌نمایی در نقشه استفاده کنید.

var uiSettings by remember { mutableStateOf(MapUiSettings()) }
var properties by remember {
  mutableStateOf(MapProperties(mapType = MapType.SATELLITE))
}

Box(Modifier.fillMaxSize()) {
  GoogleMap(
    modifier = Modifier.matchParentSize(),
    properties = properties,
    uiSettings = uiSettings
  )
  Switch(
    checked = uiSettings.zoomControlsEnabled,
    onCheckedChange = {
      uiSettings = uiSettings.copy(zoomControlsEnabled = it)
    }
  )
}

قدم بعدی چیست