יוצרים אפליקציה ל-Android שמציגה מפה באמצעות התבנית Google Maps Views ל-Android Studio. אם יש לכם פרויקט קיים ב-Android Studio שאתם רוצים להגדיר, קראו את המאמר הגדרת פרויקט ב-Android Studio.
המדריך למתחילים הזה מיועד למפתחים שמכירים את העקרונות הבסיסיים של פיתוח ל-Android באמצעות Kotlin או Java.
מידע על סביבת הפיתוח
מומלץ להשתמש בגרסה היציבה העדכנית של Android Studio ושל הפלאגין של Android Gradle.
הגדרת מכשיר Android
כדי להפעיל אפליקציה שמשתמשת ב-SDK של מפות ל-Android, צריך לפרוס אותה במכשיר Android או באמולטור Android שמבוסס על Android בגרסה 6.0 ואילך וכולל את ממשקי ה-API של Google.
- כדי להשתמש במכשיר Android, פועלים לפי ההוראות במאמר הפעלת אפליקציות במכשיר חומרה.
- כדי להשתמש באמולטור Android, אתם יכולים ליצור מכשיר וירטואלי ולהתקין את האמולטור באמצעות Device Manager שמגיע עם Android Studio.
יצירת פרויקט במפות Google ב-Android Studio
פותחים את Android Studio ולוחצים על New Project (פרויקט חדש) בחלון Welcome to Android Studio (ברוכים הבאים ל-Android Studio).
בחלון New Project, בקטגוריה Phone and Tablet, בוחרים באפשרות No Activity ולוחצים על Next.
ממלאים את הטופס New Project:
מגדירים את השפה ל-Java או ל-Kotlin. שתי השפות נתמכות באופן מלא ב-SDK של מפות ל-Android. למידע נוסף על Kotlin, ראו פיתוח אפליקציות ל-Android באמצעות Kotlin.
מגדירים את Minimum SDK (גרסת SDK מינימלית) לגרסת SDK שתואמת למכשיר הבדיקה. צריך לבחור גרסה גבוהה יותר מהגרסה המינימלית שנדרשת על ידי Maps SDK ל-Android בגרסה 20.0.x, שהיא Android API ברמה 23 ("Marshmallow", Android 6.0) ומעלה. בנתוני הגרסה מפורט המידע העדכני ביותר על הדרישות של גרסת ה-SDK.
מגדירים את שפת תצורת ה-build ל-Kotlin DSL או ל-Groovy DSL. קטעי הקוד לשתי השפות של תצורת ה-build מוצגים בהליכים הבאים.
לוחצים על סיום.
Android Studio מפעיל את Gradle ויוצר את הפרויקט. יכול להיות שזה ייקח קצת זמן.
מוסיפים את פעילות הצפיות במפות Google:
- לוחצים לחיצה ימנית על התיקייה
appבפרויקט. בוחרים באפשרות חדש > Google > פעילות צפיות במפות Google:
הוספת פעילות של תצוגות במפות Google מתוך תפריט ההקשר appב-Android Studio.בתיבת הדו-שיח New Android Activity, מסמנים את התיבה Launcher Activity.
לוחצים על סיום.
מידע נוסף זמין במאמר הוספת קוד מתבנית.
- לוחצים לחיצה ימנית על התיקייה
בסיום ה-build, Android Studio פותח את הקבצים
AndroidManifest.xmlו-MapsActivity. לפעילות יכול להיות שם אחר, בהתאם למה שהגדרתם במהלך ההגדרה.
הגדרת הפרויקט ב-Google Cloud
מבצעים את השלבים הבאים להגדרה במסוף Cloud:
שלב 1: הגדרת הפרויקט
המסוף
-
במסוף Google Cloud, בדף לבחירת הפרויקט לוחצים על Create Project כדי ליצור פרויקט חדש ב-Cloud.
-
הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. מוודאים שהחיוב מופעל בפרויקט.
ב-Google Cloud יש תקופת ניסיון בחינם. תקופת הניסיון מסתיימת אחרי 90 יום או אחרי שהחשבון צובר חיובים בסך 300$, המוקדם מביניהם. אפשר לבטל את המינוי בכל שלב. מידע נוסף זמין במאמרים זיכויים בחשבון לחיוב וחיוב.
Cloud SDK
gcloud projects create "PROJECT"
מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:
שלב 2: מפעילים את ממשקי ה-API או ערכות ה-SDK
כדי להשתמש ב-Google Maps Platform, צריך להפעיל את ממשקי ה-API או ערכות ה-SDK שבהם אתם מתכוונים להשתמש בפרויקט.
המסוף
Cloud SDK
gcloud services enable \ --project "PROJECT" \ "maps-android-backend.googleapis.com"
מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:
שלב 3: קבלת מפתח API
השלב הזה מתייחס רק לתהליך היצירה של מפתח ה-API. אם אתם משתמשים במפתח ה-API בסביבת הייצור, מומלץ מאוד להגביל את מפתח ה-API. מידע נוסף זמין בדף שימוש במפתחות API הספציפי למוצר.
מפתח ה-API הוא מזהה ייחודי שמאמת בקשות שמשויכות לפרויקט שלכם למטרות שימוש וחיוב. צריך להיות לפחות מפתח API אחד שמשויך לפרויקט. כדי ליצור מפתח חדש או להוסיף API או SDK למפתח קיים, פועלים לפי ההוראות הבאות.
המסוף
-
נכנסים לדף Google Maps Platform > Keys & Credentials.
- אם מתבקשים, בוחרים את הפרויקט.
-
מבצעים אחת מהפעולות האלה:
-
יצירת מפתח חדש:
- לוחצים על Create credentials > מפתח API.
- בחלונית יצירת מפתח API, פותחים את הרשימה בחירת הגבלות API.
- מבטלים את הסימון של כל ממשקי ה-API שהמפתח הזה לא צריך, ומוודאים שהאפשרות Maps SDK for Android נשארת מסומנת.
- לוחצים על יצירה. בחלונית מוצג מפתח ה-API החדש.
-
שימוש במפתח קיים:
- לוחצים על שם המפתח.
- ברשימה Select API restrictions, בוחרים באפשרות SDK של מפות ל-Android.
- לוחצים על שמירה.
בחירת API כאן לא מפעילה אותו. מוודאים ש-Maps SDK for Android מופעל בדף ספריית ה-API שלו.
-
- כדי לראות את מחרוזת המפתח מאוחר יותר, עוברים לדף Keys & Credentials ולוחצים על Show key ליד המפתח.
אם המסוף נראה שונה מהשלבים האלה, עיינו במאמרים יצירת מפתח API והוספת הגבלות על API במסמכי התיעוד של Google Cloud.
Cloud SDK
בפקודות הבאות, מחליפים את PROJECT_ID במזהה הפרויקט.
-
יצירת מפתח חדש: מריצים את הפקודה הבאה ומחליפים את DISPLAY_NAME בשם של המפתח.
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=maps-android-backend.googleapis.com
מידע נוסף על Google Cloud SDK, התקנת Cloud SDK והפקודות הבאות:
-
שימוש במפתח קיים: מריצים את הפקודה הבאה ומחליפים את KEY_ID במזהה המפתח. הדגל
--appendשומר על ממשקי ה-API שהמפתח כבר מאפשר. בלעדיו, הפקודה מחליפה אותם.gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=maps-android-backend.googleapis.com
מידע נוסף על 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".
הוספת מפתח ה-API לאפליקציה
בקטע הזה מוסבר איך לאחסן את מפתח ה-API כדי שהאפליקציה תוכל להפנות אליו בצורה מאובטחת. לא כדאי להכניס את מפתח ה-API למערכת לניהול גרסאות, ולכן מומלץ לאחסן אותו בקובץ secrets.properties בתיקיית השורש של הפרויקט, ולהחריג את הקובץ הזה ממערכת לניהול גרסאות. מידע נוסף על קובצי מאפיינים של Gradle זמין במאמר קובצי מאפיינים של Gradle.
כדי לפשט את המשימה הזו, מומלץ להשתמש בפלאגין Secrets Gradle ל-Android.
כדי להתקין את הפלאגין Secrets Gradle ל-Android ולשמור את מפתח ה-API:
-
ב-Android Studio, פותחים את הקובץ
build.gradle.ktsאוbuild.gradleברמה העליונה ומוסיפים את הקוד הבא לבלוקplugins.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
-
פותחים את הקובץ
build.gradle.ktsאוbuild.gradleברמת המודול ומוסיפים את הקוד הבא לרכיבplugins.Kotlin
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- אם אתם משתמשים ב-Android Studio, סנכרנו את הפרויקט עם Gradle.
-
פותחים את הקובץ
secrets.propertiesבספרייה ברמה העליונה, ומוסיפים את הקוד הבא. מחליפים אתYOUR_API_KEYבמפתח ה-API שלכם. חשוב להוסיף אתsecrets.propertiesלקובץ.gitignore(או להחריג אותו בדרך אחרת ממערכת ניהול הגרסאות) כדי לא להכניס את מפתח ה-API לניהול הגרסאות.MAPS_API_KEY=YOUR_API_KEY
-
יוצרים את הקובץ
local.defaults.propertiesבתיקייה ברמה העליונה, באותה תיקייה שבה נמצא הקובץsecrets.properties, ואז מוסיפים את הקוד הבא.MAPS_API_KEY=DEFAULT_API_KEY
מטרת הקובץ הזה היא לספק מיקום גיבוי למפתח ה-API אם הקובץ
secrets.propertiesלא נמצא, כדי שה-builds לא ייכשלו. זה יכול לקרות אם משכפלים את האפליקציה ממערכת בקרת גרסאות שמשמיטה אתsecrets.properties, ועדיין לא יצרתם קובץsecrets.propertiesבאופן מקומי כדי לספק את מפתח ה-API. -
בקובץ
AndroidManifest.xml, עוברים אלcom.google.android.geo.API_KEYומעדכנים את המאפייןandroid:valueבאופן הבא:<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />הערה:
com.google.android.geo.API_KEYהוא שם המטא-נתונים המומלץ למפתח ה-API. אפשר להשתמש במפתח עם השם הזה כדי לאמת כמה ממשקי API שמבוססים על מפות Google בפלטפורמת Android, כולל ה-SDK של מפות ל-Android. כדי לשמור על תאימות לדורות קודמים, ה-API תומך גם בשםcom.google.android.maps.v2.API_KEY. השם הקודם הזה מאפשר אימות רק ל-Android Maps API v2. אפליקציה יכולה לציין רק אחד משמות המטא-נתונים של מפתח ה-API. אם מציינים את שניהם, ה-API מקפיץ הודעת שגיאה. -
ב-Android Studio, פותחים את הקובץ
build.gradle.ktsאוbuild.gradleברמת המודול ועורכים את המאפייןsecrets. אם המאפייןsecretsלא קיים, מוסיפים אותו.עורכים את מאפייני הפלאגין כדי להגדיר את
propertiesFileNameלערך"secrets.properties", אתdefaultPropertiesFileNameלערך"local.defaults.properties", ומגדירים מאפיינים אחרים.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file). // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
Groovy
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file). // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
עיון בקוד
בודקים את הקוד שסופק על ידי התבנית. חשוב לבדוק את הקבצים הבאים בפרויקט ב-Android Studio.
קובץ הפעילות במפות Google
קובץ הפעילות במפות Google הוא הפעילות העיקרית של האפליקציה, והוא מכיל את הקוד לניהול המפה ולהצגה שלה. כברירת מחדל, הקובץ שמגדיר את הפעילות נקרא MapsActivity.java, או אם הגדרתם את Kotlin כשפת האפליקציה, MapsActivity.kt.
הרכיבים העיקריים של הפעילות במפות Google:
האובייקט
SupportMapFragmentמנהל את מחזור החיים של המפה, והוא רכיב ההורה של ממשק המשתמש של האפליקציה.האובייקט
GoogleMapמספק גישה לנתוני המפה ולתצוגה שלה. זוהי המחלקה הראשית של ה-SDK של מפות ל-Android. במדריך אובייקטים במפה מתוארים האובייקטיםSupportMapFragmentו-GoogleMapבפירוט רב יותר.הפונקציה
moveCameraממקמת את המפה במרכז לפי הקואורדינטותLatLngשל סידני, אוסטרליה. ההגדרות הראשונות שצריך לקבוע כשמוסיפים מפה הן בדרך כלל מיקום המפה והגדרות המצלמה, כמו זווית הצפייה, כיוון המפה ורמת הזום. פרטים נוספים זמינים במדריך מצלמה ותצוגה.הפונקציה
addMarkerמוסיפה סמן לקואורדינטות של סידני. פרטים נוספים זמינים במדריך בנושא סמנים.
Kotlin
// Add a marker in Sydney and move the camera val sydney = LatLng(-34.0, 151.0) map.addMarker( MarkerOptions() .position(sydney) .title("Marker in Sydney"), ) map.moveCamera(CameraUpdateFactory.newLatLng(sydney))
Java
// Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); map.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); map.moveCamera(CameraUpdateFactory.newLatLng(sydney));
קובץ Gradle של המודול
קובץ build.gradle.kts או build.gradle ברמת המודול כולל את יחסי התלות הבאים של מפות Google, שנדרשים על ידי ה-SDK של מפות ל-Android.
Kotlin
dependencies { // Maps SDK for Android implementation(libs.play.services.maps) }
Groovy
dependencies { // Maps SDK for Android implementation "com.google.android.gms:play-services-maps:20.0.0" }
אם הפרויקט משתמש בקטלוג גרסאות של Gradle (gradle/libs.versions.toml), מגדירים את התלות של play-services-maps ב-libs.versions.toml:
[versions]
play-services-maps = "20.0.0"
[libraries]
play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "play-services-maps" }
מידע נוסף על ניהול התלות במפות Google זמין במאמר ניהול גרסאות.
קובץ פריסה ב-XML
הקובץ activity_maps.xml הוא קובץ פריסת ה-XML שמגדיר את מבנה ממשק המשתמש של האפליקציה. הקובץ נמצא בספרייה res/layout.
בקובץ activity_maps.xml מצהירים על מקטע שכולל את הרכיבים הבאים:
- השורה
tools:contextמגדירה את פעילות ברירת המחדל של המקטע ל-MapsActivity, שמוגדרת בקובץ הפעילות במפות Google. android:nameמגדיר את שם המחלקה של המקטע ל-SupportMapFragment, שהוא סוג המקטע שמשמש בקובץ הפעילות במפות Google.
קובץ הפריסה ב-XML מכיל את הקוד הבא:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" />
פריסה והפעלה של האפליקציה

כשהאפליקציה פועלת בהצלחה, מוצגת מפה שבמרכזה סידני, אוסטרליה, עם סמן על העיר, כמו בצילום המסך.
כדי לפרוס ולהריץ את האפליקציה:
- ב-Android Studio, לוחצים על האפשרות Run בתפריט (או על סמל כפתור ההפעלה) כדי להפעיל את האפליקציה.
- כשמוצגת בקשה לבחור מכשיר, בוחרים באחת מהאפשרויות הבאות:
- בוחרים את מכשיר ה-Android שמחובר למחשב.
- לחלופין, בוחרים בלחצן הבחירה Launch emulator ובוחרים את המכשיר הווירטואלי שהגדרתם.
- לוחצים על אישור. Android Studio יפעיל את Gradle כדי ליצור את האפליקציה, ואז יציג את התוצאות במכשיר או באמולטור. יכול להיות שיעברו כמה דקות עד שהאפליקציה תופעל.
השלבים הבאים
הגדרת מפה: במסמך הזה מוסבר איך להגדיר את ההגדרות הראשוניות וההגדרות בזמן הריצה של המפה, כמו מיקום המצלמה, סוג המפה, רכיבי ממשק המשתמש ותנועות.
הוספת מפה לאפליקציה ל-Android (Kotlin): ב-Codelab הזה נסביר איך להשתמש באפליקציה שמדגימה כמה תכונות נוספות של ה-SDK של מפות Google ל-Android.
שימוש בספריית Maps Android KTX: ספריית התוספים של Kotlin (KTX) מאפשרת לכם לנצל כמה תכונות של שפת Kotlin כשאתם משתמשים ב-SDK של מפות ל-Android.