این صفحه نحوه پیکربندی یک پروژه اندروید استودیو را برای استفاده از Maps SDK برای اندروید بدون استفاده از الگوی Google Maps که در Quickstart به تفصیل شرح داده شده است، شرح میدهد.
الگوی نقشههای گوگل به طور خودکار یک نقشه اولیه را به یک پروژه جدید اندروید استودیو پیکربندی و اضافه میکند. با این حال، میتوانید یک نقشه را به یک پروژه اندروید که از یک الگوی اندروید استودیو متفاوت استفاده میکند نیز اضافه کنید. برای انجام این کار، باید پروژه خود را به صورت دستی پیکربندی کرده و سپس نقشه را اضافه کنید .
مرحله ۱: راهاندازی اندروید استودیو
این سند یک محیط توسعه با استفاده از Android Studio Hedgehog و افزونه Android Gradle نسخه 8.2 را شرح میدهد.
مرحله ۲. راهاندازی SDK
کتابخانه Maps SDK برای اندروید از طریق مخزن Maven گوگل در دسترس است. برای افزودن SDK به برنامه خود، مراحل زیر را انجام دهید:
- در فایل سطح بالای
settings.gradle.ktsخود، Gradle plugin portal ، Google Maven repository و Maven central repository را در زیر بلوکpluginManagementقرار دهید. بلوکpluginManagementباید قبل از هر عبارت دیگری در اسکریپت ظاهر شود.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- در فایل سطح بالای
settings.gradle.kts، مخزن Maven گوگل و مخزن مرکزی Maven را در زیر بلوکdependencyResolutionManagementقرار دهید:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
- در فایل
build.gradle.ktsیاbuild.gradleدر سطح ماژول، وابستگی سرویسهای Google Play را برای Maps SDK برای اندروید اضافه کنید.کاتلین
dependencies { // Maps SDK for Android implementation(libs.play.services.maps) }
گرووی
dependencies { // Maps SDK for Android implementation "com.google.android.gms:play-services-maps:19.0.0" }
- در فایل
build.gradle.ktsیاbuild.gradleدر سطح ماژول،compileSdkوminSdkرا روی مقادیر زیر تنظیم کنید:کاتلین
android { compileSdk = 34 defaultConfig { minSdk = 21 // ... } }
گرووی
android { compileSdk 34 defaultConfig { minSdk 21 // ... } }
- در بخش
buildFeaturesاز فایلbuild.gradle.ktsیاbuild.gradleدر سطح ماژول، کلاسBuildConfigرا اضافه کنید که میتوانید از آن برای دسترسی به مقادیر فراداده تعریفشده در ادامه این رویه استفاده کنید:کاتلین
android { // ... buildFeatures { buildConfig = true // ... } }
گرووی
android { // ... buildFeatures { buildConfig true // ... } }
مرحله ۳: کلید API خود را به پروژه اضافه کنید
این بخش نحوه ذخیره کلید API شما را توضیح میدهد تا برنامه شما بتواند به طور ایمن به آن مراجعه کند. شما نباید کلید API خود را در سیستم کنترل نسخه خود بررسی کنید، بنابراین توصیه میکنیم آن را در فایل secrets.properties که در دایرکتوری ریشه پروژه شما قرار دارد، ذخیره کنید. برای اطلاعات بیشتر در مورد فایل secrets.properties ، به Gradle properties files مراجعه کنید.
برای سادهسازی این کار، توصیه میکنیم از افزونه Secrets Gradle برای اندروید استفاده کنید.
برای نصب افزونه Secrets Gradle برای اندروید در پروژه Google Maps خود:
- در اندروید استودیو، فایل سطح بالای
build.gradle.ktsیاbuild.gradleخود را باز کنید و کد زیر را به عنصرdependenciesدر زیرbuildscriptاضافه کنید.کاتلین
plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.jetbrains.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.secrets.gradle.plugin) apply false }
گرووی
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
- فایل
build.gradle.ktsیاbuild.gradleسطح ماژول خود را باز کنید و کد زیر را به عنصرpluginsاضافه کنید.کاتلین
plugins { // ... alias(libs.plugins.secrets.gradle.plugin) }
گرووی
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- در فایل
build.gradle.ktsیاbuild.gradleدر سطح ماژول، مطمئن شوید کهtargetSdkوcompileSdkروی ۳۴ تنظیم شدهاند. - پروژه خود را با 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 مبتنی بر نقشههای گوگل در پلتفرم اندروید، از جمله Maps SDK برای اندروید، استفاده شود. برای سازگاری با نسخههای قبلی، API از نامcom.google.android.maps.v2.API_KEYنیز پشتیبانی میکند. این نام قدیمی، احراز هویت را فقط برای Android Maps API v2 امکانپذیر میکند. یک برنامه میتواند فقط یکی از نامهای فراداده کلید API را مشخص کند. اگر هر دو مشخص شوند، API یک استثنا ایجاد میکند. در اندروید استودیو، فایل
build.gradle.ktsیاbuild.gradleدر سطح ماژول خود را باز کنید و ویژگیsecretsرا ویرایش کنید. اگر ویژگیsecretsوجود ندارد، آن را اضافه کنید.ویژگیهای افزونه را ویرایش کنید تا
propertiesFileNameرویsecrets.properties،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" }
گرووی
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" }
مرحله ۴: بهروزرسانی مانیفست برنامه
این بخش تنظیماتی را که باید به فایل AndroidManifest.xml خود اضافه کنید، شرح میدهد.
شماره نسخه سرویسهای گوگل پلی
اعلان زیر را درون عنصر application اضافه کنید. این، نسخه سرویسهای Google Play که برنامه با آن کامپایل شده است را جاسازی میکند.
<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"/>
مجوز ذخیرهسازی خارجی
اگر نسخه ۸.۳ یا بالاتر از SDK سرویسهای گوگل پلی را هدف قرار میدهید، نیازی به مجوز WRITE_EXTERNAL_STORAGE ندارید. اگر نسخههای قبلی SDK سرویسهای گوگل پلی را هدف قرار میدهید، باید مجوز WRITE_EXTERNAL_STORAGE را در عنصر manifest درخواست کنید.
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
کتابخانه قدیمی HTTP آپاچی
اگر از com.google.android.gms:play-services-maps:16.0.0 یا پایینتر استفاده میکنید و برنامه شما API سطح ۲۸ (اندروید ۹.۰) یا بالاتر را هدف قرار میدهد، باید اعلان زیر را در عنصر <application> از AndroidManifest.xml قرار دهید. در غیر این صورت، از این اعلان صرف نظر کنید.
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
مرحله ۵: راهاندازی دستگاه اندروید
برای اجرای برنامهای که از Maps SDK برای اندروید استفاده میکند، باید آن را روی یک دستگاه اندروید یا شبیهساز اندروید که مبتنی بر اندروید ۵.۰ یا بالاتر است و شامل APIهای گوگل است، مستقر کنید.
- برای استفاده از دستگاه اندروید، دستورالعملهای موجود در «اجرای برنامهها روی دستگاه سختافزاری» را دنبال کنید.
- برای استفاده از شبیهساز اندروید، میتوانید یک دستگاه مجازی ایجاد کنید و با استفاده از Android Virtual Device Manager (AVD) که همراه با اندروید استودیو ارائه میشود، شبیهساز را نصب کنید.
مرحله ۶: در صورت تمایل، پشتیبانی سرویس Play را بررسی کنید
کیت توسعه نرمافزار نقشه برای اندروید (Maps SDK) مستلزم آن است که دستگاهی که برنامه خود را روی آن مستقر میکنید، سرویسهای گوگل پلی (Google Play services) را نصب داشته باشد. گوگل روشی را ارائه میدهد که میتوانید از طریق برنامه خود آن را فراخوانی کنید تا بررسی شود. برای اطلاعات بیشتر، به بررسی نصب بودن سرویسهای گوگل پلی مراجعه کنید.
مراحل بعدی
پس از پیکربندی پروژه، میتوانید یک نقشه اضافه کنید .