Android क्विकस्टार्ट के लिए Maps SDK टूल

Android Studio के लिए Google Maps व्यू टेंप्लेट का इस्तेमाल करके, मैप दिखाने वाला Android ऐप्लिकेशन बनाएं. अगर आपको किसी मौजूदा Android Studio प्रोजेक्ट को सेट अप करना है, तो Android Studio प्रोजेक्ट सेट अप करना लेख पढ़ें.

यह क्विकस्टार्ट उन डेवलपर के लिए है जिन्हें Kotlin या Java का इस्तेमाल करके, Android ऐप्लिकेशन बनाने की बुनियादी जानकारी है.

डेवलपमेंट एनवायरमेंट के बारे में जानकारी

इस क्विकस्टार्ट को Android Studio Hedgehog और Android Gradle प्लगिन के वर्शन 8.2 का इस्तेमाल करके डेवलप किया गया है.

Android डिवाइस सेट अप करना

Android के लिए Maps SDK का इस्तेमाल करने वाले ऐप्लिकेशन को चलाने के लिए, आपको उसे Android 6.0 या इसके बाद के वर्शन पर आधारित Android डिवाइस या Android Emulator पर डिप्लॉय करना होगा. साथ ही, उसमें Google APIs शामिल होने चाहिए.

  • Android डिवाइस का इस्तेमाल करने के लिए, हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाएं में दिए गए निर्देशों का पालन करें.
  • Android एम्युलेटर का इस्तेमाल करने के लिए, वर्चुअल डिवाइस बनाया जा सकता है. साथ ही, Android Studio के साथ आने वाले Android वर्चुअल डिवाइस (AVD) मैनेजर का इस्तेमाल करके, एम्युलेटर इंस्टॉल किया जा सकता है.

Android Studio में Google Maps प्रोजेक्ट बनाना

Android Studio के फ़्लेमिंगो वर्शन और इसके बाद के वर्शन में, Android Studio में Google Maps प्रोजेक्ट बनाने का तरीका बदल गया है.

  1. Android Studio खोलें. इसके बाद, Android Studio में आपका स्वागत है विंडो में, नया प्रोजेक्ट पर क्लिक करें.

  2. New Project विंडो में, Phone and Tablet कैटगरी में जाकर, No Activity चुनें. इसके बाद, Next पर क्लिक करें.

  3. नया प्रोजेक्ट फ़ॉर्म भरें:

    • भाषा को Java या Kotlin पर सेट करें. Android के लिए Maps SDK टूल, दोनों भाषाओं के साथ काम करता है. Kotlin के बारे में ज़्यादा जानने के लिए, Kotlin की मदद से Android ऐप्लिकेशन डेवलप करना लेख पढ़ें.

    • एसडीके का कम से कम वर्शन, एसडीके के ऐसे वर्शन पर सेट करें जो टेस्ट के लिए इस्तेमाल किए जा रहे डिवाइस के साथ काम करता हो. आपको Android के लिए Maps SDK के वर्शन 20.0.x के लिए ज़रूरी कम से कम वर्शन से बड़ा वर्शन चुनना होगा. यह वर्शन, Android एपीआई लेवल 23 ("Marshmallow"; Android 6.0) या इसके बाद का वर्शन है. एसडीके टूल के वर्शन की ज़रूरी शर्तों के बारे में नई जानकारी पाने के लिए, रिलीज़ नोट देखें.

    • बिल्ड कॉन्फ़िगरेशन की भाषा को Kotlin DSL या Groovy DSL पर सेट करें. यहां दी गई प्रोसेस में, बिल्ड कॉन्फ़िगरेशन की दोनों भाषाओं के स्निपेट दिखाए गए हैं.

  4. पूरा करें पर क्लिक करें.

    Android Studio, Gradle को शुरू करता है और प्रोजेक्ट को बिल्ड करता है. इसमें थोड़ा समय लग सकता है.

  5. Google Maps पर व्यू की गतिविधि जोड़ें:

    1. अपने प्रोजेक्ट में मौजूद app फ़ोल्डर पर राइट क्लिक करें.
    2. नया > Google > Google Maps व्यू ऐक्टिविटी को चुनें.

      Maps पर की गई गतिविधि जोड़ें.

    3. नई Android गतिविधि डायलॉग बॉक्स में, लॉन्चर गतिविधि चेकबॉक्स चुनें.

    4. पूरा करें चुनें.

      ज़्यादा जानकारी के लिए, टेंप्लेट से कोड जोड़ना लेख पढ़ें

  6. बिल्ड पूरा होने पर, Android Studio AndroidManifest.xml और MapsActivity फ़ाइलें खोलता है. आपकी गतिविधि का नाम अलग हो सकता है. हालांकि, यह वही गतिविधि है जिसे आपने सेटअप के दौरान कॉन्फ़िगर किया था.

Google Cloud प्रोजेक्ट सेट अप करना

Cloud Console में सेटअप से जुड़े ज़रूरी चरण पूरे करें. इसके लिए, यहां दिए गए टैब पर क्लिक करें:

चरण 1

कंसोल

  1. Google Cloud console में, प्रोजेक्ट चुनने वाले पेज पर, प्रोजेक्ट बनाएं पर क्लिक करें. इससे नया Cloud प्रोजेक्ट बनाने की प्रोसेस शुरू हो जाएगी.

    प्रोजेक्ट चुनने वाले पेज पर जाएं

  2. पक्का करें कि आपके क्लाउड प्रोजेक्ट के लिए बिलिंग की सुविधा चालू हो. पुष्टि करें कि आपके प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है.

    Google Cloud को बिना किसी शुल्क के आज़माया जा सकता है. बिना शुल्क आज़माने की अवधि 90 दिनों के बाद खत्म हो जाती है. इसके अलावा, अगर खाते में 300 डॉलर का शुल्क लग जाता है, तो भी यह अवधि खत्म हो जाती है. इन दोनों में से जो भी स्थिति पहले आती है उसके हिसाब से अवधि खत्म हो जाती है. सदस्यता को कभी भी रद्द करें. ज़्यादा जानकारी के लिए, बिलिंग खाते के क्रेडिट और बिलिंग लेख पढ़ें.

Cloud SDK

gcloud projects create "PROJECT"

Google Cloud SDK , Cloud SDK इंस्टॉल करना , और इन कमांड के बारे में ज़्यादा जानें:

चरण 2

Google Maps Platform का इस्तेमाल करने के लिए, आपको वे एपीआई या एसडीके चालू करने होंगे जिनका इस्तेमाल आपको अपने प्रोजेक्ट के साथ करना है.

कंसोल

Android के लिए Maps SDK टूल चालू करना

Cloud SDK

gcloud services enable \
    --project "PROJECT" \
    "maps-android-backend.googleapis.com"

Google Cloud SDK, Cloud SDK को इंस्टॉल करने, और इन कमांड के बारे में ज़्यादा जानें:

तीसरा चरण

इस चरण में, सिर्फ़ एपीआई पासकोड बनाने की प्रोसेस पूरी की जाती है. अगर प्रोडक्शन में एपीआई पासकोड का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि आप एपीआई पासकोड को सीमित करें. ज़्यादा जानकारी के लिए, प्रॉडक्ट के हिसाब से बने एपीआई पासकोड का इस्तेमाल करना पेज पर जाएं.

एपीआई पासकोड एक यूनीक आइडेंटिफ़ायर है. यह इस्तेमाल और बिलिंग के मकसद से, आपके प्रोजेक्ट से जुड़े अनुरोधों की पुष्टि करता है. आपके प्रोजेक्ट से कम से कम एक एपीआई पासकोड जुड़ा होना चाहिए.

एपीआई पासकोड बनाने के लिए:

कंसोल

  1. Google Maps Platform > क्रेडेंशियल पेज पर जाएं.

    क्रेडेंशियल पेज पर जाएं

  2. क्रेडेंशियल पेज पर, क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें.
    एपीआई पासकोड बनाया गया डायलॉग बॉक्स में, आपका नया एपीआई पासकोड दिखता है.
  3. बंद करें पर क्लिक करें.
    नया एपीआई पासकोड, क्रेडेंशियल पेज पर एपीआई पासकोड सेक्शन में दिखता है.
    (प्रोडक्शन में इसका इस्तेमाल करने से पहले, एपीआई पासकोड को सीमित करना न भूलें.)

Cloud SDK

gcloud services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

Google Cloud SDK, Cloud SDK को इंस्टॉल करने, और इन कमांड के बारे में ज़्यादा जानें:

अपने ऐप्लिकेशन में एपीआई पासकोड जोड़ना

इस सेक्शन में, एपीआई पासकोड को सेव करने का तरीका बताया गया है, ताकि आपका ऐप्लिकेशन इसे सुरक्षित तरीके से रेफ़र कर सके. आपको अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच नहीं करनी चाहिए. इसलिए, हम इसे secrets.properties फ़ाइल में सेव करने का सुझाव देते हैं. यह फ़ाइल, आपके प्रोजेक्ट की रूट डायरेक्ट्री में मौजूद होती है. secrets.properties फ़ाइल के बारे में ज़्यादा जानने के लिए, Gradle प्रॉपर्टी फ़ाइलें देखें.

इस टास्क को आसान बनाने के लिए, हमारा सुझाव है कि आप Android के लिए सीक्रेट ग्रेडल प्लग इन का इस्तेमाल करें.

Android के लिए Secrets Gradle Plugin इंस्टॉल करने और अपना एपीआई पासकोड सेव करने के लिए:

  1. Android Studio में, अपनी रूट-लेवल build.gradle फ़ाइल खोलें. इसके बाद, 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")
        }
    }
  2. ऐप्लिकेशन-लेवल की build.gradle फ़ाइल खोलें और plugins एलिमेंट में यह कोड जोड़ें.

    ग्रूवी

    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")
    }
  3. अगर Android Studio का इस्तेमाल किया जा रहा है, तो अपने प्रोजेक्ट को Gradle के साथ सिंक करें.
  4. अपने प्रोजेक्ट लेवल की डायरेक्ट्री में local.properties खोलें. इसके बाद, यह कोड जोड़ें. YOUR_API_KEY को अपने एपीआई पासकोड से बदलें.
    MAPS_API_KEY=YOUR_API_KEY
  5. अपनी 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 प्रोजेक्ट में इन फ़ाइलों को देखें.

Maps पर की गई गतिविधि की फ़ाइल

MapsActivity फ़ाइल, ऐप्लिकेशन की मुख्य गतिविधि होती है. इसमें मैप को मैनेज करने और दिखाने का कोड होता है. डिफ़ॉल्ट रूप से, गतिविधि को तय करने वाली फ़ाइल का नाम MapsActivity.java होता है. अगर आपने अपने ऐप्लिकेशन के लिए Kotlin को भाषा के तौर पर सेट किया है, तो फ़ाइल का नाम MapsActivity.kt होगा.

Maps पर की गई गतिविधि के मुख्य एलिमेंट:

  • SupportMapFragment ऑब्जेक्ट, मैप की लाइफ़साइकल को मैनेज करता है. साथ ही, यह ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) का पैरंट एलिमेंट होता है.

  • GoogleMap ऑब्जेक्ट, मैप के डेटा और व्यू को ऐक्सेस करने की सुविधा देता है. यह Android के लिए Maps SDK की मुख्य क्लास है. मैप के लिए ऑब्जेक्ट गाइड में, SupportMapFragment और GoogleMap ऑब्जेक्ट के बारे में ज़्यादा जानकारी दी गई है.

  • moveCamera फ़ंक्शन, मैप को ऑस्ट्रेलिया के सिडनी शहर के LatLng निर्देशांकों के हिसाब से सेंटर में लाता है. मैप जोड़ते समय, आम तौर पर मैप की जगह और कैमरे की सेटिंग कॉन्फ़िगर की जाती हैं. जैसे, देखने का ऐंगल, मैप का ओरिएंटेशन, और ज़ूम लेवल. ज़्यादा जानकारी के लिए, कैमरा और व्यू गाइड देखें.

  • addMarker फ़ंक्शन, सिडनी के निर्देशांकों में एक मार्कर जोड़ता है. ज़्यादा जानकारी के लिए, मार्कर गाइड देखें.

मॉड्यूल Gradle फ़ाइल

Module build.gradle.kts फ़ाइल में, मैप की यह डिपेंडेंसी शामिल होती है. यह Android के लिए Maps SDK के लिए ज़रूरी है.

dependencies {

    // Maps SDK for Android
    implementation(libs.play.services.maps)
}

Maps की डिपेंडेंसी को मैनेज करने के बारे में ज़्यादा जानने के लिए, वर्शनिंग देखें.

एक्सएमएल लेआउट फ़ाइल

activity_maps.xml फ़ाइल, एक्सएमएल लेआउट फ़ाइल होती है. यह ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के स्ट्रक्चर को तय करती है. यह फ़ाइल, res/layout डायरेक्ट्री में मौजूद होती है. activity_maps.xml फ़ाइल, एक फ़्रैगमेंट का एलान करती है. इसमें ये एलिमेंट शामिल होते हैं:

  • tools:context, फ़्रैगमेंट की डिफ़ॉल्ट गतिविधि को MapsActivity पर सेट करता है. इसे Maps की गतिविधि वाली फ़ाइल में तय किया जाता है.
  • android:name फ़्रैगमेंट के क्लास का नाम SupportMapFragment पर सेट करता है. यह फ़्रैगमेंट टाइप, maps activity फ़ाइल में इस्तेमाल किया जाता है.

एक्सएमएल लेआउट फ़ाइल में यह कोड शामिल है:

<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" />

ऐप्लिकेशन को डिप्लॉय और रन करना

ऑस्ट्रेलिया के सिडनी शहर पर फ़ोकस करने वाला मैप और मार्कर दिखाने वाला स्क्रीनशॉट.

ऐप्लिकेशन को सही तरीके से चलाने पर, आपको एक मैप दिखेगा. इस मैप का केंद्र सिडनी, ऑस्ट्रेलिया होगा. साथ ही, शहर पर एक मार्कर दिखेगा, जैसा कि इस स्क्रीनशॉट में दिखाया गया है.

ऐप्लिकेशन को डिप्लॉय और रन करने के लिए:

  1. Android Studio में, अपना ऐप्लिकेशन चलाने के लिए, Run मेन्यू विकल्प (या प्ले बटन आइकॉन) पर क्लिक करें.
  2. डिवाइस चुनने के लिए कहा जाने पर, इनमें से कोई एक विकल्प चुनें:
    • अपने कंप्यूटर से कनेक्ट किया गया Android डिवाइस चुनें.
    • इसके अलावा, एम्युलेटर लॉन्च करें रेडियो बटन को चुनें. इसके बाद, सेट अप किया गया वर्चुअल डिवाइस चुनें.
  3. ठीक है पर क्लिक करें. Android Studio, आपके ऐप्लिकेशन को बनाने के लिए Gradle को शुरू करेगा. इसके बाद, आपके डिवाइस या एम्युलेटर पर नतीजे दिखाएगा. ऐप्लिकेशन को लॉन्च होने में कुछ मिनट लग सकते हैं.

अगले चरण

  • मैप सेट अप करना: इस दस्तावेज़ में बताया गया है कि मैप के लिए शुरुआती और रनटाइम सेटिंग कैसे सेट अप करें. जैसे, कैमरे की पोज़िशन, मैप का टाइप, यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट, और जेस्चर.

  • अपने Android ऐप्लिकेशन (Kotlin) में मैप जोड़ना: इस कोडलैब में, आपको एक ऐसे ऐप्लिकेशन के बारे में बताया गया है जो Android के लिए Maps SDK की कुछ अतिरिक्त सुविधाओं के बारे में बताता है.

  • Maps Android KTX लाइब्रेरी का इस्तेमाल करें: इस Kotlin एक्सटेंशन (KTX) लाइब्रेरी की मदद से, Android के लिए Maps SDK का इस्तेमाल करते समय, Kotlin भाषा की कई सुविधाओं का फ़ायदा लिया जा सकता है.