Jetpack פיתוח נייטיב הוא ערכת כלים הצהרתית ונייטיבית ליצירת ממשקי משתמש, שמפשטת ומאיצה את פיתוח ממשקי המשתמש. עם Jetpack פיתוח נייטיב, אתם מתארים איך אתם רוצים שהאפליקציה תיראה, ו-Jetpack פיתוח נייטיב כבר ידאג לכל השאר.
ספריית פיתוח נייטיב למפות ל-SDK של מפות ל-Android היא קבוצה של פונקציות הניתנות להגדרה וסוגי נתונים בקוד פתוח, שאפשר להשתמש בהם עם Jetpack פיתוח נייטיב כדי ליצור את האפליקציה.
ספריית פיתוח נייטיב למפות מכילה פונקציות וסוגי נתונים שניתן להרכיב מהם קוד, ומאפשרת לבצע משימות נפוצות רבות. דוגמאות לפונקציות ולסוגי נתונים נפוצים שאפשר להשתמש בהם:
| קומפוזבילי | תיאור |
|---|---|
| מעגל | פונקציה הניתנת להגדרה כדי להוסיף עיגול למפה. |
| GoogleMap | פונקציה הניתנת להגדרה להוספת מפה. |
| GroundOverlay | פונקציה הניתנת להגדרה כדי להוסיף שכבת על של קרקע למפה. |
| MapProperties | סוג הנתונים של מאפיינים שאפשר לשנות במפה. |
| MapUISettings | סוג הנתונים של הגדרות שקשורות לממשק משתמש במפה. |
| סמן | פונקציה הניתנת להגדרה להוספת סמן למפה. |
| Polygon | פונקציה הניתנת להגדרה להוספת פוליגון למפה. |
| קו פוליגוני | פונקציה הניתנת להגדרה להוספת קו פוליגוני למפה. |
| TileOverlay | פונקציה הניתנת להגדרה כדי להוסיף שכבה מעל קטעי המפה למפה. |
רשימה מלאה של כל הפונקציות הניתנות להגדרה וטיפוסי הנתונים, ראו ספריית פיתוח נייטיב למפות.
דרישות
כדי להשתמש בספריית פיתוח נייטיב למפות עם SDK של מפות ל-Android, צריך:
- מורידים ומתקינים את Android Studio Arctic Fox.
יוצרים פרויקט במפות Google ב-Android Studio עם:
- סוג התבנית Empty Compose Activity. התבנית הזו מוסיפה את התלויות הנדרשות על ידי Jetpack פיתוח נייטיב.
- גרסת ה-SDK המינימלית מוגדרת ל-API 21: Android 5.0 (Lollipop) ואילך.
- השפה Kotlin מוגדרת.
מקבלים מפתח API ומוסיפים אותו לפרויקט.
מתקינים את ספריית פיתוח נייטיב למפות בפרויקט כמו שמתואר בקטע הבא.
התקנה
כדי להתקין את ספריית פיתוח נייטיב למפות בפרויקט של מפות Google:
מוסיפים את יחסי התלות הבאים לקובץ
build.gradle.ktsברמת המודול:dependencies { // Android Maps Compose composables for the Maps SDK for Android implementation("com.google.maps.android:maps-compose:6.12.0") }
כדי לסנכרן את השינויים האלה, צריך לבצע מחדש את ה-build של הפרויקט ב-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 כדי להגדיר את מיקום המצלמה.
בדוגמה הבאה מבוצעת קריאה לרכיב הניתן להרכבה Marker בתוכן של המפה כדי להוסיף סמן למפה.
כדי להשוות את הדוגמה הזו לדוגמה שמוסיפה מפה באמצעות Views, אפשר לעיין בQuickStart. שימו לב שפונקציות שאפשר להרכיב דורשות פחות קוד, ואין צורך לדאוג לגבי מחזור החיים של המפה.
הגדרת נכסים במפה
אפשר להגדיר מאפיינים במפה באמצעות אובייקט MapProperties או אובייקט MapUiSettings למאפיינים שקשורים לממשק המשתמש. אפשר לשנות את האובייקטים האלה כדי להפעיל יצירה מחדש של המפה.
בדוגמה שלמטה, משתמשים בSwitch, ברכיב Material Design כדי להפעיל או להשבית את אמצעי הבקרה של שינוי מרחק התצוגה במפה.
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