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

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

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

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

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

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

דרישות

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

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

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

  • מתקינים את הספרייה של 'כתיבה במפות Google' בפרויקט כפי שמתואר בקטע הבא.

התקנה

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

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

      dependencies {
    
    
        // Android Maps Compose composables for the Maps SDK for Android
        implementation 'com.google.maps.android:maps-compose:4.3.3'
    }

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

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

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

val singapore = LatLng(1.35, 103.87)
val cameraPositionState = rememberCameraPositionState {
  position = CameraPosition.fromLatLngZoom(singapore, 10f)
}
GoogleMap(
  modifier = Modifier.fillMaxSize(),
  cameraPositionState = cameraPositionState
) {
  Marker(
    state = MarkerState(position = singapore),
    title = "Singapore",
    snippet = "Marker in Singapore"
  )
}

בדוגמה הזו, המפה תופסת את השטח המקסימלי המותר והמצלמה שלה מרוכזת סביב סינגפור. כדי לקבוע את מיקום המצלמה, נוצר גם מזהה מיקום של המצלמה CameraPositionState והוא מסופק ב-cameraPositionState.

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

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

הגדרת מאפיינים במפה

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

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

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