Jetpack Compose هي مجموعة أدوات تعريفية لتصميم واجهة المستخدم الأصلية تعمل على تبسيط تطوير واجهة المستخدم وتسهيله. باستخدام Jetpack Compose، يمكنك وصف الشكل الذي تريده لتطبيقك، ثمّ السماح لـ Jetpack Compose بتنفيذ الباقي.
مكتبة Maps Compose لـ "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google" لتطبيقات Android هي مجموعة من الدوال القابلة للتجميع المفتوحة المصدر وأنواع البيانات التي يمكنك استخدامها مع Jetpack Compose لإنشاء تطبيقك.
تحتوي مكتبة Compose لحزمة تطوير برامج "خرائط Google" على دوال وأنواع بيانات قابلة للتجميع تتيح لك تنفيذ العديد من المهام الشائعة. تشمل بعض الدوالّ القابلة للتجميع وأنواع البيانات الشائعة الاستخدام ما يلي:
قابلة للتعديل | الوصف |
---|---|
دائرة | دالة قابلة للتجميع لإضافة دائرة إلى خريطة |
GoogleMap | دالة قابلة للتعديل لإضافة خريطة. |
GroundOverlay | دالة قابلة للتعديل لإضافة تراكب أرضي إلى خريطة. |
MapProperties | نوع البيانات للسمات التي يمكن تعديلها على الخريطة |
MapUISettings | نوع البيانات للإعدادات ذات الصلة بواجهة المستخدم على الخريطة |
محدِّد الموقع | دالة قابلة للتجميع لإضافة علامة إلى خريطة |
مضلّع | دالة قابلة للتجميع لإضافة مضلّع إلى خريطة |
الخط المتعدّد | دالة قابلة للتجميع لإضافة خط متعدد الأضلاع إلى خريطة |
TileOverlay | دالة قابلة للتجميع لإضافة تراكب مربّع إلى خريطة |
للحصول على قائمة كاملة بجميع الدوال وأنواع البيانات القابلة للتجميع، اطّلِع على مرجع مكتبة Maps Compose.
المتطلبات
لاستخدام مكتبة Compose لحزمة تطوير برامج "خرائط Google" مع حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات Android، عليك إجراء ما يلي:
- نزِّل ثبِّت الإصدار Arctic Fox من "استوديو Android".
يمكنك إنشاء مشروع على "خرائط Google" في "استوديو Android" باستخدام:
- نوع نموذج نشاط كتابة فارغ يضيف هذا النموذج التبعيات اللازمة التي يتطلبها Jetpack Compose.
- ضبط الحد الأدنى لحزمة تطوير البرامج (SDK) على المستوى 21 من واجهة برمجة التطبيقات: Android 5.0 (Lollipop) أو إصدار أحدث
- ضبط اللغة على Kotlin
احصل على مفتاح واجهة برمجة التطبيقات وأضِفه إلى مشروعك.
ثبِّت مكتبة Maps Compose في المشروع كما هو موضَّح في القسم التالي.
تثبيت
لتثبيت مكتبة Maps Compose في مشروعك على "خرائط Google"، اتّبِع الخطوات التالية:
أضِف التبعيات التالية إلى ملف
build.gradle.kts
على مستوى الوحدة:dependencies { // Android Maps Compose composables for the Maps SDK for Android implementation("com.google.maps.android:maps-compose:6.1.0") }
أعِد إنشاء مشروعك في "استوديو Android" لمزامنة هذه التغييرات.
إضافة خريطة إلى تطبيقك
يوضّح المثال التالي كيفية استخدام العنصر القابل للتجميع GoogleMap لإضافة خريطة.
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
لضبط موضع الكاميرا.
بعد ذلك، يستدعي المثال العنصر القابل للتجميع Marker في محتوى الخريطة لإضافة علامة إلى الخريطة.
لمقارنة هذا المثال بمثال يضيف خريطة باستخدام "المشاهدات"، اطّلِع على البدء السريع. لاحظ أنّ الوظائف القابلة للتجميع تتطلّب قدرًا أقل من الرموز البرمجية، ولا داعي للقلق بشأن دورة حياة الخريطة.
ضبط المواقع على خريطة
يمكنك ضبط السمات على الخريطة من خلال تقديم ملف MapProperties أو ملف MapUiSettings لملف السمات ذات الصلة بواجهة المستخدم. يمكنك تعديل هذه العناصر لإعادة تركيب الخريطة.
في المثال أدناه، يمكنك استخدام Switch، وهو مكوِّن تصميم متعدد الأبعاد، لتبديل عناصر التحكم في التكبير أو التصغير على الخريطة.
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.