Android Studio के लिए Google Maps Views टेंप्लेट का इस्तेमाल करके, मैप दिखाने वाला Android ऐप्लिकेशन बनाएं. अगर आपके पास कोई मौजूदा Android Studio प्रोजेक्ट है और आपको उसे सेट अप करना है, तो Android Studio प्रोजेक्ट सेट अप करना लेख पढ़ें.
यह शुरुआती जानकारी उन डेवलपर के लिए है जो Kotlin या Java की मदद से, Android के बुनियादी डेवलपमेंट के बारे में जानते हैं.
डेवलपमेंट एनवायरमेंट के बारे में जानकारी
इस क्विकस्टार्ट को Android Studio Hedgehog और Android Gradle प्लग इन के 8.2 वर्शन का इस्तेमाल करके डेवलप किया गया था.
Android डिवाइस सेट अप करना
Maps SDK for Android का इस्तेमाल करने वाले ऐप्लिकेशन को चलाने के लिए, आपको उसे Android 5.0 या इसके बाद के वर्शन पर आधारित किसी Android डिवाइस या Android एमुलेटर पर डिप्लॉय करना होगा. साथ ही, उसमें Google API भी शामिल होने चाहिए.
- Android डिवाइस का इस्तेमाल करने के लिए, हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाना लेख में दिए गए निर्देशों का पालन करें.
- Android एम्युलेटर का इस्तेमाल करने के लिए, वर्चुअल डिवाइस बनाएं और एम्युलेटर इंस्टॉल करें. इसके लिए, Android Studio में मौजूद Android वर्चुअल डिवाइस (AVD) मैनेजर का इस्तेमाल करें.
Android Studio में Google Maps प्रोजेक्ट बनाना
Android Studio में Google Maps प्रोजेक्ट बनाने का तरीका, Flamingo और उसके बाद के रिलीज़ में बदल गया है.
Android Studio खोलें और Android Studio में आपका स्वागत है विंडो में, नया प्रोजेक्ट पर क्लिक करें.
नया प्रोजेक्ट विंडो में, फ़ोन और टैबलेट कैटगरी में जाकर, कोई गतिविधि नहीं चुनें. इसके बाद, आगे बढ़ें पर क्लिक करें.
नया प्रोजेक्ट फ़ॉर्म भरें:
भाषा को Java या Kotlin पर सेट करें. Android के लिए Maps SDK टूल, दोनों भाषाओं में पूरी तरह काम करता है. Kotlin के बारे में ज़्यादा जानने के लिए, Kotlin की मदद से Android ऐप्लिकेशन बनाना लेख पढ़ें.
SDK टूल का कम से कम लेवल, टेस्ट डिवाइस के साथ काम करने वाले SDK टूल के वर्शन पर सेट करें. आपको Maps SDK for Android के 19.0.x वर्शन के लिए, कम से कम ज़रूरी वर्शन से ज़्यादा का वर्शन चुनना होगा. यह वर्शन, Android API लेवल 21 ("Lollipop"; Android 5.0) या उसके बाद का होना चाहिए. SDK टूल के वर्शन से जुड़ी ज़रूरी शर्तों के बारे में नई जानकारी पाने के लिए, रिलीज़ नोट देखें.
बिल्ड कॉन्फ़िगरेशन की भाषा को Kotlin DSL या Groovy DSL पर सेट करें. यहां दिए गए तरीके में, दोनों बिल्ड कॉन्फ़िगरेशन भाषाओं के स्निपेट दिखाए गए हैं.
पूरा करें पर क्लिक करें.
Android Studio, Gradle को शुरू करता है और प्रोजेक्ट को बिल्ड करता है. इसमें थोड़ा समय लग सकता है.
Google Maps पर दिखने की गतिविधि जोड़ें:
- अपने प्रोजेक्ट में
app
फ़ोल्डर पर राइट क्लिक करें. नया > Google > Google Maps पर दिखने की गतिविधि चुनें.
नई Android गतिविधि डायलॉग बॉक्स में, लॉन्चर गतिविधि चेकबॉक्स चुनें.
पूरा करें चुनें.
ज़्यादा जानकारी के लिए, टेंप्लेट से कोड जोड़ना लेख पढ़ें
- अपने प्रोजेक्ट में
बिल्ड पूरा होने के बाद, Android Studio
AndroidManifest.xml
औरMapsActivity
फ़ाइलें खोलता है. आपकी गतिविधि का नाम अलग हो सकता है, लेकिन यह वही नाम है जिसे आपने सेटअप के दौरान कॉन्फ़िगर किया था.
अपना Google Cloud प्रोजेक्ट सेट अप करना
Cloud Console को सेटअप करने के लिए, यहां दिए गए टैब पर क्लिक करें:
चरण 1
कंसोल
-
नया Cloud प्रोजेक्ट बनाने के लिए, Google Cloud Console में प्रोजेक्ट चुनने वाले पेज पर, प्रोजेक्ट बनाएं पर क्लिक करें.
-
पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू हो. पुष्टि करें कि आपके प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है.
Google Cloud, बिना किसी शुल्क के आज़माने की सुविधा देता है. मुफ़्त में आज़माने की अवधि 90 दिन या 300 डॉलर के शुल्क के बाद खत्म हो जाएगी. इनमें से जो भी पहले होगा. सदस्यता को किसी भी समय रद्द किया जा सकता है. Google Maps Platform पर हर महीने 200 डॉलर का क्रेडिट मिलता है. ज़्यादा जानकारी के लिए, बिलिंग खाते के क्रेडिट और बिलिंग देखें.
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 टूल इंस्टॉल करने , और इन निर्देशों के बारे में ज़्यादा पढ़ें:
तीसरा चरण
इस चरण में सिर्फ़ एपीआई पासकोड बनाने की प्रोसेस शामिल होती है. अगर प्रोडक्शन में एपीआई पासकोड का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि आप एपीआई पासकोड पर पाबंदी लगाएं. ज़्यादा जानकारी के लिए, प्रॉडक्ट के हिसाब से एपीआई पासकोड का इस्तेमाल पेज पर जाएं.
एपीआई पासकोड एक यूनीक आइडेंटिफ़ायर होता है. इसका इस्तेमाल, आपके प्रोजेक्ट से जुड़े अनुरोधों की पुष्टि करने के लिए किया जाता है. आपके पास अपने प्रोजेक्ट से जुड़ी कम से कम एक एपीआई कुंजी होनी चाहिए.
एपीआई पासकोड बनाने के लिए:
कंसोल
-
Google Maps Platform > क्रेडेंशियल पेज पर जाएं.
-
क्रेडेंशियल पेज पर, क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें.
एपीआई पासकोड बनाया गया डायलॉग बॉक्स में, आपका नया एपीआई पासकोड दिखता है. -
बंद करें पर क्लिक करें.
नया एपीआई पासकोड, क्रेडेंशियल पेज पर एपीआई पासकोड में दिखता है.
(प्रोडक्शन में इस्तेमाल करने से पहले, एपीआई पासकोड पर पाबंदी लगाना न भूलें.)
Cloud SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Google Cloud SDK , Cloud SDK टूल इंस्टॉल करने , और इन निर्देशों के बारे में ज़्यादा पढ़ें:
अपने ऐप्लिकेशन में एपीआई कुंजी जोड़ना
इस सेक्शन में, एपीआई पासकोड को सेव करने का तरीका बताया गया है, ताकि आपका ऐप्लिकेशन उसका सुरक्षित तरीके से इस्तेमाल कर सके. आपको अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड को सेव नहीं करना चाहिए. इसलिए, हमारा सुझाव है कि आप इसे secrets.properties
फ़ाइल में सेव करें. यह फ़ाइल, आपके प्रोजेक्ट की रूट डायरेक्ट्री में होती है. secrets.properties
फ़ाइल के बारे में ज़्यादा जानने के लिए, Gradle प्रॉपर्टी फ़ाइलें देखें.
हमारा सुझाव है कि इस काम को आसान बनाने के लिए, आप Android के लिए Secrets Gradle प्लग इन का इस्तेमाल करें.
अपने Google Maps प्रोजेक्ट में, Android के लिए Secrets Gradle प्लग इन इंस्टॉल करने के लिए:
-
Android Studio में, अपनी टॉप-लेवल
build.gradle.kts
याbuild.gradle
फ़ाइल खोलें औरbuildscript
के नीचे मौजूदdependencies
एलिमेंट में यह कोड जोड़ें.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 पर सेट किया गया हो. - फ़ाइल सेव करें और अपने प्रोजेक्ट को Gradle के साथ सिंक करें.
-
अपनी टॉप-लेवल डायरेक्ट्री में
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-आधारित एपीआई की पुष्टि करने के लिए किया जा सकता है. इनमें Maps SDK for Android भी शामिल है. पुराने सिस्टम के साथ काम करने की सुविधा के लिए, एपीआई में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 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.*" }
कोड देखें
टेंप्लेट से मिले कोड की जांच करें. खास तौर पर, अपने Android Studio प्रोजेक्ट में ये फ़ाइलें देखें.
Maps पर की गई गतिविधि की फ़ाइल
Maps ऐक्टिविटी फ़ाइल, ऐप्लिकेशन की मुख्य ऐक्टिविटी होती है. इसमें मैप को मैनेज और दिखाने के लिए कोड होता है. डिफ़ॉल्ट रूप से, गतिविधि की जानकारी देने वाली फ़ाइल का नाम MapsActivity.java
होता है. अगर आपने अपने ऐप्लिकेशन के लिए Kotlin को भाषा के तौर पर सेट किया है, तो फ़ाइल का नाम MapsActivity.kt
होगा.
Maps पर की गई गतिविधि के मुख्य एलिमेंट:
SupportMapFragment
ऑब्जेक्ट, मैप के लाइफ़साइकल को मैनेज करता है. साथ ही, यह ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) का पैरंट एलिमेंट होता है.GoogleMap
ऑब्जेक्ट, मैप डेटा और व्यू का ऐक्सेस देता है. यह Android के लिए Maps SDK टूल की मुख्य क्लास है. मैप ऑब्जेक्ट की गाइड में,SupportMapFragment
औरGoogleMap
ऑब्जेक्ट के बारे में ज़्यादा जानकारी दी गई है.moveCamera
फ़ंक्शन, मैप को ऑस्ट्रेलिया के सिडनी केLatLng
निर्देशांकों पर सेंटर में ले जाता है. आम तौर पर, मैप जोड़ते समय सबसे पहले मैप की जगह और कैमरे की सेटिंग कॉन्फ़िगर की जाती हैं. जैसे, व्यू ऐंगल, मैप का ओरिएंटेशन, और ज़ूम लेवल. ज़्यादा जानकारी के लिए, कैमरा और व्यू गाइड देखें.addMarker
फ़ंक्शन, सिडनी के निर्देशांकों में मार्कर जोड़ता है. ज़्यादा जानकारी के लिए, मार्कर गाइड देखें.
मॉड्यूल की Gradle फ़ाइल
मॉड्यूल build.gradle.kts
फ़ाइल में, Maps की यह डिपेंडेंसी शामिल है. Android के लिए Maps SDK टूल को इसके लिए ज़रूरत होती है.
dependencies { // Maps SDK for Android implementation("com.google.android.gms:play-services-maps:19.0.0") }
Maps की डिपेंडेंसी को मैनेज करने के बारे में ज़्यादा जानने के लिए, वर्शनिंग देखें.
एक्सएमएल लेआउट फ़ाइल
activity_maps.xml
फ़ाइल, एक्सएमएल लेआउट फ़ाइल होती है. इसमें ऐप्लिकेशन के यूआई का स्ट्रक्चर तय होता है. फ़ाइल, res/layout
डायरेक्ट्री में मौजूद है.
activity_maps.xml
फ़ाइल में एक फ़्रैगमेंट का एलान किया जाता है, जिसमें ये एलिमेंट शामिल होते हैं:
tools:context
, फ़्रैगमेंट की डिफ़ॉल्ट गतिविधि कोMapsActivity
पर सेट करता है.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 में, अपना ऐप्लिकेशन चलाने के लिए, चालू करें मेन्यू विकल्प (या 'चलाएं' बटन आइकॉन) पर क्लिक करें.
- कोई डिवाइस चुनने के लिए कहा जाने पर, इनमें से कोई एक विकल्प चुनें:
- वह Android डिवाइस चुनें जो आपके कंप्यूटर से कनेक्ट है.
- इसके अलावा, एमुलेटर लॉन्च करें रेडियो बटन चुनें और वह वर्चुअल डिवाइस चुनें जिसे आपने सेट अप किया है.
- ठीक है पर क्लिक करें. Android Studio, आपका ऐप्लिकेशन बनाने के लिए Gradle को शुरू करेगा. इसके बाद, वह आपके डिवाइस या एमुलेटर पर नतीजे दिखाएगा. ऐप्लिकेशन के खुलने में कुछ मिनट लग सकते हैं.
अगले चरण
मैप सेट अप करना: इस दस्तावेज़ में, मैप के लिए शुरुआती और रनटाइम सेटिंग सेट अप करने का तरीका बताया गया है. जैसे, कैमरे की पोज़िशन, मैप का टाइप, यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट, और जेस्चर.
अपने Android ऐप्लिकेशन में मैप जोड़ना (Kotlin): इस कोडलैब में, आपको एक ऐप्लिकेशन के बारे में बताया गया है. इसमें, Android के लिए Maps SDK टूल की कुछ अतिरिक्त सुविधाओं के बारे में बताया गया है.
Maps Android KTX लाइब्रेरी का इस्तेमाल करना: इस Kotlin एक्सटेंशन (KTX) लाइब्रेरी की मदद से, Android के लिए Maps SDK टूल का इस्तेमाल करते समय, Kotlin भाषा की कई सुविधाओं का फ़ायदा लिया जा सकता है.