הגדרה

בדף הזה מוסבר מה צריך לעשות כדי להתחיל לפתח באמצעות Maps 3D SDK ל-Android. תהליך ההגדרה כולל הגדרה של פרויקט ב-Google Cloud ו-API לשימוש עם ה-SDK, ואז הגדרה של פרויקט ב-Android Studio. צריך לבצע את השלבים הבאים לפני הוספת המפה התלת-ממדית הראשונה לאפליקציה.

דרישות מוקדמות

כדי להשתמש ב-Maps 3D SDK ל-Android, הפרויקט ומכשירי היעד צריכים לעמוד בדרישות הבאות:

  • רמת API מינימלית: רמת API‏ 24 ב-Android‏ (Android 7.0) ומעלה. האפליקציה צריכה לטרגט ל-minSdk של 24 ומעלה.
  • ‫Google Play Services: ערכת Maps 3D SDK ל-Android תלויה ב-Google Play Services. במכשירי היעד (ובאמולטורים עם Google APIs) צריכה להיות מותקנת אפליקציית Google Play Services.

הגדרת פרויקט בענן ב-Google Cloud ומפתח API

כדי להתחיל לפתח באמצעות Maps 3D SDK ל-Android, צריך להגדיר פרויקט בענן ב-Google Cloud ומפתח API לשימוש עם Maps 3D SDK ל-Android. לשם כך, מבצעים את השלבים הבאים:

שלב 1: הגדרת הפרויקט

המסוף

  1. במסוף Google Cloud, בדף לבחירת הפרויקט לוחצים על Create Project כדי ליצור פרויקט חדש ב-Cloud.

    כניסה לדף לבחירת הפרויקט

  2. הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. מוודאים שהחיוב מופעל בפרויקט.

    ב-Google Cloud יש תקופת ניסיון בחינם. תקופת הניסיון מסתיימת אחרי 90 יום או אחרי שהחשבון צובר חיובים בסך 300$, המוקדם מביניהם. אפשר לבטל את המינוי בכל שלב. מידע נוסף זמין במאמרים זיכויים בחשבון לחיוב וחיוב.

Cloud SDK

gcloud projects create "PROJECT"

מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:

שלב 2: מפעילים את ממשקי ה-API או ערכות ה-SDK

כדי להשתמש ב-Google Maps Platform, צריך להפעיל את ממשקי ה-API או ערכות ה-SDK שבהם אתם מתכוונים להשתמש בפרויקט.

שימו לב: בחלק מהשילובים צריך להפעיל כמה ממשקי API או ערכות SDK. אם אתם לא בטוחים אילו ממשקי API או ערכות SDK להפעיל, נסו להשתמש ב-Capabilities Explorer או לעיין במסמכי התיעוד של ה-API או ה-SDK שבהם אתם רוצים להשתמש.

כדי להפעיל ממשק API או ערכת SDK אחד או יותר:

המסוף

  1. כדי לראות את ממשקי ה-API וערכות ה-SDK של Google Maps Platform שאפשר להפעיל, נכנסים לדף Maps API Library במסוף Cloud:

    נכנסים לדף Maps API Library.

  2. לוחצים על ה-API או ה-SDK שרוצים להפעיל.
    • אם בכפתור כתוב ENABLE, לוחצים עליו כדי להפעיל את ה-API או ה-SDK.
    • אם בלחצן כתוב MANAGE, ה-API או ה-SDK כבר מופעלים ואין צורך לעשות שום דבר נוסף.
    • לחיצה על אחד מהלחצנים תציג את לוח הבקרה של ה-API או ה-SDK. (לוחצים על הכפתור DISABLE כדי להסיר את ה-API או ה-SDK מהפרויקט).

Cloud SDK

הפקודה הבאה מפעילה את כל ממשקי ה-API של מפות, מסלולים ומקומות:

gcloud services enable \
    --project "PROJECT" \
    "addressvalidation.googleapis.com" \
    "areainsights.googleapis.com" \
    "tile.googleapis.com" \
    "aerialview.googleapis.com" \
    "elevation-backend.googleapis.com" \
    "routes.googleapis.com" \
    "geocoding-backend.googleapis.com" \
    "geolocation.googleapis.com" \
    "maps-android-backend.googleapis.com" \
    "maps-backend.googleapis.com" \
    "maps-embed-backend.googleapis.com" \
    "maps-ios-backend.googleapis.com" \
    "mapsplatformdatasets.googleapis.com" \
    "places-backend.googleapis.com" \
    "roads.googleapis.com" \
    "routeoptimization.googleapis.com" \
    "static-maps-backend.googleapis.com" \
    "street-view-image-backend.googleapis.com" \
    "timezone-backend.googleapis.com"

מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:

כדי להפעיל את ממשקי ה-API של הסביבה, משתמשים בפקודה הזו:

gcloud services enable \
    --project "PROJECT" \
    "airquality.googleapis.com" \
    "solar.googleapis.com" \
    "pollen.googleapis.com" \
    "weather.googleapis.com"

שלב 3: קבלת מפתח API

השלב הזה מתייחס רק לתהליך היצירה של מפתח ה-API. אם אתם משתמשים במפתח ה-API בסביבת הייצור, מומלץ מאוד להגביל את מפתח ה-API. מידע נוסף זמין בדף שימוש במפתחות API הספציפי למוצר.

מפתח ה-API הוא מזהה ייחודי שמאמת בקשות שמשויכות לפרויקט שלכם למטרות שימוש וחיוב. צריך להיות לפחות מפתח API אחד שמשויך לפרויקט. כדי ליצור מפתח חדש או להוסיף API או SDK למפתח קיים, פועלים לפי ההוראות הבאות.

המסוף

  1. נכנסים לדף Google Maps Platform > Keys & Credentials.

    כניסה לדף Keys & Credentials

  2. אם מתבקשים, בוחרים את הפרויקט.
  3. מבצעים אחת מהפעולות האלה:

    • יצירת מפתח חדש:

      1. לוחצים על Create credentials > מפתח API.
      2. בחלונית יצירת מפתח API, פותחים את הרשימה בחירת הגבלות API.
      3. מבטלים את הבחירה בממשקי ה-API שהמפתח לא צריך, ומוודאים שממשקי ה-API שבהם רוצים להשתמש נשארים מסומנים.
      4. לוחצים על יצירה. בחלונית מוצג מפתח ה-API החדש.
    • שימוש במפתח קיים:

      1. לוחצים על שם המפתח.
      2. ברשימה Select API restrictions, בוחרים את ממשקי ה-API שבהם רוצים להשתמש.
      3. לוחצים על שמירה.

    בחירת API כאן לא מפעילה אותו. חשוב לוודא שכל ממשק API שבוחרים מופעל בספריית ה-API.

  4. כדי לראות את מחרוזת המפתח מאוחר יותר, עוברים לדף Keys & Credentials ולוחצים על Show key ליד המפתח.

אם המסוף נראה שונה מהשלבים האלה, עיינו במאמרים יצירת מפתח API והוספת הגבלות על API במסמכי התיעוד של Google Cloud.

Cloud SDK

בפקודות הבאות, מחליפים את PROJECT_ID במזהה הפרויקט.

  • יצירת מפתח חדש: מריצים את הפקודה הבאה ומחליפים את DISPLAY_NAME בשם של המפתח. מחליפים את SERVICE_NAME בשם השירות של ה-API שבו רוצים להשתמש, למשל places.googleapis.com. כדי לאפשר ממשקי API נוספים, חוזרים על הדגל --api-target.

    gcloud services api-keys create \
        --project="PROJECT_ID" \
        --display-name="DISPLAY_NAME" \
        --api-target=service=SERVICE_NAME

    מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:

  • שימוש במפתח קיים: מריצים את הפקודה הבאה ומחליפים את KEY_ID במזהה המפתח. מחליפים את SERVICE_NAME בשם השירות של ה-API שרוצים להוסיף. הדגל --append שומר על ממשקי ה-API שהמפתח כבר מאפשר. בלעדיו, הפקודה מחליפה אותם.

    gcloud services api-keys update KEY_ID \
        --project="PROJECT_ID" \
        --append \
        --api-target=service=SERVICE_NAME

    מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:

    מזהה המפתח הוא לא מחרוזת המפתח או השם המוצג. כדי למצוא אותו, מריצים את הפקודה gcloud services api-keys list --project="PROJECT_ID". המזהה הוא החלק האחרון בשדה name: projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.

כדי לראות את מחרוזת המפתח, מריצים את הפקודה gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID".

כדי להפעיל את ה-SDK, נכנסים לדף Maps 3D SDK ל-Android במסוף Google Cloud. מידע נוסף על השלבים האלה מופיע במאמר תחילת השימוש ב-Google Maps Platform.

הגדרת פרויקט ב-Android Studio

בקטע הזה מוסבר איך ליצור ולהגדיר פרויקט ב-Android Studio לשימוש עם Maps 3D SDK ל-Android.

חלק 1: הגדרת הפרויקט והגדרת Gradle

  1. יוצרים פרויקט חדש ב-Android Studio באמצעות התבנית Empty Views Activity. בהגדרות הפרויקט, מגדירים את Minimum SDK ל-API 24 או לגרסה חדשה יותר.

  2. אם אתם משתמשים ב-Git לניהול גרסאות, שנו את הקובץ .gitignore של הפרויקט כדי למנוע את הוספת קובץ הסודות לניהול הגרסאות:

    • בתיקיית השורש של הפרויקט, פותחים את הקובץ .gitignore.
    • מוסיפים את השורה הבאה:
    secrets.properties
    
  3. מעדכנים את הקובץ build.gradle.kts ברמת הפרויקט:

    • בתיקיית השורש של הפרויקט, פותחים את הקובץ build.gradle.kts.
    • בבלוק plugins, מוסיפים את הפלאגין Secrets Gradle:
    plugins {
      alias(libs.plugins.android.application) apply false
      alias(libs.plugins.kotlin.android) apply false
      alias(libs.plugins.secrets.gradle.plugin) apply false // Add this line
    }
    
  4. מעדכנים את הקובץ gradle/libs.versions.toml:

    • פותחים את הקובץ gradle/libs.versions.toml, שבדרך כלל נמצא בספרייה gradle בתוך תיקיית השורש של הפרויקט.
    • בקטע [versions], מוסיפים את הגרסאות של ה-SDK ושל הפלאגין Secrets Gradle:
    # See https://developers.google.com/android/guides/setup?device=phone-tablet for available releases
    maps3dSdk = "16.0.1"
    # See https://github.com/google/secrets-gradle-plugin/releases for available releases
    secretsGradlePlugin = "2.0.1"
    
    • בקטע [library], מוסיפים את ספריית ה-SDK:
    play-services-maps3d = { module = "com.google.android.gms:play-services-maps3d", version.ref = "maps3dSdk" }
    
    • בקטע [plugins], מוסיפים את הפלאגין Secrets Gradle:
    secrets-gradle-plugin = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin", version.ref = "secretsGradlePlugin" }
    
  5. מעדכנים את הקובץ app/build.gradle.kts ברמת המודול:

    • פותחים את הקובץ build.gradle.kts ברמת המודול, שבדרך כלל נמצא בספרייה app.
    • בחלק העליון של הקובץ, מוסיפים את הפלאגין Secrets Gradle לבלוק plugins:
    plugins {
        alias(libs.plugins.android.application)
        alias(libs.plugins.kotlin.android)
        alias(libs.plugins.secrets.gradle.plugin) // Add this line
    }
    
    • בבלוק dependencies, מוסיפים את התלות ב-Google Play Services בשביל Maps 3D SDK ל-Android:
    dependencies {
        // ... other dependencies
        implementation(libs.play.services.maps3d) // Add this line
    }
    
    • בסוף הקובץ, מחוץ לבלוקים android ו-dependencies, מוסיפים את הגדרת הסודות:
    secrets {
        // Optionally specify a different filename containing your secrets.
        // The plugin defaults to "local.properties"
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }
    

חלק 2: הוספת מפתח ה-API לפרויקט

  1. יוצרים קובץ secrets.properties:

    • בתיקיית השורש של מודול האפליקציה (בדרך כלל התיקייה app), יוצרים קובץ חדש בשם secrets.properties.
    • מוסיפים את מפתח ה-API לקובץ:
    MAPS3D_API_KEY=YOUR_API_KEY_HERE
    
  2. יוצרים קובץ local.defaults.properties: - בתיקיית השורש של מודול האפליקציה, יוצרים קובץ חדש בשם local.defaults.properties. - מוסיפים לקובץ מפתח API שמוגדר כברירת מחדל או כ-placeholder. אפשר להוסיף את הקובץ הזה לניהול גרסאות:

    MAPS3D_API_KEY=DEFAULT_API_KEY_OR_PLACEHOLDER
    

חלק 3: עדכון הקובץ AndroidManifest.xml

  1. פותחים את הקובץ app/src/main/AndroidManifest.xml.

  2. בתוך התג <application>, לפני התג <activity>, מוסיפים את הרכיב <meta-data> הבא כדי להצהיר על מפתח ה-API:

    <application
        ...>
    
        <meta-data
            android:name="com.google.android.geo.maps3d.API_KEY"
            android:value="${MAPS3D_API_KEY}" />
    
        <activity
            ...>
        </activity>
    </application>
    

    במהלך תהליך ה-build, הפלאגין Secrets Gradle יחליף את הפלייסהולדר ${MAPS3D_API_KEY} במפתח מהקובץ secrets.properties.

אתחול תצוגה פרוגרמטית (אופציונלי)

אם אתם מעדיפים להפעיל את תצוגת המפה באופן פרוגרמטי ולא בפריסות XML, השתמשו ב-Map3DInitConfig.

import com.google.android.gms.maps3d.Map3DInitConfig
import com.google.android.gms.maps3d.Map3DView
import com.google.android.gms.maps3d.model.Map3DMode

// Set configuration options using the factory method
val config = Map3DInitConfig.create(
    mapMode = Map3DMode.HYBRID,
    centerLat = 38.544012,
    centerLng = -107.670428
)

val map3DView = Map3DView(context, config)

השלבים הבאים

עכשיו, אחרי שיש לכם פרויקט בענן ב-Google Cloud, מפתח API ופרויקט ב-Android Studio שמוגדרים לשימוש עם Maps 3D SDK ל-Android, אתם יכולים להוסיף מפה תלת-ממדית לאפליקציה.