יצירת אפליקציה ל-Android שמציגה מפה באמצעות התבנית של תצוגות מפות Google ל-Android Studio. אם יש לכם פרויקט קיים ב-Android Studio שאתם רוצים להגדיר, תוכלו לעיין במאמר הגדרת פרויקט ב-Android Studio.
המדריך למתחילים הזה מיועד למפתחים שמכירים את הפיתוח הבסיסי של Android באמצעות Kotlin או Java.
מידע על סביבת הפיתוח
המדריך למתחילים הזה פותח באמצעות Android Studio Hedgehog והפלאגין של Android Gradle בגרסה 8.2.
הגדרת מכשיר Android
כדי להריץ אפליקציה שמשתמשת ב-Maps SDK ל-Android, צריך לפרוס אותה במכשיר Android או במהדמ של Android שמבוסס על Android 5.0 ואילך וכולל את ממשקי Google API.
- כדי להשתמש במכשיר Android, פועלים לפי ההוראות במאמר הפעלת אפליקציות במכשיר חומרה.
- כדי להשתמש במהדמנת Android, אפשר ליצור מכשיר וירטואלי ולהתקין את המהדמנת באמצעות מנהל המכשירים הווירטואליים של Android (AVD) שמגיע עם Android Studio.
יצירת פרויקט של מפות Google ב-Android Studio
התהליך ליצירת פרויקט של מפות Google ב-Android Studio השתנה בגרסה Flamingo ואילך של Android Studio.
פותחים את Android Studio ולוחצים על New Project בחלון Welcome to Android Studio.
בחלון New Project, בקטע Phone and Tablet, בוחרים באפשרות No Activity ולוחצים על Next.
ממלאים את הטופס New Project:
מגדירים את Language (שפה) ל-Java או ל-Kotlin. שתי השפות נתמכות באופן מלא ב-SDK של מפות ל-Android. מידע נוסף על Kotlin זמין במאמר פיתוח אפליקציות ל-Android באמצעות Kotlin.
מגדירים את גרסת ה-SDK המינימלית לגרסה של SDK שתואמת למכשיר הבדיקה. צריך לבחור גרסה גבוהה יותר מהגרסה המינימלית שנדרשת על ידי Maps SDK לגרסה 19.0.x ל-Android, שהיא Android API ברמה 21 (Lollipop, Android 5.0) ואילך. במאמר הערות המוצר מפורט המידע העדכני ביותר לגבי הדרישות לגבי גרסאות ה-SDK.
מגדירים את שפת תצורת ה-build ל-Kotlin DSL או ל-Groovy DSL. קטעי הקוד לשתי השפות של הגדרות ה-build מופיעים בתהליכים הבאים.
לוחצים על סיום.
Android Studio מפעיל את Gradle ומאכלס את הפרויקט. פעולה זו עשויה להימשך זמן מה.
מוסיפים את הפעילות של צפיות במפות Google:
- לוחצים לחיצה ימנית על התיקייה
app
בפרויקט. בוחרים באפשרות חדש > Google > פעילות צפיות במפות Google.
בתיבת הדו-שיח New Android Activity, מסמנים את התיבה Launcher Activity.
בוחרים באפשרות סיום.
למידע נוסף, ראו הוספת קוד מתבנית
- לוחצים לחיצה ימנית על התיקייה
בסיום ה-build, פותחים את הקובץ
AndroidManifest.xml
ואת הקובץMapsActivity
ב-Android Studio. יכול להיות שהפעילות תופיע בשם אחר, אבל זה השם שהגדרתם במהלך ההגדרה.
הגדרת הפרויקט ב-Google Cloud
כדי להשלים את שלבי ההגדרה הנדרשים במסוף Cloud, לוחצים על הכרטיסיות הבאות:
שלב 1
המסוף
-
במסוף Google Cloud, בדף לבחירת הפרויקט לוחצים על Create Project כדי ליצור פרויקט חדש ב-Cloud.
-
הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. מוודאים שהחיוב מופעל בפרויקט.
ב-Google Cloud יש תקופת ניסיון ללא תשלום. תוקף תקופת הניסיון יפוג אחרי 90 יום או אחרי שיצטברו בחשבון חיובים בסך 300$, המוקדם מביניהם. תמיד אפשר לבטל. בפלטפורמה של מפות Google יש קרדיט חודשי קבוע בסך 200$. למידע נוסף, ראו זיכויים בחשבון לחיוב וחיוב.
Cloud SDK
gcloud projects create "PROJECT"
מידע נוסף על Google Cloud SDK, על התקנת Cloud SDK ועל הפקודות הבאות:
שלב 2
כדי להשתמש בפלטפורמה של מפות Google, צריך להפעיל את ממשקי ה-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:
המסוף
-
עוברים לדף פלטפורמת מפות Google > פרטי כניסה.
-
בדף Credentials, לוחצים על Create credentials > API key.
תיבת הדו-שיח API key created מציגה את מפתח ה-API החדש שיצרתם. -
לוחצים על סגירה.
מפתח ה-API החדש מופיע בדף Credentials בקטע API keys.
(חשוב לזכור להגביל את מפתח ה-API לפני שמשתמשים בו בסביבת הייצור).
Cloud SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
מידע נוסף על Google Cloud SDK, על התקנת Cloud SDK ועל הפקודות הבאות:
הוספת מפתח ה-API לאפליקציה
בקטע הזה מוסבר איך לאחסן את מפתח ה-API כך שהאפליקציה תוכל להפנות אליו בצורה מאובטחת. לא מומלץ להוסיף את מפתח ה-API למערכת לניהול גרסאות, לכן מומלץ לאחסן אותו בקובץ secrets.properties
שנמצא בספריית השורש של הפרויקט. מידע נוסף על הקובץ secrets.properties
זמין במאמר קבצי מאפיינים של Gradle.
כדי לייעל את המשימה הזו, מומלץ להשתמש בפלאגין של Secrets Gradle ל-Android.
כדי להתקין את הפלאגין של Secrets Gradle ל-Android בפרויקט של מפות Google:
-
ב-Android Studio, פותחים את הקובץ
build.gradle.kts
אוbuild.gradle
ברמה העליונה ומוסיפים את הקוד הבא לאלמנטdependencies
בקטעbuildscript
.Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
Groovy
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
-
פותחים את הקובץ
build.gradle.kts
אוbuild.gradle
ברמת המודול ומוסיפים את הקוד הבא לאלמנטplugins
.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- בקובץ
build.gradle.kts
אוbuild.gradle
ברמת המודול, מוודאים שהערך שלtargetSdk
ו-compileSdk
מוגדר ל-34. - שומרים את הקובץ ומסנכרנים את הפרויקט עם Gradle.
-
פותחים את הקובץ
secrets.properties
בתיקיית הרמה העליונה ומוסיפים את הקוד הבא. מחליפים את הערךYOUR_API_KEY
במפתח ה-API שלכם. כדאי לשמור את המפתח בקובץ הזה כיsecrets.properties
לא נכלל במערכת בקרת הגרסאות.MAPS_API_KEY=YOUR_API_KEY
- שומרים את הקובץ.
-
יוצרים את הקובץ
local.defaults.properties
בספריית הרמה העליונה, באותה תיקייה שבה נמצא הקובץsecrets.properties
, ומוסיפים את הקוד הבא.MAPS_API_KEY=DEFAULT_API_KEY
מטרת הקובץ הזה היא לספק מיקום גיבוי למפתח ה-API, כדי שה-builds לא יכשלו אם הקובץ
secrets.properties
לא נמצא. מצב כזה יכול לקרות אם משכפלים את האפליקציה ממערכת בקרת גרסאות שמשמיטה אתsecrets.properties
, ועדיין לא יצרתם קובץsecrets.properties
באופן מקומי כדי לספק את מפתח ה-API. - שומרים את הקובץ.
-
בקובץ
AndroidManifest.xml
, עוברים אלcom.google.android.geo.API_KEY
ומעדכנים אתandroid:value attribute
. אם התג<meta-data>
לא קיים, יוצרים אותו כצאצא של התג<application>
.<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
Note:
com.google.android.geo.API_KEY
is the recommended metadata name for the API key. A key with this name can be used to authenticate to multiple Google Maps-based APIs on the Android platform, including the Maps SDK for Android. For backwards compatibility, the API also supports the namecom.google.android.maps.v2.API_KEY
. This legacy name allows authentication to the Android Maps API v2 only. An application can specify only one of the API key metadata names. If both are specified, the API throws an exception. -
In Android Studio, open your module-level
build.gradle.kts
orbuild.gradle
file and edit thesecrets
property. If thesecrets
property does not exist, add it.Edit the properties of the plugin to set
propertiesFileName
tosecrets.properties
, setdefaultPropertiesFileName
tolocal.defaults.properties
, and set any other 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 same folder as the 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" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Groovy
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the 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" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
בדיקת הקוד
בודקים את הקוד שסופק בתבנית. כדאי לבדוק במיוחד את הקבצים הבאים בפרויקט ב-Android Studio.
קובץ הפעילות במפות Google
קובץ הפעילות של המפות הוא הפעילות הראשית של האפליקציה, והוא מכיל את הקוד לניהול ולתצוגה של המפה. כברירת מחדל, השם של הקובץ שמגדיר את הפעילות הוא
MapsActivity.java
. אם מגדירים את Kotlin כשפת האפליקציה, השם הואMapsActivity.kt
.הרכיבים העיקריים של הפעילות במפות:
האובייקט
SupportMapFragment
מנהל את מחזור החיים של המפה והוא רכיב ההורה של ממשק המשתמש של האפליקציה.האובייקט
GoogleMap
מספק גישה לנתוני המפה ולתצוגה שלה. זוהי הכיתה הראשית של ה-SDK של מפות ל-Android. במדריך לגבי אובייקטים במפה מוסבר בהרחבה על האובייקטיםSupportMapFragment
ו-GoogleMap
.הפונקציה
moveCamera
ממרכזת את המפה לפי הקואורדינטותLatLng
של סידני, אוסטרליה. ההגדרות הראשונות שצריך להגדיר כשמוסיפים מפה הן בדרך כלל מיקום המפה והגדרות המצלמה, כמו זווית הצפייה, כיוון המפה ורמת הזום. פרטים נוספים זמינים במדריך מצלמה ותצוגה.הפונקציה
addMarker
מוסיפה סמן לקואורדינטות של סידני. פרטים נוספים זמינים במדריך בנושא סמנים.
קובץ Gradle של המודול
קובץ המודול
build.gradle.kts
כולל את התלות הבאה במפות, שנדרשת על ידי ה-SDK של מפות Google ל-Android.dependencies { // Maps SDK for Android implementation("com.google.android.gms:play-services-maps:19.0.0") }
מידע נוסף על ניהול התלות במפות Google זמין במאמר ניהול גרסאות.
קובץ פריסה בפורמט XML
קובץ
activity_maps.xml
הוא קובץ הפריסה של ה-XML שמגדיר את המבנה של ממשק המשתמש של האפליקציה. הקובץ נמצא בספרייהres/layout
. בקובץactivity_maps.xml
מפורטים הרכיבים הבאים:tools:context
מגדיר את פעילות ברירת המחדל של הפלח כ-MapsActivity
, שמוגדר בקובץ הפעילות של מפות Google.android:name
מגדיר את שם הכיתה של ה-Fragment כ-SupportMapFragment
, שהוא סוג ה-Fragment שמשמש בקובץ הפעילות של המפות.
קובץ הפריסה של ה-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): בקודלאב הזה נסביר איך להוסיף לאפליקציה תכונות נוספות של SDK של מפות ל-Android.
שימוש בספריית KTX של מפות Android: ספריית ההרחבות של Kotlin (KTX) הזו מאפשרת לכם ליהנות מכמה תכונות של שפת Kotlin בזמן השימוש ב-Maps SDK ל-Android.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-11-20 (שעון UTC).