इस पेज में बताया गया है कि Google Maps टेंप्लेट का इस्तेमाल किए बिना, Android के लिए Maps SDK टूल जिसके बारे में क्विकस्टार्ट में पूरी जानकारी दी गई है.
Google Maps टेंप्लेट अपने-आप कॉन्फ़िगर होता है और बेसिक मैप को नए मैप में जोड़ देता है Android Studio प्रोजेक्ट. हालांकि, आपके पास किसी Android प्रोजेक्ट में मैप जोड़ने का भी विकल्प है जो किसी अलग Android Studio टेंप्लेट का इस्तेमाल करता है. ऐसा करने के लिए, आपको मैन्युअल रूप से अपना प्रोजेक्ट कॉन्फ़िगर करें और फिर मैप जोड़ें.
पहला चरण: Android Studio सेट अप करना
इस दस्तावेज़ में, डेवलपमेंट एनवायरमेंट के बारे में बताया गया है. इसके लिए, इसका इस्तेमाल किया जा रहा है Android Studio Hedgehog और Android Gradle प्लग इन वर्शन 8.2.
दूसरा चरण. SDK टूल सेट अप करें
Android लाइब्रेरी के लिए Maps SDK टूल, इनके ज़रिए उपलब्ध है Google की Maven रिपॉज़िटरी. यहां की यात्रा पर हूं अपने ऐप्लिकेशन में SDK टूल जोड़ें और ये काम करें:
- अपनी टॉप-लेवल
settings.gradle.kts
फ़ाइल में, इसे शामिल करें Gradle प्लग इन पोर्टल, Google Maven रिपॉज़िटरी, और Maven सेंट्रल रिपॉज़िटरीpluginManagement
ब्लॉक के तहत.pluginManagement
ब्लॉक स्क्रिप्ट में किसी भी अन्य स्टेटमेंट से पहले दिखना चाहिए.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- अपनी टॉप-लेवल
settings.gradle.kts
फ़ाइल में, इसे शामिल करें Google की Maven रिपॉज़िटरी और Maven सेंट्रल रिपॉज़िटरीdependencyResolutionManagement
ब्लॉक के तहत:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
- अपने मॉड्यूल-लेवल की
build.gradle.kts
याbuild.gradle
फ़ाइल में, इसके लिए, Google Play services डिपेंडेंसी Android के लिए Maps SDK टूल.Kotlin
dependencies { // Maps SDK for Android implementation("com.google.android.gms:play-services-maps:19.0.0") }
ग्रूवी
dependencies { // Maps SDK for Android implementation "com.google.android.gms:play-services-maps:19.0.0" }
- आपके मॉड्यूल-लेवल की
build.gradle.kts
याbuild.gradle
फ़ाइल में,compileSdk
औरminSdk
को नीचे दी गई वैल्यू पर सेट करें:Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 21 // ... } }
ग्रूवी
android { compileSdk 34 defaultConfig { minSdk 21 // ... } }
- आपके मॉड्यूल-लेवल
build.gradle.kts
केbuildFeatures
सेक्शन में याbuild.gradle
फ़ाइल में जाकर,BuildConfig
क्लास जोड़ें. इसका इस्तेमाल इन कामों के लिए किया जा सकता है इस प्रोसेस में आगे बताई गई मेटाडेटा की वैल्यू को ऐक्सेस करें:Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
ग्रूवी
android { // ... buildFeatures { buildConfig true // ... } }
तीसरा चरण: प्रोजेक्ट में एपीआई पासकोड जोड़ना
इस सेक्शन में, एपीआई पासकोड को सेव करने का तरीका बताया गया है, ताकि इसका इस्तेमाल
आपका ऐप्लिकेशन. आपको वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच नहीं करनी चाहिए. इसलिए, हमारा सुझाव है कि
इसे secrets.properties
फ़ाइल में सेव करना, जो आपकी रूट डायरेक्ट्री में मौजूद होती है
प्रोजेक्ट. secrets.properties
फ़ाइल के बारे में ज़्यादा जानकारी के लिए, देखें
Gradle प्रॉपर्टी फ़ाइलें.
इस टास्क को आसान बनाने के लिए, हमारा सुझाव है कि आप Android के लिए सीक्रेट ग्रेडल प्लग इन.
अपने Google Maps प्रोजेक्ट में Android के लिए Secrets Gradle प्लग इन इंस्टॉल करने के लिए:
-
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 तक. - फ़ाइल सेव करें और Gredle के साथ प्रोजेक्ट सिंक करते हैं.
-
अपनी शीर्ष-स्तरीय डायरेक्ट्री में
secrets.properties
फ़ाइल खोलें, और फिर जोड़ें .YOUR_API_KEY
को अपनी एपीआई पासकोड से बदलें. अपनी कुंजी इस फ़ाइल में सेव करें ऐसा इसलिए हुआ, क्योंकि वर्शन कंट्रोल मेंsecrets.properties
की जांच नहीं की जा सकी सिस्टम.MAPS_API_KEY=YOUR_API_KEY
- फ़ाइल सेव करें.
-
अपनी टॉप-लेवल डायरेक्ट्री में
local.defaults.properties
फ़ाइल बनाएं. फ़ोल्डर कोsecrets.properties
फ़ाइल के रूप में चुनकर यह कोड जोड़ें.MAPS_API_KEY=DEFAULT_API_KEY
इस फ़ाइल का मकसद, एपीआई पासकोड के लिए बैकअप जगह की जानकारी देना है, अगर
secrets.properties
फ़ाइल नहीं मिली है, ताकि बिल्ड विफल न हो. ऐसा तब हो सकता है, जब आपने वर्शन कंट्रोल सिस्टम से ऐप्लिकेशन का क्लोन बनाया है. इसमेंsecrets.properties
और आपने अभी तक स्थानीय भाषा मेंsecrets.properties
फ़ाइल नहीं बनाई है. एपीआई पासकोड. - फ़ाइल सेव करें.
-
अपनी
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
सुझाया गया मेटाडेटा नाम है एपीआई पासकोड के लिए. इस नाम वाली कुंजी का उपयोग एक से ज़्यादा डोमेन की पुष्टि करने के लिए किया जा सकता है Android प्लैटफ़ॉर्म पर Google Maps-आधारित एपीआई, जिनमें Android के लिए Maps SDK. पुराने सिस्टम के साथ काम करने की सुविधा के लिए, एपीआईcom.google.android.maps.v2.API_KEY
नाम का समर्थन करता है. यह लेगसी name सिर्फ़ Android Maps API v2 पर पुष्टि करने की अनुमति देता है. एक ऐप्लिकेशन ये काम कर सकता है: 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" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
ग्रूवी
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" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
चौथा चरण: ऐप्लिकेशन मेनिफ़ेस्ट को अपडेट करना
यह सेक्शन आपके
AndroidManifest.xml
फ़ाइल.
Google Play services का वर्शन नंबर
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"/>
बाहरी स्टोरेज की अनुमति
अगर Google Play services SDK टूल के 8.3 या इसके बाद के वर्शन को टारगेट किया जा रहा है, तो
आपको WRITE_EXTERNAL_STORAGE
की अनुमति की ज़रूरत नहीं है. अगर आपको
अगर आपको SDK टूल के पुराने वर्शन का इस्तेमाल करना है, तो आपको
WRITE_EXTERNAL_STORAGE
अनुमति, manifest
एलिमेंट में.
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Apache एचटीटीपी लेगसी लाइब्रेरी
अगर आप 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 डिवाइस या Android पर डिप्लॉय करना होगा एम्युलेटर, जो Android 5.0 या इसके बाद वाले वर्शन पर आधारित हो और जिसमें तो Google API के ज़रिए ऐसा किया जा सकता है.
- Android डिवाइस का इस्तेमाल करने के लिए, यहां दिए गए निर्देशों का पालन करें: हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाएं.
- Android एम्युलेटर का इस्तेमाल करने के लिए, वर्चुअल डिवाइस बनाएं. इसके बाद, Android वर्चुअल डिवाइस (एवीडी) मैनेजर यह सुविधा Android Studio में पहले से मौजूद है.
छठा चरण: विकल्प के तौर पर, Play Service से जुड़ी सहायता पाना
Android के लिए Maps SDK टूल की मदद से, यह ज़रूरी है कि जिस डिवाइस पर आपने अपने ऐप्लिकेशन को डिप्लॉय किया है ऐप्लिकेशन में Google Play services इंस्टॉल हो. Google एक ऐसा तरीका उपलब्ध कराता है आपके ऐप्लिकेशन से कॉल कर सकता है. अधिक जानकारी के लिए, देखें जांचें कि Google Play services इंस्टॉल हो.
अगले चरण
प्रोजेक्ट कॉन्फ़िगर होने के बाद, मैप जोड़ा जा सकता है.