ספרייה ליצירה של מפות Google

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:

  1. מוסיפים את יחסי התלות הבאים לקובץ build.gradle.kts ברמת המודול:

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

  2. כדי לסנכרן את השינויים האלה, צריך לבצע מחדש את ה-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)
    }
  )
}

המאמרים הבאים