इस पेज पर, Android Studio प्रोजेक्ट को कॉन्फ़िगर करने का तरीका बताया गया है, ताकि इसमें Android के लिए Maps SDK टूल का इस्तेमाल किया जा सके. इसके लिए, Google Maps टेंप्लेट का इस्तेमाल नहीं करना होगा. यह टेंप्लेट क्विकस्टार्ट में बताया गया है.
Google Maps टेंप्लेट, नए Android Studio प्रोजेक्ट में बुनियादी मैप को अपने-आप कॉन्फ़िगर करता है और जोड़ता है. हालांकि, किसी ऐसे Android प्रोजेक्ट में भी मैप जोड़ा जा सकता है जो Android Studio के किसी दूसरे टेंप्लेट का इस्तेमाल करता है. इसके लिए, आपको अपने प्रोजेक्ट को मैन्युअल तरीके से कॉन्फ़िगर करना होगा. इसके बाद, मैप जोड़ना होगा.
पहला चरण: Android Studio सेट अप करना
इस दस्तावेज़ में, Android Studio Hedgehog और Android Gradle प्लग इन के वर्शन 8.2 का इस्तेमाल करके, डेवलपमेंट एनवायरमेंट सेट अप करने का तरीका बताया गया है.
.दूसरा चरण. एसडीके टूल सेट अप करना
Android के लिए Maps SDK टूल की लाइब्रेरी, Google की मेवन रिपॉज़िटरी पर उपलब्ध है. अपने ऐप्लिकेशन में एसडीके टूल जोड़ने के लिए, यह तरीका अपनाएं:
- अपनी टॉप-लेवल
settings.gradle.ktsफ़ाइल में, Gradle प्लग इन पोर्टल, Google Maven रिपॉज़िटरी, और Maven Central रिपॉज़िटरी कोpluginManagementब्लॉक में शामिल करें. स्क्रिप्ट में,pluginManagementब्लॉक किसी भी अन्य स्टेटमेंट से पहले दिखना चाहिए.pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } }
- अपनी टॉप-लेवल
settings.gradle.ktsफ़ाइल में, Google की मेवन रिपॉज़िटरी और Maven Central रिपॉज़िटरी कोdependencyResolutionManagementब्लॉक में शामिल करें:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { google() mavenCentral() } }
- अपने मॉड्यूल-लेवल की
build.gradle.ktsयाbuild.gradleफ़ाइल में, Android के लिए Maps SDK टूल के लिए Google Play services की डिपेंडेंसी जोड़ें.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.0.0" }
- अपने मॉड्यूल-लेवल की
build.gradle.ktsयाbuild.gradleफ़ाइल में,compileSdkऔरminSdkको ये वैल्यू सेट करें:Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 21 // ... } }
Groovy
android { compileSdk 34 defaultConfig { minSdk 21 // ... } }
- अपने मॉड्यूल-लेवल की
build.gradle.ktsयाbuild.gradleफ़ाइल केbuildFeaturesसेक्शन में,BuildConfigक्लास जोड़ें. इसका इस्तेमाल, इस तरीके में बाद में तय की गई मेटाडेटा वैल्यू को ऐक्सेस करने के लिए किया जा सकता है:Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
Groovy
android { // ... buildFeatures { buildConfig true // ... } }
- अपनी
libs.versions.tomlफ़ाइल में, यह जानकारी जोड़ें:[versions] play-services-maps = "20.0.0" [libraries] play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "play-services-maps" }
तीसरा चरण: प्रोजेक्ट में अपनी एपीआई पासकोड जोड़ना
इस सेक्शन में, एपीआई पासकोड को सेव करने का तरीका बताया गया है, ताकि आपका ऐप्लिकेशन इसे सुरक्षित तरीके से रेफ़र कर सके. आपको अपने एपीआई पासकोड को वर्शन कंट्रोल सिस्टम में शामिल नहीं करना चाहिए. इसलिए, हमारा सुझाव है कि इसे secrets.properties फ़ाइल में सेव करें. यह फ़ाइल, आपके प्रोजेक्ट की रूट डायरेक्ट्री में मौजूद होती है. secrets.properties फ़ाइल के बारे में ज़्यादा जानने के लिए, Gradle की प्रॉपर्टी फ़ाइलें देखें.
इस काम को आसान बनाने के लिए, हमारा सुझाव है कि आप Android के लिए सीक्रेट ग्रेडल प्लग इन का इस्तेमाल करें.
Android के लिए सीक्रेट ग्रेडल प्लग इन इंस्टॉल करने और अपना एपीआई पासकोड सेव करने के लिए:
-
Android Studio में, रूट-लेवल की
build.gradleफ़ाइल खोलें औरdependenciesएलिमेंट में यह कोड जोड़ें जोbuildscriptमें मौजूद है.Groovy
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एलिमेंट में यह कोड जोड़ें.Groovy
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- अगर Android Studio का इस्तेमाल किया जा रहा है, तो अपने प्रोजेक्ट को Gradle के साथ सिंक करें.
-
अपने प्रोजेक्ट-लेवल की डायरेक्ट्री में मौजूद
local.propertiesखोलें. इसके बाद, यह कोड जोड़ें .YOUR_API_KEYको अपने एपीआई पासकोड से बदलें.MAPS_API_KEY=YOUR_API_KEY
-
अपनी
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एपीआई पासकोड के लिए, मेटाडेटा के नाम का सुझाव दिया जाता है. इस नाम वाली कुंजी का इस्तेमाल, Android प्लैटफ़ॉर्म पर Google Maps पर आधारित कई एपीआई की पुष्टि करने के लिए किया जा सकता है. इनमें, Android के लिए Maps SDK टूल भी शामिल है. पिछले वर्शन के साथ काम करने की सुविधा के लिए, एपीआई,com.google.android.maps.v2.API_KEYनाम का भी इस्तेमाल करता है. इस पुराने नाम से, सिर्फ़ Android Maps API v2 की पुष्टि की जा सकती है. कोई ऐप्लिकेशन, एपीआई पासकोड के मेटाडेटा के नामों में से सिर्फ़ एक नाम तय कर सकता है. अगर दोनों नाम तय किए जाते हैं, तो एपीआई एक अपवाद दिखाता है.
चौथा चरण: ऐप्लिकेशन का मेनिफ़ेस्ट अपडेट करना
इस सेक्शन में,
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 से डिवाइस की सटीक जगह की जानकारी मिलती है, जबकि ACCESS_COARSE_LOCATION से कम सटीक जानकारी मिलती है. ज़्यादा जानकारी के लिए, जगह की जानकारी का डेटा गाइड देखें.
ACCESS_FINE_LOCATION अनुमति का अनुरोध करने के लिए, manifest एलिमेंट में यह कोड जोड़ें:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
बाहरी स्टोरेज की अनुमति
अगर Google Play services SDK टूल के वर्शन 8.3 या इसके बाद के वर्शन को टारगेट किया जा रहा है, तो आपको WRITE_EXTERNAL_STORAGE अनुमति की ज़रूरत नहीं है. अगर Google Play services SDK टूल के पुराने वर्शन को टारगेट किया जा रहा है, तो आपको WRITE_EXTERNAL_STORAGE अनुमति का अनुरोध करना होगा.manifest
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Apache HTTP Legacy लाइब्रेरी
अगर com.google.android.gms:play-services-maps:16.0.0 या इससे पहले के वर्शन का इस्तेमाल किया जा रहा है और
आपका ऐप्लिकेशन, एपीआई लेवल 28 (Android 9.0) या इसके बाद के वर्शन को टारगेट कर रहा है, तो आपको
<application> एलिमेंट में यह एलान शामिल करना होगा.
AndroidManifest.xml. नहीं तो, इस एलान को छोड़ दें.
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
पांचवा चरण: Android डिवाइस सेट अप करना
Android के लिए Maps SDK टूल का इस्तेमाल करने वाले किसी ऐप्लिकेशन को चलाने के लिए, आपको उसे Android 5.0 या इसके बाद के वर्शन वाले किसी Android डिवाइस या Android एम्युलेटर पर डिप्लॉय करना होगा. साथ ही, उसमें Google के एपीआई शामिल होने चाहिए.
- Android डिवाइस का इस्तेमाल करने के लिए, हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाना लेख में दिए गए निर्देशों का पालन करें.
- Android एम्युलेटर का इस्तेमाल करने के लिए, वर्चुअल डिवाइस बनाया जा सकता है और Android वर्चुअल डिवाइस (AVD) मैनेजर का इस्तेमाल करके, एम्युलेटर इंस्टॉल किया जा सकता है जो Android Studio के साथ आता है.
छठा चरण: Play services के साथ काम करने की सुविधा की जांच करना (ज़रूरी नहीं)
Android के लिए Maps SDK टूल के लिए, यह ज़रूरी है कि जिस डिवाइस पर आपका ऐप्लिकेशन डिप्लॉय किया गया है उसमें Google Play services इंस्टॉल हो. Google एक ऐसा तरीका उपलब्ध कराता है जिसे आपके ऐप्लिकेशन से कॉल करके, यह जांच की जा सकती है. ज़्यादा जानकारी के लिए, यह जांच करना कि Google Play services इंस्टॉल है या नहीं लेख पढ़ें.
अगले चरण
अपने प्रोजेक्ट को कॉन्फ़िगर करने के बाद, उसमें मैप जोड़ा जा सकता है.