Android Studio के लिए Google Maps व्यू टेंप्लेट का इस्तेमाल करके मैप दिखाने वाला Android ऐप्लिकेशन बनाएं. अगर आपके पास कोई मौजूदा Android Studio प्रोजेक्ट है, जिसे सेट अप करना है, तो Android Studio प्रोजेक्ट सेट अप करना देखें.
यह क्विकस्टार्ट, उन डेवलपर के लिए है जिन्हें Kotlin या Java के साथ Android की बुनियादी जानकारी है.
डेवलपमेंट एनवायरमेंट के बारे में जानकारी
इस क्विकस्टार्ट को Android Studio Hedgehog और Android gradle प्लगिन के वर्शन 8.2 का इस्तेमाल करके बनाया गया था.
Android डिवाइस सेट अप करें
Android के लिए Maps SDK टूल का इस्तेमाल करने वाले ऐप्लिकेशन को चलाने के लिए, आपको इसे किसी ऐसे Android डिवाइस या Android एम्युलेटर पर डिप्लॉय करना होगा जो Android 4.0 या इसके बाद वाले वर्शन पर आधारित हो और जिसमें Google API शामिल हो.
- Android डिवाइस का इस्तेमाल करने के लिए, हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाएं पर दिए गए निर्देशों का पालन करें.
- Android एम्युलेटर का इस्तेमाल करने के लिए, वर्चुअल डिवाइस बनाया जा सकता है. इसके बाद, Android Studio में मौजूद Android वर्चुअल डिवाइस (एवीडी) मैनेजर का इस्तेमाल करके, एम्युलेटर को इंस्टॉल किया जा सकता है.
Android Studio में Google Maps प्रोजेक्ट बनाना
Android Studio में Google Maps प्रोजेक्ट बनाने की प्रोसेस को फ़्लमिंगो और उसके बाद के वर्शन में Android Studio में बदला गया था.
Android Studio खोलें और Android Studio में आपका स्वागत है विंडो में, नया प्रोजेक्ट बनाएं पर क्लिक करें.
नया प्रोजेक्ट विंडो में, फ़ोन और टैबलेट कैटगरी में जाकर, कोई गतिविधि नहीं चुनें. इसके बाद, आगे बढ़ें पर क्लिक करें.
नया प्रोजेक्ट फ़ॉर्म भरें:
Language को Java या Kotlin पर सेट करें. दोनों भाषाएं Android के लिए Maps SDK पर पूरी तरह से काम करती हैं. Kotlin के बारे में ज़्यादा जानने के लिए, Kotlin की मदद से Android ऐप्लिकेशन डेवलप करना देखें.
SDK टूल के कम से कम लेवल को अपने टेस्ट डिवाइस के साथ काम करने वाले SDK टूल के वर्शन पर सेट करें. आपको Android 18.2.x के लिए Maps SDK के ज़रूरी वर्शन 18.2.x से बड़ा वर्शन चुनना होगा, जो Android API लेवल 19 ("KitKat"; Android 4.4) या उसके बाद का वर्शन है. SDK टूल के वर्शन की ज़रूरी शर्तों के बारे में नई जानकारी के लिए, रिलीज़ नोट देखें.
बिल्ड कॉन्फ़िगरेशन भाषा को Kotlin DSL या ग्रूवी डीएसएल पर सेट करें. नीचे दिए गए तरीकों में, दोनों बिल्ड कॉन्फ़िगरेशन भाषाओं के स्निपेट दिखाए गए हैं.
पूरा करें पर क्लिक करें.
Android Studio, Gradle शुरू करता है और प्रोजेक्ट बनाता है. इसमें थोड़ा समय लग सकता है.
Google मैप व्यू गतिविधि जोड़ें:
- अपने प्रोजेक्ट में
app
फ़ोल्डर पर राइट क्लिक करें. नया > Google > Google मैप दृश्य गतिविधि चुनें.
नई Android गतिविधि डायलॉग बॉक्स में, लॉन्चर गतिविधि चेकबॉक्स चुनें.
पूरा करें चुनें.
ज़्यादा जानकारी के लिए, टेंप्लेट से कोड जोड़ना लेख पढ़ें
- अपने प्रोजेक्ट में
बिल्ड पूरा होने के बाद, Android Studio
AndroidManifest.xml
औरMapsActivity
फ़ाइलें खोलता है. आपकी गतिविधि का कोई अलग नाम हो सकता है, लेकिन यह वही नाम है जिसे आपने सेटअप के दौरान कॉन्फ़िगर किया था.
Google Cloud प्रोजेक्ट को सेट अप करना
नीचे दिए गए टैब पर क्लिक करके, Cloud Console को सेटअप करने के ज़रूरी चरणों को पूरा करें:
पहला चरण
कंसोल
-
Google Cloud Console में, प्रोजेक्ट सिलेक्टर पेज पर, नया Cloud प्रोजेक्ट बनाने के लिए, प्रोजेक्ट बनाएं पर क्लिक करें.
-
पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू हो. यह पुष्टि करें कि आपके प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है.
Google Cloud, 0.00 डॉलर के शुल्क को मुफ़्त में आज़माने की सुविधा देता है. मुफ़्त में आज़माने की अवधि 90 दिनों के आखिर में या खाते पर 300 डॉलर का शुल्क जमा कर लेने के बाद खत्म हो जाएगी. इन दोनों में से जो भी पहले हो, उसकी समयसीमा खत्म हो जाएगी. इसे किसी भी समय रद्द किया जा सकता है. Google Maps Platform पर, हर महीने 200 डॉलर का क्रेडिट मिलता है. ज़्यादा जानकारी के लिए, बिलिंग खाता क्रेडिट और बिलिंग देखें.
Cloud SDK
gcloud projects create "PROJECT"
Google Cloud SDK टूल, Cloud SDK टूल इंस्टॉल करने और इन निर्देशों के बारे में ज़्यादा जानें:
दूसरा चरण
Google Maps Platform का इस्तेमाल करने के लिए, आपको उन एपीआई या SDK टूल को चालू करना होगा जिनका इस्तेमाल आपको अपने प्रोजेक्ट में करना है.
कंसोल
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 के लिए सीक्रेट ग्रेडल प्लगिन का इस्तेमाल करें.
अपने Google Maps प्रोजेक्ट में Android के लिए Secrets Gradle प्लग इन इंस्टॉल करने के लिए:
-
Android Studio में, अपनी टॉप लेवल
build.gradle
याbuild.gradle.kts
फ़ाइल खोलें औरbuildscript
में जाकर,dependencies
एलिमेंट में इस कोड को जोड़ें.ग्रूवी
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
एलिमेंट में यह कोड जोड़ें.ग्रूवी
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- अपनी मॉड्यूल-लेवल की
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}" />
Note:
com.google.android.geo.API_KEY
is the recommended metadata name for the API key. A key with this name can be used to authenticate to multiple Google Maps-based APIs on the Android platform, including the Maps SDK for Android. For backwards compatibility, the API also supports the namecom.google.android.maps.v2.API_KEY
. This legacy name allows authentication to the Android Maps API v2 only. An application can specify only one of the API key metadata names. If both are specified, the API throws an exception. -
In Android Studio, open your module-level
build.gradle
orbuild.gradle.kts
file and edit thesecrets
property. If thesecrets
property does not exist, add it.Edit the properties of the plugin to set
propertiesFileName
tosecrets.properties
, setdefaultPropertiesFileName
tolocal.defaults.properties
, and set any other properties.Groovy
secrets { // Optionally specify a different file name containing your secrets. // The plugin defaults to "local.properties" 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.*" }
Kotlin
secrets { // Optionally specify a different file name containing your secrets. // The plugin defaults to "local.properties" 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 पर की गई गतिविधि की जानकारी देने वाली फ़ाइल
मैप गतिविधि फ़ाइल, ऐप्लिकेशन की मुख्य गतिविधि होती है. इसमें मैप को मैनेज करने और दिखाने के लिए कोड होता है. डिफ़ॉल्ट रूप से, गतिविधि के बारे में बताने वाली फ़ाइल का नाम
MapsActivity.java
होता है या अगर आपने Kotlin को अपने ऐप्लिकेशनMapsActivity.kt
की भाषा के तौर पर सेट किया है.मैप गतिविधि के मुख्य एलिमेंट:
SupportMapFragment
ऑब्जेक्ट, मैप की लाइफ़साइकल मैनेज करता है और यह ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) का पैरंट एलिमेंट होता है.GoogleMap
ऑब्जेक्ट, मैप के डेटा और व्यू का ऐक्सेस देता है. यह Android के लिए Maps SDK टूल का मुख्य क्लास है. मैप ऑब्जेक्ट गाइड में,SupportMapFragment
औरGoogleMap
ऑब्जेक्ट के बारे में ज़्यादा जानकारी दी गई है.moveCamera
फ़ंक्शन, मैप को सिडनी ऑस्ट्रेलिया केLatLng
निर्देशांक पर सेंटर करता है. मैप जोड़ते समय पहली सेटिंग कॉन्फ़िगर की जानी चाहिए. आम तौर पर, इसमें मैप की जगह की जानकारी और कैमरे की सेटिंग होती हैं, जैसे कि व्यू देखना, मैप का ओरिएंटेशन, और ज़ूम लेवल. ज़्यादा जानकारी के लिए, कैमरा और व्यू गाइड देखें.addMarker
फ़ंक्शन, सिडनी के निर्देशांकों में एक मार्कर जोड़ता है. ज़्यादा जानकारी के लिए, मार्कर गाइड देखें.
मॉड्यूल Gradle फ़ाइल
मॉड्यूल
build.gradle
फ़ाइल में, नीचे दी गई मैप डिपेंडेंसी शामिल हैं, जो Android के लिए Maps SDK टूल के लिए ज़रूरी है.dependencies { // Maps SDK for Android implementation 'com.google.android.gms:play-services-maps:18.2.0' }
Maps की डिपेंडेंसी मैनेज करने के बारे में ज़्यादा जानने के लिए, वर्शन देखें.
एक्सएमएल लेआउट फ़ाइल
activity_maps.xml
फ़ाइल, एक्सएमएल लेआउट फ़ाइल होती है, जो ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के स्ट्रक्चर के बारे में बताती है. यह फ़ाइल,res/layout
डायरेक्ट्री में मौजूद है.activity_maps.xml
फ़ाइल ऐसे फ़्रैगमेंट के बारे में बताती है जिसमें ये एलिमेंट शामिल होते हैं:tools:context
, फ़्रैगमेंट की डिफ़ॉल्ट गतिविधि कोMapsActivity
पर सेट करता है. इसकी जानकारी, Maps पर की गई गतिविधि की फ़ाइल में दी गई है.android:name
फ़्रैगमेंट की क्लास के नाम कोSupportMapFragment
पर सेट करता है. यह मैप ऐक्टिविटी फ़ाइल में इस्तेमाल किया जाने वाला फ़्रैगमेंट टाइप है.
एक्सएमएल लेआउट फ़ाइल में यह कोड शामिल होता है:
<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) लाइब्रेरी से, Maps SDK टूल का इस्तेमाल करते समय Kotlin भाषा की कई सुविधाओं का फ़ायदा लिया जा सकता है.
जब तक कुछ अलग से न बताया जाए, तब तक इस पेज की सामग्री को Creative Commons Attribution 4.0 License के तहत और कोड के नमूनों को Apache 2.0 License के तहत लाइसेंस मिला है. ज़्यादा जानकारी के लिए, Google Developers साइट नीतियां देखें. Oracle और/या इससे जुड़ी हुई कंपनियों का, Java एक रजिस्टर किया हुआ ट्रेडमार्क है.
आखिरी बार 2024-03-22 (UTC) को अपडेट किया गया.
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"वह जानकारी मौजूद नहीं है जो मुझे चाहिए" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"बहुत मुश्किल है / बहुत सारे चरण हैं" },{ "type": "thumb-down", "id": "outOfDate", "label":"पुराना" },{ "type": "thumb-down", "id": "translationIssue", "label":"अनुवाद से जुड़ी समस्या" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"सैंपल / कोड से जुड़ी समस्या" },{ "type": "thumb-down", "id": "otherDown", "label":"अन्य" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"समझने में आसान है" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"मेरी समस्या हल हो गई" },{ "type": "thumb-up", "id": "otherUp", "label":"अन्य" }]