کتابخانه 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 با «کیت توسعه نرم‌افزار Google Maps برای Android» باید:

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

    • نوع الگوی Empty Compose Activity. این الگو وابستگی‌های ضروری موردنیاز Jetpack Compose را اضافه می‌کند.
    • حداقل کیت توسعه نرم‌افزار روی سطح میانای برنامه‌سازی کاربردی Android نسخه ۲۳ («Marshmallow»؛ 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)
        },
    )
}

قدم بعدی چیست