इस पेज पर, Android Studio प्रोजेक्ट को Maps SDK for Android का इस्तेमाल करने के लिए कॉन्फ़िगर करने का तरीका बताया गया है. इसके लिए, 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 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 = 23 // ... } }
Groovy
android { compileSdk 34 defaultConfig { minSdk 23 // ... } }
- मॉड्यूल-लेवल की
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 के पुराने वर्शन को टारगेट किया जा रहा है, तो आपको manifest एलिमेंट में, WRITE_EXTERNAL_STORAGE अनुमति का अनुरोध करना होगा.
<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) या इसके बाद के वर्शन को टारगेट कर रहा है, तो आपको
AndroidManifest.xml के <application> एलिमेंट में यह एलान शामिल करना होगा. नहीं तो, इस एलान को छोड़ दें.
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
पांचवा चरण: Android डिवाइस सेट अप करना
Maps SDK for Android का इस्तेमाल करने वाले ऐप्लिकेशन को चलाने के लिए, आपको उसे Android 6.0 या इसके बाद के वर्शन वाले किसी Android डिवाइस या Android एम्युलेटर पर डिप्लॉय करना होगा. साथ ही, उसमें Google के एपीआई शामिल होने चाहिए.
- Android डिवाइस का इस्तेमाल करने के लिए, हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाना लेख में दिए गए निर्देशों का पालन करें.
- Android एम्युलेटर का इस्तेमाल करने के लिए, वर्चुअल डिवाइस बनाया जा सकता है और एम्युलेटर इंस्टॉल किया जा सकता है. इसके लिए, Android Studio के साथ आने वाले Android वर्चुअल डिवाइस (AVD) मैनेजर का इस्तेमाल करें.
छठा चरण: Play services के साथ काम करने की सुविधा की जांच करना (ज़रूरी नहीं)
Maps SDK for Android के लिए, यह ज़रूरी है कि जिस डिवाइस पर आपका ऐप्लिकेशन डिप्लॉय किया गया है उसमें Google Play services इंस्टॉल हो. Google एक ऐसा तरीका उपलब्ध कराता है जिसे आपके ऐप्लिकेशन से कॉल करके, यह जांच की जा सकती है. ज़्यादा जानकारी के लिए, यह जांच करना कि Google Play services इंस्टॉल है या नहीं लेख पढ़ें.
अगले चरण
अपने प्रोजेक्ट को कॉन्फ़िगर करने के बाद, उसमें मैप जोड़ा जा सकता है.