ליצור אפליקציית Android שמציגה מפה באמצעות תבנית Google Maps Views ל-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 APIs.
- כדי להשתמש במכשיר Android, פועלים לפי ההוראות במאמר הרצת אפליקציות במכשיר חומרה.
- כדי להשתמש באמולטור Android, אפשר ליצור מכשיר וירטואלי ולהתקין את האמולטור באמצעות Android Virtual Device (AVD) Manager שמגיע עם Android Studio.
יצירת פרויקט של מפות Google ב-Android Studio
התהליך ליצירת פרויקט ב-Google Maps ב-Android Studio השתנה בגרסה Flamingo ובגרסאות מאוחרות יותר של Android Studio.
פותחים את Android Studio ולוחצים על פרויקט חדש בחלון ברוכים הבאים ל-Android Studio.
בחלון New Project (פרויקט חדש), בקטגוריה Phone and Tablet (טלפון וטאבלט), בוחרים באפשרות No Activity (ללא פעילות) ולוחצים על Next (הבא).
ממלאים את הטופס פרויקט חדש:
מגדירים את השפה ל-Java או ל-Kotlin. שתי השפות נתמכות באופן מלא ב-SDK של מפות ל-Android. מידע נוסף על Kotlin זמין במאמר פיתוח אפליקציות ל-Android באמצעות Kotlin.
מגדירים את גרסת ה-SDK המינימלית לגרסת SDK שתואמת למכשיר הבדיקה. צריך לבחור גרסה שגבוהה מהגרסה המינימלית שנדרשת על ידי Maps SDK ל-Android גרסה 19.0.x, שהיא רמת 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, 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
כדי להשתמש בפלטפורמה של מפות 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 Maps Platform > Credentials (הפלטפורמה של מפות Google > פרטי כניסה).
-
בדף Credentials, לוחצים על Create credentials > API key.
בתיבת הדו-שיח API key created מוצג מפתח ה-API החדש שיצרתם. -
לוחצים על סגירה.
מפתח ה-API החדש מופיע בדף Credentials בקטע API keys.
(חשוב להגביל את מפתח ה-API לפני שמשתמשים בו בסביבת ייצור).
Cloud SDK
gcloud 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") } }
מגניב
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") }
מגניב
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 אם הקובץ
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}" />
הערה:
com.google.android.geo.API_KEY
הוא שם המטא-נתונים המומלץ למפתח ה-API. אפשר להשתמש במפתח עם השם הזה כדי לבצע אימות למספר ממשקי API שמבוססים על מפות Google בפלטפורמת Android, כולל Maps SDK for Android. לצורך תאימות לאחור, ה-API תומך גם בשםcom.google.android.maps.v2.API_KEY
. השם הזה הוא מדור קודם ומאפשר אימות רק לגרסה 2 של Android Maps API. אפליקציה יכולה לציין רק אחד משמות המטא-נתונים של מפתח ה-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 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" }
מגניב
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" }
בדיקת הקוד
בודקים את הקוד שסופק על ידי התבנית. חשוב במיוחד לבדוק את הקבצים הבאים בפרויקט Android Studio.
קובץ הפעילות במפות Google
קובץ הפעילות של המפות הוא הפעילות העיקרית של האפליקציה, והוא מכיל את הקוד לניהול ולהצגה של המפה. כברירת מחדל, שם הקובץ שמגדיר את הפעילות הוא MapsActivity.java
, או MapsActivity.kt
אם הגדרתם את Kotlin כשפה של האפליקציה.
האלמנטים העיקריים של הפעילות במפות Google:
האובייקט
SupportMapFragment
מנהל את מחזור החיים של המפה והוא רכיב ההורה של ממשק המשתמש של האפליקציה.האובייקט
GoogleMap
מספק גישה לנתוני המפה ולתצוגה. זוהי המחלקה הראשית של Maps SDK ל-Android. במדריך Map Objects מוסבר על האובייקטיםSupportMapFragment
ו-GoogleMap
בפירוט רב יותר.הפונקציה
moveCamera
ממקמת את המפה במרכז לפי הקואורדינטותLatLng
של סידני באוסטרליה. ההגדרות הראשונות שצריך לקבוע כשמוסיפים מפה הן בדרך כלל מיקום המפה והגדרות המצלמה, כמו זווית הצפייה, האוריינטציה של המפה ורמת הזום. פרטים נוספים זמינים במדריך בנושא מצלמה ותצוגה.הפונקציה
addMarker
מוסיפה סמן לקואורדינטות של סידני. פרטים נוספים זמינים במדריך בנושא סמנים.
קובץ Gradle של מודול
הקובץ Module build.gradle.kts
כולל את התלות הבאה במפות, שנדרשת על ידי SDK של מפות ל-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, לוחצים על אפשרות התפריט Run (או על סמל לחצן ההפעלה) כדי להפעיל את האפליקציה.
- כשמוצגת בקשה לבחור מכשיר, בוחרים באחת מהאפשרויות הבאות:
- בוחרים את מכשיר Android שמחובר למחשב.
- לחלופין, בוחרים את לחצן הבחירה הפעלת אמולטור ובוחרים את המכשיר הווירטואלי שהגדרתם.
- לוחצים על אישור. Android Studio יפעיל את Gradle כדי לבנות את האפליקציה, ואז יציג את התוצאות במכשיר או באמולטור. יכול להיות שיחלפו כמה דקות עד שהאפליקציה תיפתח.
השלבים הבאים
הגדרת מפה: במאמר הזה מוסבר איך להגדיר את ההגדרות הראשוניות וההגדרות בזמן הריצה של המפה, כמו מיקום המצלמה, סוג המפה, רכיבי ממשק המשתמש ומחוות.
הוספת מפה לאפליקציית Android (Kotlin): במעבדת התכנות הזו מוסבר איך להשתמש באפליקציה שמדגימה כמה תכונות נוספות של Maps SDK ל-Android.
שימוש בספריית Maps Android KTX: ספריית ההרחבות של Kotlin (KTX) מאפשרת לכם ליהנות מכמה תכונות של שפת Kotlin בזמן השימוש ב-Maps SDK ל-Android.