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

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

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

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

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

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

דרישות

כדי להשתמש בספריית 'כתיבה במפות 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 ברמת המודול:

      dependencies {
    
    
        // Android Maps Compose composables for the Maps SDK for Android
        implementation 'com.google.maps.android:maps-compose:5.0.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 כדי להגדיר את מיקום המצלמה.

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

כדי להשוות בין הדוגמה הזו לבין דוגמה שמוסיפה מפה באמצעות תצוגות מפורטות, ראו 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)
    }
  )
}

מה עושים אחר כך