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

Jetpack פיתוח נייטיב היא ערכת כלים הצהרתית ומותאמת לממשק משתמש, שעוזרת לפשט ולזרז את התהליך פיתוח של ממשק משתמש. באמצעות 'Jetpack פיתוח נייטיב', אפשר לתאר את מה שהאפליקציה צריכה להיראות ואז לאפשר ל-Jetpack פיתוח נייטיב לטפל בכל השאר.

ספריית הכתיבה של מפות Google ל-SDK של מפות Google ל-Android היא קבוצה של פונקציות קומפוזביליות בקוד פתוח וסוגי נתונים שתוכלו להשתמש בהם ב-Jetpack פיתוח נייטיב כדי לבנות את האפליקציה.

הספרייה 'פיתוח מפות' מכילה פונקציות קומפוזביליות וסוגי נתונים שמאפשרים לבצע משימות נפוצות רבות. כמה מהפונקציות הקומפוזביליות הנפוצות ביותר וסוגי הנתונים כוללים:

Composable תיאור
מעגל פונקציה קומפוזבילית להוספת מעגל למפה.
GoogleMap פונקציה קומפוזבילית להוספת מפה.
GroundOverlay פונקציה שאפשר לשלב כדי להוסיף למפה שכבת-על של פני השטח.
MapProperties סוג הנתונים של מאפיינים שאפשר לשנות במפה.
MapUISettings סוג הנתונים של הגדרות שקשורות לממשק המשתמש במפה.
סמן פונקציה קומפוזבילית להוספת סמן למפה.
פוליגון פונקציה קומפוזבילית להוספת פוליגון למפה.
קו פוליגוני פונקציה קומפוזבילית להוספת קו פוליגוני למפה.
TileOverlay פונקציה קומפוזבילית להוספת שכבת-על של משבצת למפה.

רשימה מלאה של כל הפונקציות הקומפוזביליות וסוגי הנתונים זמינה במאמר חומר עזר בנושא ספריית פיתוח נייטיב למפות Google.

דרישות

כדי להשתמש בספריית 'כתיבה במפות Google' עם SDK של מפות ל-Android, עליך:

  • הורדה ולהתקין את Android Studio Arctic Fox.
  • יצירת פרויקט במפות Google ב-Android Studio עם:

    • סוג תבנית של פעילות כתיבה ריקה. התבנית הזו מוסיפה את יחסי התלות הנדרשים ל-Jetpack Compose.
    • ערכת ה-SDK המינימלית מוגדרת ל-API 21: Android 5.0 (Lollipop) ואילך.
    • השפה מוגדרת כ-Kotlin.
  • מקבלים מפתח API ומוסיפים אותו לפרויקט.

  • צריך להתקין את ספריית 'כתיבה במפות Google' בפרויקט, כמו שמתואר בחלק הבא.

התקנה

כדי להתקין את ספריית 'כתיבה במפות Google' בפרויקט במפות Google:

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

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

  2. כדי לסנכרן את השינויים האלה, צריך ליצור מחדש את הפרויקט ב-Android Studio.

הוספת מפה לאפליקציה

הדוגמה הבאה מראה איך להשתמש 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 כדי להגדיר את מיקום המצלמה.

לאחר מכן הדוגמה קוראת לפונקציה סמן קומפוזבילי בתוכן של המפה כדי להוסיף סמן למפה.

כדי להשוות דוגמה זו עם דוגמה שמוסיפה מפה באמצעות 'תצוגות', אפשר לעיין בקטע QuickStart. שימו לב עד כמה קומפוזבילי כדי להשתמש בפונקציות צריך פחות קוד, ואתם לא צריכים לדאוג לגבי מחזור החיים של המפה.

הגדרת נכסים במפה

אפשר להגדיר מאפיינים במפה באמצעות אובייקט MapProperties, או אובייקט MapUiSettings למאפיינים שקשורים לממשק המשתמש. אפשר לשנות את האובייקטים האלה כדי להפעיל הרכבה מחדש של את המפה.

בדוגמה הבאה נעשה שימוש במתג, רכיב של 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)
    }
  )
}

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