צור אפליקציה ל-Android שמציגה מפה באמצעות התבנית 'תצוגות' של מפות Google עבור Android Studio. אם יש לכם פרויקט קיים של Android Studio שאתם רוצים להגדיר, ראו הגדרת פרויקט של Android Studio.
המדריך למתחילים הזה מיועד למפתחים שמכירים פיתוח בסיסי של Android ב-Kotlin או Java.
מידע על סביבת הפיתוח
המדריך למתחילים הזה פותח באמצעות Android Studio Hdgehog והפלאגין של Android Gradle בגרסה 8.2.
הגדרה של מכשיר Android
כדי להפעיל אפליקציה שמשתמשת ב-SDK של מפות Google ל-Android, צריך לפרוס אותה במכשיר Android או באמולטור Android שמבוסס על Android 5.0 ואילך וכולל את ממשקי Google API.
- כדי להשתמש במכשיר Android, צריך לפעול לפי ההוראות במאמר הפעלת אפליקציות במכשיר חומרה.
- כדי להשתמש באמולטור Android, אפשר ליצור מכשיר וירטואלי ולהתקין את האמולטור באמצעות מנהל המכשיר הווירטואלי (AVD) של Android שכלול ב-Android Studio.
יצירת פרויקט של מפות Google ב-Android Studio
התהליך של יצירת פרויקט של מפות Google ב-Android Studio השתנה ב-Flemingo ובגרסאות מאוחרות יותר של Android Studio.
פותחים את Android Studio ולוחצים על New Project (פרויקט חדש) בחלון Welcome to Android Studio.
בחלון New Project, בקטגוריה Phone and Tablet בוחרים באפשרות No Activity ואז לוחצים על Next.
ממלאים את הטופס פרויקט חדש:
מגדירים את Language כ-Java או Kotlin. שתי השפות נתמכות באופן מלא על ידי ה-SDK של מפות Google ל-Android. מידע נוסף על Kotlin זמין במאמר פיתוח אפליקציות ל-Android באמצעות Kotlin.
מגדירים את Minimum SDK לגרסת SDK שתואמת למכשיר הבדיקה. צריך לבחור גרסה חדשה יותר מזו שנדרשת על ידי ה-SDK של מפות Google ל-Android מגרסה 19.0.x, שהיא Android API ברמה 21 ('Lollipop'; Android 5.0) ואילך. מידע עדכני לגבי הדרישות של גרסת ה-SDK זמין בנתוני הגרסה.
מגדירים את שפת תצורת build כ-Kotlin DSL או Graovy 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. מוודאים שהחיוב מופעל בפרויקט.
אנחנו מציעים תקופת ניסיון של 0.00 $ב-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 שנוצר מציגה את מפתח ה-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
אוbuild.gradle.kts
ברמה העליונה, ומוסיפים את הקוד הבא לרכיבdependencies
בקטעbuildscript
.מגניב
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
-
פותחים את הקובץ
build.gradle
ברמת המודול ומוסיפים את הקוד הבא לרכיבplugins
.מגניב
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- בקובץ
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 אם הקובץ
secrets.properties
לא נמצא, כדי שגרסאות ה-build לא ייכשלו. מצב כזה יכול לקרות אם משכפלים את האפליקציה ממערכת לניהול גרסאות שכתוצאה מכך להשמיט את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
orbuild.gradle.kts
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.Groovy
secrets { // Optionally specify a different file name 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" // 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.*" }
Kotlin
secrets { // Optionally specify a different file name 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" // 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 של מפות Google ל-Android. במדריך אובייקטים במפה מתוארים האובייקטיםSupportMapFragment
ו-GoogleMap
בפירוט רב יותר.הפונקציה
moveCamera
ממרכזת את המפה לפי הקואורדינטותLatLng
של סידני אוסטרליה. ההגדרות הראשונות שצריך לקבוע כשמוסיפים מפה הן בדרך כלל הגדרות המיקום והמצלמה במפה. למשל, זווית הצפייה, כיוון המפה ורמת הזום. לפרטים נוספים, אפשר לעיין במדריך בנושא מצלמה ותצוגה.הפונקציה
addMarker
מוסיפה סמן לקואורדינטות של סידני. פרטים נוספים זמינים במדריך בנושא סמנים.
קובץ Gradle של מודול
קובץ המודול
build.gradle
כולל את יחסי התלות הבאים של המפות, שנדרשים על ידי ה-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
, שמוגדרת בקובץ הפעילות של המפות. android:name
מגדיר את שם המחלקה של המקטע כ-SupportMapFragment
, שהוא סוג המקטע שבו נעשה שימוש בקובץ הפעילות של המפות.
קובץ הפריסה בפורמט 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, לוחצים על אפשרות התפריט הפעלה (או על סמל לחצן ההפעלה) כדי להפעיל את האפליקציה.
- כשמתבקשים לבחור מכשיר, בוחרים באחת מהאפשרויות הבאות:
- בוחרים את מכשיר Android שמחובר למחשב.
- לחלופין, לוחצים על לחצן הבחירה Launch emulator ובוחרים את המכשיר הווירטואלי שאתם מגדירים.
- לוחצים על אישור. מערכת Android Studio תתחיל להשתמש ב-Gradle כדי ליצור את האפליקציה שלך, ואז להציג את התוצאות במכשיר או באמולטור שלך. ייתכן שיחלפו כמה דקות עד שהאפליקציה תופעל.
השלבים הבאים
הגדרת מפה: המסמך הזה מסביר איך לקבוע את ההגדרות הראשוניות ואת ההגדרות של זמן הריצה למפה, כמו מיקום המצלמה, סוג המפה, רכיבי ממשק המשתמש והתנועות.
הוספת מפה לאפליקציית Android (Kotlin): ה-Codelab הזה ידריך אתכם באפליקציה שמדגימה כמה תכונות נוספות של ה-SDK של מפות Google ל-Android.
שימוש בספריית KTX של מפות Google ל-Android: הספרייה הזו של תוספי Kotlin (KTX) מאפשרת להשתמש בכמה תכונות שפה של Kotlin תוך שימוש ב-SDK של מפות Google ל-Android.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-07-13 (שעון UTC).
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"חסרים לי מידע או פרטים" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"התוכן מורכב מדי או עם יותר מדי שלבים" },{ "type": "thumb-down", "id": "outOfDate", "label":"התוכן לא עדכני" },{ "type": "thumb-down", "id": "translationIssue", "label":"בעיה בתרגום" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"בעיה בדוגמאות/בקוד" },{ "type": "thumb-down", "id": "otherDown", "label":"סיבה אחרת" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"התוכן קל להבנה" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"התוכן עזר לי לפתור בעיה" },{ "type": "thumb-up", "id": "otherUp", "label":"סיבה אחרת" }]