Maps Compose Library

Jetpack Compose یک جعبه ابزار UI آشکار و بومی است که توسعه UI را ساده و تسریع می کند. با Jetpack Compose، توصیف می‌کنید که می‌خواهید برنامه‌تان چه شکلی باشد و سپس به Jetpack Compose اجازه می‌دهید بقیه موارد را مدیریت کند.

کتابخانه Maps Compose برای Maps SDK برای Android مجموعه‌ای از توابع و انواع داده‌های قابل نوشتن منبع باز است که می‌توانید با Jetpack Compose برای ساخت برنامه خود استفاده کنید.

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

ترکیب پذیر توضیحات
دایره تابع Composable برای افزودن یک دایره به نقشه.
گوگل مپ تابع قابل ترکیب برای افزودن نقشه.
روکش زمین تابع قابل ترکیب برای افزودن پوشش زمین به نقشه.
MapProperties نوع داده برای خواصی که می توان روی نقشه تغییر داد.
تنظیمات MapUIS نوع داده برای تنظیمات مربوط به رابط کاربری روی نقشه.
نشانگر تابع قابل ترکیب برای افزودن نشانگر به نقشه.
چند ضلعی تابع قابل ترکیب برای افزودن چند ضلعی به نقشه.
پلی لاین تابع Composable برای افزودن چند خط به نقشه.
TileOverlay تابع قابل ترکیب برای افزودن یک پوشش کاشی به نقشه.

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

الزامات

برای استفاده از کتابخانه Maps Compose با Maps SDK برای Android باید:

  • Android Studio Arctic Fox را دانلود و نصب کنید.
  • ایجاد یک پروژه Google Maps در Android Studio با:

    • یک نوع الگوی فعالیت نوشتن خالی . این الگو وابستگی های لازم مورد نیاز Jetpack Compose را اضافه می کند.
    • حداقل SDK تنظیم شده روی API 21: Android 5.0 (Lollipop) یا جدیدتر.
    • زبان روی Kotlin تنظیم شده است.
  • یک کلید API دریافت کنید و آن را به پروژه خود اضافه کنید.

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

نصب و راه اندازی

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

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

      dependencies {
    
        // Android Maps Compose composables for the Maps SDK for Android
        implementation("com.google.maps.android:maps-compose:6.2.1")
    }

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

یک نقشه به برنامه خود اضافه کنید

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

val singapore = LatLng(1.35, 103.87)
val singaporeMarkerState = rememberMarkerState(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 برای ویژگی‌های مرتبط با UI، ویژگی‌ها را روی نقشه تنظیم کنید. می توانید این اشیاء را تغییر دهید تا ترکیب مجدد نقشه را آغاز کنید.

در مثال زیر، از یک سوئیچ ، یک جزء طراحی مواد ، برای تغییر دادن کنترل‌های بزرگ‌نمایی روی نقشه استفاده کنید.

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

بعدش چی