בדף הזה מוסבר איך להגדיר פרויקט ב-Android Studio לשימוש ב- SDK של מפות ל-Android בלי להשתמש בתבנית של מפות Google שמפורטת במדריך למתחילים.
תבנית מפות Google מגדירה באופן אוטומטי מפה בסיסית ומוסיפה אותה לפרויקט חדש ב-Android Studio. עם זאת, אפשר גם להוסיף מפה לפרויקט Android שמשתמש בתבנית אחרת של Android Studio. כדי לעשות את זה, צריך להגדיר את הפרויקט באופן ידני ואז להוסיף את המפה.
שלב 1: הגדרת Android Studio
במסמך הזה מתוארת סביבת פיתוח שמשתמשת ב-Android Studio Hedgehog ובפלאגין של Android Gradle בגרסה 8.2.
שלב 2. הגדרת ה-SDK
הספרייה SDK של מפות ל-Android זמינה דרך מאגר Maven של Google. כדי להוסיף את ה-SDK לאפליקציה:
- בקובץ
settings.gradle.ktsברמה העליונה, צריך לכלול את פורטל הפלאגין של Gradle, את מאגר ה-Maven של Google ואת מאגר ה-Maven המרכזי בבלוקpluginManagement. הבלוקpluginManagementצריך להופיע לפני כל הצהרה אחרת בסקריפט.pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } }
- בקובץ
settings.gradle.ktsברמה העליונה, צריך לכלול את מאגר ה-Maven של Google ואת מאגר מרכזי של Maven בקטעdependencyResolutionManagement:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { google() mavenCentral() } }
- בקובץ
build.gradle.ktsאוbuild.gradleברמת המודול, מוסיפים את התלות ב-Google Play Services בשביל 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.1.0" }
- בקובץ
build.gradle.ktsאוbuild.gradleברמת המודול, מגדירים אתcompileSdkו-minSdkלערכים הבאים:Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 23 // ... } }
Groovy
android { compileSdk 34 defaultConfig { minSdk 23 // ... } }
- בקטע
buildFeaturesשל הקובץbuild.gradle.ktsאוbuild.gradleברמת המודול, מוסיפים את המחלקהBuildConfig, שבה אפשר להשתמש כדי לגשת לערכי המטא-נתונים שמוגדרים בהמשך התהליך:Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
Groovy
android { // ... buildFeatures { buildConfig true // ... } }
- בקובץ
libs.versions.toml, מוסיפים את הקוד הבא:[versions] play-services-maps = "20.1.0" [libraries] play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "play-services-maps" }
שלב 3: מוסיפים את מפתח ה-API לפרויקט
בקטע הזה מוסבר איך לאחסן את מפתח ה-API כדי שהאפליקציה תוכל להפנות אליו בצורה מאובטחת. לא כדאי להכניס את מפתח ה-API למערכת לניהול גרסאות, ולכן מומלץ לאחסן אותו בקובץ secrets.properties בתיקיית השורש של הפרויקט, ולהחריג את הקובץ הזה ממערכת לניהול גרסאות. מידע נוסף על קובצי מאפיינים של Gradle זמין במאמר קובצי מאפיינים של Gradle.
כדי לפשט את המשימה הזו, מומלץ להשתמש בפלאגין Secrets Gradle ל-Android.
כדי להתקין את Secrets Gradle Plugin for 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" }
שלב 4: מעדכנים את קובץ המניפסט של האפליקציה
בקטע הזה מוסבר אילו הגדרות צריך להוסיף לקובץ AndroidManifest.xml.
מספר הגרסה של Google Play Services
מוסיפים את ההצהרה הבאה בתוך הרכיב application. הפעולה הזו מטמיעה את הגרסה של Google Play Services שהאפליקציה קומפלה איתה.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
הרשאת מיקום
אם האפליקציה שלכם צריכה לגשת למיקום של המשתמש, אתם צריכים לבקש את הרשאת המיקום בקובץ AndroidManifest.xml. האפשרויות הן ACCESS_FINE_LOCATION, שמספקת את מיקום המכשיר המדויק, וACCESS_COARSE_LOCATION, שהיא פחות מדויקת. פרטים נוספים זמינים במדריך בנושא נתוני מיקום.
כדי לבקש את ההרשאה ACCESS_FINE_LOCATION, מוסיפים את הקוד הזה לרכיב manifest:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
הרשאה לניהול אחסון חיצוני
אם אתם מטרגטים גרסה 8.3 ואילך של Google Play Services SDK, לא צריך את ההרשאה WRITE_EXTERNAL_STORAGE. אם אתם מטרגטים גרסאות קודמות של Google Play Services SDK, אתם צריכים לבקש את ההרשאה WRITE_EXTERNAL_STORAGE ברכיב manifest.
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
ספריית Apache HTTP מדור קודם
אם אתם משתמשים בגרסה com.google.android.gms:play-services-maps:16.0.0 ומטה והאפליקציה שלכם מטרגטת רמת ה-API המיועדת 28 (Android 9.0) ומעלה, אתם צריכים לכלול את ההצהרה הבאה ברכיב <application> של AndroidManifest.xml. אם לא, אפשר לדלג על ההצהרה הזו.
<uses-library
android:name="org.apache.http.legacy"
android:required="false"/>
שלב 5: מגדירים מכשיר Android
כדי להריץ אפליקציה שמשתמשת ב-SDK של מפות ל-Android, צריך לפרוס אותה במכשיר Android או באמולטור Android שמבוססים על Android 6.0 ומעלה וכוללים את Google APIs.
- כדי להשתמש במכשיר Android, פועלים לפי ההוראות במאמר הפעלת אפליקציות במכשיר חומרה.
- כדי להשתמש באמולטור Android, אתם יכולים ליצור מכשיר וירטואלי ולהתקין את האמולטור באמצעות Device Manager שמגיע עם Android Studio.
שלב 6: בודקים אם יש תמיכה ב-Play Services (אופציונלי)
כדי להשתמש ב-SDK של מפות ל-Android, צריך להתקין את Google Play Services במכשיר שבו פורסים את האפליקציה. Google מספקת שיטה שאפשר להפעיל מהאפליקציה כדי לבדוק את זה. מידע נוסף זמין במאמר בנושא בדיקה אם Google Play Services מותקן.
השלבים הבאים
אחרי שמגדירים את הפרויקט, אפשר להוסיף מפה.