Android Studio के लिए Google Maps Views टेंप्लेट का इस्तेमाल करके, मैप दिखाने वाला Android ऐप्लिकेशन बनाएं. अगर आपके पास पहले से कोई Android Studio प्रोजेक्ट है जिसे आपको सेट अप करना है, तो Android Studio प्रोजेक्ट सेट अप करना लेख पढ़ें.
यह क्विकस्टार्ट गाइड उन डेवलपर के लिए है जिन्हें Kotlin या Java के साथ Android डेवलपमेंट की बुनियादी जानकारी है.
डेवलपमेंट एनवायरमेंट के बारे में जानकारी
हमारा सुझाव है कि आप Android Studio और Android Gradle प्लग इन के सबसे नए स्टेबल वर्शन का इस्तेमाल करें.
Android डिवाइस सेट अप करना
Android के लिए Maps SDK का इस्तेमाल करने वाले ऐप्लिकेशन को चलाने के लिए, आपको उसे किसी ऐसे Android डिवाइस या Android Emulator पर डिप्लॉय करना होगा जो Android 6.0 या इसके बाद के वर्शन पर आधारित हो और जिसमें Google API शामिल हों.
- Android डिवाइस का इस्तेमाल करने के लिए, हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाएं पेज पर दिए गए निर्देशों का पालन करें.
- Android एम्युलेटर का इस्तेमाल करने के लिए, वर्चुअल डिवाइस बनाया जा सकता है. इसके बाद, Android Studio के साथ मिलने वाले डिवाइस मैनेजर का इस्तेमाल करके, एम्युलेटर को इंस्टॉल किया जा सकता है.
Android Studio में Google Maps प्रोजेक्ट बनाना
Android Studio खोलें और Android Studio में आपका स्वागत है विंडो में, नया प्रोजेक्ट पर क्लिक करें.
New Project विंडो में, Phone and Tablet कैटगरी में जाकर, No Activity चुनें. इसके बाद, Next पर क्लिक करें.
नया प्रोजेक्ट फ़ॉर्म भरें:
भाषा को Java या Kotlin पर सेट करें. Android के लिए Maps SDK टूल, दोनों भाषाओं के साथ काम करता है. Kotlin के बारे में ज़्यादा जानने के लिए, Kotlin की मदद से Android ऐप्लिकेशन डेवलप करना लेख पढ़ें.
कम से कम एसडीके को एसडीके के ऐसे वर्शन पर सेट करें जो आपके टेस्ट डिवाइस के साथ काम करता हो. आपको Android के लिए Maps SDK के 20.0.x वर्शन के लिए ज़रूरी कम से कम वर्शन से ज़्यादा का वर्शन चुनना होगा. यह वर्शन, Android एपीआई लेवल 23 ("Marshmallow"; Android 6.0) या इसके बाद का वर्शन है. SDK टूल के वर्शन से जुड़ी ज़रूरी शर्तों के बारे में नई जानकारी पाने के लिए, रिलीज़ नोट देखें.
बिल्ड कॉन्फ़िगरेशन की भाषा को Kotlin DSL या Groovy DSL पर सेट करें. यहां दी गई प्रोसेस में, बिल्ड कॉन्फ़िगरेशन की दोनों भाषाओं के स्निपेट दिखाए गए हैं.
पूरा करें पर क्लिक करें.
Android Studio, Gradle को शुरू करता है और प्रोजेक्ट को बिल्ड करता है. इसमें थोड़ा समय लग सकता है.
Google Maps पर व्यू से जुड़ी गतिविधि जोड़ें:
- अपने प्रोजेक्ट में,
appफ़ोल्डर पर राइट क्लिक करें. नया > Google > Google Maps व्यू ऐक्टिविटी को चुनें:
Android Studio में appकॉन्टेक्स्ट मेन्यू से Google Maps Views Activity जोड़ना.New Android Activity डायलॉग बॉक्स में, Launcher Activity चेकबॉक्स को चुनें.
पूरा करें चुनें.
ज़्यादा जानकारी के लिए, टेंप्लेट से कोड जोड़ना लेख पढ़ें.
- अपने प्रोजेक्ट में,
बिल्ड पूरा होने पर, Android Studio
AndroidManifest.xmlऔरMapsActivityफ़ाइलें खोलता है. आपकी गतिविधि का नाम अलग हो सकता है. यह इस बात पर निर्भर करता है कि आपने सेटअप के दौरान क्या कॉन्फ़िगर किया था.
अपना Google Cloud प्रोजेक्ट सेट अप करना
Cloud Console को सेटअप करने के लिए, यहां दिया गया तरीका अपनाएं:
पहला चरण: अपना प्रोजेक्ट सेट अप करना
कंसोल
-
Google Cloud console में, प्रोजेक्ट चुनने वाले पेज पर, प्रोजेक्ट बनाएं पर क्लिक करें. इससे नया Cloud प्रोजेक्ट बनाने की प्रोसेस शुरू हो जाएगी.
-
पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू हो. पुष्टि करें कि आपके प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है.
Google Cloud को बिना किसी शुल्क के आज़माया जा सकता है. बिना शुल्क के आज़माने की अवधि, 90 दिनों के बाद या खाते में 300 डॉलर का शुल्क जमा होने के बाद खत्म हो जाती है. इनमें से जो भी पहले हो. सदस्यता को कभी भी रद्द करें. ज़्यादा जानकारी के लिए, बिलिंग खाते के क्रेडिट और बिलिंग देखें.
Cloud SDK
gcloud projects create "PROJECT"
Google Cloud SDK, Cloud SDK को इंस्टॉल करने, और इन निर्देशों के बारे में ज़्यादा जानें:
दूसरा चरण: एपीआई या एसडीके चालू करना
Google Maps Platform का इस्तेमाल करने के लिए, आपको वे एपीआई या एसडीके चालू करने होंगे जिनका इस्तेमाल आपको अपने प्रोजेक्ट के लिए करना है.
कंसोल
Cloud SDK
gcloud services enable \ --project "PROJECT" \ "maps-android-backend.googleapis.com"
Google Cloud SDK, Cloud SDK को इंस्टॉल करने, और इन निर्देशों के बारे में ज़्यादा जानें:
तीसरा चरण: एपीआई पासकोड पाना
इस चरण में, सिर्फ़ एपीआई पासकोड बनाने की प्रोसेस के बारे में बताया गया है. अगर प्रोडक्शन में एपीआई पासकोड का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि आप एपीआई पासकोड पर पाबंदी लगाएं. ज़्यादा जानकारी के लिए, प्रॉडक्ट के हिसाब से बने एपीआई पासकोड का इस्तेमाल पेज पर जाएं.
एपीआई पासकोड एक यूनीक आइडेंटिफ़ायर होता है. यह इस्तेमाल और बिलिंग के मकसद से, आपके प्रोजेक्ट से जुड़े अनुरोधों की पुष्टि करता है. आपके प्रोजेक्ट से कम से कम एक एपीआई पासकोड जुड़ा होना चाहिए. नई कुंजी बनाने या किसी मौजूदा कुंजी में एपीआई या SDK टूल जोड़ने के लिए, यह तरीका अपनाएं.
कंसोल
-
Google Maps Platform > कुंजियां और क्रेडेंशियल पेज पर जाएं.
- अगर कहा जाए, तो अपना प्रोजेक्ट चुनें.
-
इनमें से कोई एक काम करें:
-
नई कुंजी बनाना:
- क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें.
- एपीआई पासकोड बनाएं पैनल में, एपीआई से जुड़ी पाबंदियां चुनें सूची खोलें.
- इस कुंजी के लिए जिन एपीआई की ज़रूरत नहीं है उन्हें हटाएं. साथ ही, पक्का करें कि Android के लिए Maps SDK चुना गया हो.
- बनाएं पर क्लिक करें. पैनल में आपका नया एपीआई पासकोड दिखता है.
-
किसी मौजूदा कुंजी का इस्तेमाल करना:
- कुंजी के नाम पर क्लिक करें.
- एपीआई से जुड़ी पाबंदियां चुनें सूची में, Android के लिए Maps SDK चुनें.
- सेव करें पर क्लिक करें.
यहां किसी एपीआई को चुनने से वह चालू नहीं होता. पक्का करें कि Android के लिए Maps SDK, इसके एपीआई लाइब्रेरी पेज पर चालू हो.
-
- कुंजी की स्ट्रिंग को बाद में देखने के लिए, कुंजियां और क्रेडेंशियल पेज पर जाएं. इसके बाद, कुंजी के लिए कुंजी दिखाएं पर क्लिक करें.
अगर कंसोल इन चरणों से अलग दिखता है, तो Google Cloud के दस्तावेज़ में जाकर, एपीआई पासकोड बनाना और एपीआई से जुड़ी पाबंदियां जोड़ना देखें.
Cloud SDK
यहां दिए गए कमांड में, PROJECT_ID की जगह अपना प्रोजेक्ट आईडी डालें.
-
नई कुंजी बनाएं: यहां दिया गया निर्देश चलाएं और DISPLAY_NAME को कुंजी के नाम से बदलें.
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=maps-android-backend.googleapis.com
Google Cloud SDK, Cloud SDK को इंस्टॉल करने, और इन निर्देशों के बारे में ज़्यादा जानें:
-
किसी मौजूदा कुंजी का इस्तेमाल करना: यहां दिया गया कमांड चलाएं और KEY_ID को कुंजी के आईडी से बदलें.
--appendफ़्लैग, उन एपीआई को बनाए रखता है जिनकी अनुमति कुंजी पहले से देती है. इसके बिना, कमांड उन्हें बदल देता है.gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=maps-android-backend.googleapis.com
Google Cloud SDK, Cloud SDK को इंस्टॉल करने, और इन निर्देशों के बारे में ज़्यादा जानें:
कुंजी का आईडी, कुंजी की स्ट्रिंग या डिसप्ले नेम नहीं होता. इसे ढूंढने के लिए,
gcloud services api-keys list --project="PROJECT_ID"चलाएं. आईडी,nameफ़ील्ड का आखिरी हिस्सा होता है:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.
की स्ट्रिंग देखने के लिए,
gcloud services api-keys get-key-string KEY_ID
--project="PROJECT_ID" चलाएं.
अपने ऐप्लिकेशन में एपीआई पासकोड जोड़ना
इस सेक्शन में, एपीआई पासकोड को सेव करने का तरीका बताया गया है, ताकि आपका ऐप्लिकेशन उसे सुरक्षित तरीके से रेफ़र कर सके. आपको अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच नहीं करनी चाहिए. इसलिए, हमारा सुझाव है कि आप इसे अपने प्रोजेक्ट की रूट डायरेक्ट्री में मौजूद secrets.properties फ़ाइल में सेव करें और उस फ़ाइल को वर्शन कंट्रोल से बाहर रखें. Gradle प्रॉपर्टी फ़ाइलों के बारे में ज़्यादा जानने के लिए, Gradle प्रॉपर्टी फ़ाइलें देखें.
इस टास्क को आसान बनाने के लिए, हमारा सुझाव है कि आप Android के लिए सीक्रेट ग्रेडल प्लग इन का इस्तेमाल करें.
Android के लिए Secrets Gradle Plugin इंस्टॉल करने और अपना एपीआई पासकोड सेव करने के लिए:
-
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 }
ग्रूवी
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") }
ग्रूवी
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- अगर Android Studio का इस्तेमाल किया जा रहा है, तो अपने प्रोजेक्ट को Gradle के साथ सिंक करें.
-
अपनी टॉप-लेवल डायरेक्ट्री में
secrets.propertiesफ़ाइल खोलें. इसके बाद, यह कोड जोड़ें.YOUR_API_KEYको अपने एपीआई पासकोड से बदलें.secrets.propertiesको अपनी.gitignoreफ़ाइल में जोड़ना न भूलें. इसके अलावा, इसे अपने वर्शन कंट्रोल सिस्टम से बाहर रखें, ताकि आप वर्शन कंट्रोल में अपने एपीआई पासकोड की जांच न करें.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एट्रिब्यूट को इस तरह अपडेट करें:<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 की पुष्टि की जा सकती है. कोई ऐप्लिकेशन, एपीआई पासकोड के मेटाडेटा के नामों में से सिर्फ़ एक नाम तय कर सकता है. अगर दोनों एट्रिब्यूट की वैल्यू दी जाती हैं, तो एपीआई एक गड़बड़ी दिखाता है. -
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" }
ग्रूवी
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" }
कोड देखें
टेंप्लेट में दिए गए कोड की जांच करें. खास तौर पर, अपने Android Studio प्रोजेक्ट में ये फ़ाइलें देखें.
Maps पर की गई गतिविधि की फ़ाइल
Maps पर की गई गतिविधि की फ़ाइल, ऐप्लिकेशन की मुख्य गतिविधि होती है. इसमें मैप को मैनेज करने और दिखाने के लिए कोड होता है. डिफ़ॉल्ट रूप से, गतिविधि तय करने वाली फ़ाइल का नाम MapsActivity.java होता है. अगर आपने अपने ऐप्लिकेशन के लिए Kotlin को भाषा के तौर पर सेट किया है, तो फ़ाइल का नाम MapsActivity.kt होता है.
Maps पर की गई गतिविधि के मुख्य एलिमेंट:
SupportMapFragmentऑब्जेक्ट, मैप की लाइफ़साइकल को मैनेज करता है. साथ ही, यह ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) का पैरंट एलिमेंट होता है.GoogleMapऑब्जेक्ट, मैप के डेटा और व्यू का ऐक्सेस देता है. यह Android के लिए Maps SDK टूल की मुख्य क्लास है. मैप ऑब्जेक्ट गाइड में,SupportMapFragmentऔरGoogleMapऑब्जेक्ट के बारे में ज़्यादा जानकारी दी गई है.moveCameraफ़ंक्शन, मैप को सिडनी, ऑस्ट्रेलिया केLatLngनिर्देशांकों पर सेट करता है. मैप जोड़ते समय, सबसे पहले मैप की जगह और कैमरे की सेटिंग कॉन्फ़िगर की जाती हैं. जैसे, व्यूइंग ऐंगल, मैप का ओरिएंटेशन, और ज़ूम करने का लेवल. ज़्यादा जानकारी के लिए, कैमरा और व्यू गाइड देखें.addMarkerफ़ंक्शन, सिडनी के निर्देशांकों में एक मार्कर जोड़ता है. ज़्यादा जानकारी के लिए, मार्कर गाइड देखें.
Kotlin
// Add a marker in Sydney and move the camera val sydney = LatLng(-34.0, 151.0) map.addMarker( MarkerOptions() .position(sydney) .title("Marker in Sydney"), ) map.moveCamera(CameraUpdateFactory.newLatLng(sydney))
Java
// Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); map.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); map.moveCamera(CameraUpdateFactory.newLatLng(sydney));
मॉड्यूल Gradle फ़ाइल
मॉड्यूल-लेवल की build.gradle.kts या build.gradle फ़ाइल में, Maps की यह डिपेंडेंसी शामिल होती है. Android के लिए Maps SDK टूल को इसकी ज़रूरत होती है.
Kotlin
dependencies { // Maps SDK for Android implementation(libs.play.services.maps) }
ग्रूवी
dependencies { // Maps SDK for Android implementation "com.google.android.gms:play-services-maps:20.0.0" }
अगर आपका प्रोजेक्ट Gradle वर्शन कैटलॉग (gradle/libs.versions.toml) का इस्तेमाल करता है, तो libs.versions.toml में play-services-maps डिपेंडेंसी तय करें:
[versions]
play-services-maps = "20.0.0"
[libraries]
play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "play-services-maps" }
Maps की डिपेंडेंसी को मैनेज करने के बारे में ज़्यादा जानने के लिए, वर्शनिंग देखें.
एक्सएमएल लेआउट फ़ाइल
activity_maps.xml फ़ाइल, एक्सएमएल लेआउट फ़ाइल होती है. इससे ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के स्ट्रक्चर के बारे में पता चलता है. यह फ़ाइल res/layout डायरेक्ट्री में मौजूद है.
activity_maps.xml फ़ाइल, एक फ़्रैगमेंट का एलान करती है. इसमें ये एलिमेंट शामिल होते हैं:
tools:context, फ़्रैगमेंट की डिफ़ॉल्ट गतिविधि कोMapsActivityपर सेट करता है. इसे Maps पर की गई गतिविधि की फ़ाइल में तय किया जाता है.android:name, फ़्रैगमेंट की क्लास का नामSupportMapFragmentपर सेट करता है. यह फ़्रैगमेंट का वह टाइप है जिसका इस्तेमाल, Maps की गतिविधि वाली फ़ाइल में किया जाता है.
एक्सएमएल लेआउट फ़ाइल में यह कोड शामिल होता है:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" />
ऐप्लिकेशन को डिप्लॉय करना और चलाना

ऐप्लिकेशन को सही तरीके से चलाने पर, यह सिडनी, ऑस्ट्रेलिया को केंद्र में रखकर मैप दिखाता है. साथ ही, शहर पर एक मार्कर दिखाता है, जैसा कि स्क्रीनशॉट में दिखाया गया है.
ऐप्लिकेशन को डिप्लॉय और रन करने के लिए:
- Android Studio में, अपना ऐप्लिकेशन चलाने के लिए, Run मेन्यू विकल्प (या प्ले बटन आइकॉन) पर क्लिक करें.
- डिवाइस चुनने के लिए कहा जाने पर, इनमें से कोई एक विकल्प चुनें:
- अपने कंप्यूटर से कनेक्ट किया गया Android डिवाइस चुनें.
- इसके अलावा, एम्युलेटर लॉन्च करें रेडियो बटन को चुनें. इसके बाद, सेट अप किया गया वर्चुअल डिवाइस चुनें.
- ठीक है पर क्लिक करें. Android Studio, आपके ऐप्लिकेशन को बनाने के लिए Gradle को शुरू करेगा. इसके बाद, आपके डिवाइस या एम्युलेटर पर नतीजे दिखाएगा. ऐप्लिकेशन को लॉन्च होने में कुछ मिनट लग सकते हैं.
अगले चरण
मैप सेट अप करना: इस दस्तावेज़ में, मैप के लिए शुरुआती और रनटाइम सेटिंग सेट अप करने का तरीका बताया गया है. जैसे, कैमरे की पोज़िशन, मैप का टाइप, यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट, और जेस्चर.
अपने Android ऐप्लिकेशन (Kotlin) में मैप जोड़ना: इस कोडलैब में, आपको एक ऐसे ऐप्लिकेशन के बारे में बताया गया है जो Android के लिए Maps SDK की कुछ अतिरिक्त सुविधाएं दिखाता है.
Maps Android KTX लाइब्रेरी का इस्तेमाल करना: Kotlin एक्सटेंशन (KTX) लाइब्रेरी की मदद से, Android के लिए Maps SDK का इस्तेमाल करते समय, Kotlin भाषा की कई सुविधाओं का फ़ायदा लिया जा सकता है.