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:
وابستگیهای زیر را به فایل
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") }
برای همگامسازی این تغییرات، پروژهتان را در 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) } ) }
قدم بعدی چیست
- صفحه پروژه کتابخانه Maps Compose GitHub را مشاهده کنید.
- اسناد Jetpack Compose را مشاهده کنید.