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

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

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

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

हमारा सुझाव है कि Android Studio और Android Gradle प्लग इन के सबसे नए स्टेबल वर्शन का इस्तेमाल करें.

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

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

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

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

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

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

  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 Views Activity जोड़ें:

    1. अपने प्रोजेक्ट में, app फ़ोल्डर पर राइट क्लिक करें.
    2. नया > Google > Google Maps Views Activity को चुनें.

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

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

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

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

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

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

Cloud Console को सेट अप करने के लिए ज़रूरी चरण पूरे करें. इसके लिए, इन टैब पर क्लिक करें:

पहला चरण

कंसोल

  1. Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर, प्रोजेक्ट बनाएं पर क्लिक करके, नया Cloud प्रोजेक्ट बनाना शुरू करें.

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

  2. पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. पुष्टि करें कि आपके प्रोजेक्ट के लिए बिलिंग चालू है.

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

Cloud SDK

gcloud projects create "PROJECT"

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

दूसरा चरण

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 फ़ाइल में सेव करें और उस फ़ाइल को वर्शन कंट्रोल से बाहर रखें. Gradle प्रॉपर्टी फ़ाइलों के बारे में ज़्यादा जानकारी के लिए, देखें Gradle प्रॉपर्टी फ़ाइलें.

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

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

  1. 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
    }

    Groovy

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
    }
  2. मॉड्यूल-लेवल की build.gradle.kts या build.gradle फ़ाइल खोलें और plugins एलिमेंट में यह कोड जोड़ें.

    Kotlin

    plugins {
        id("com.android.application")
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }

    Groovy

    plugins {
        id 'com.android.application'
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }
  3. अगर Android Studio का इस्तेमाल किया जा रहा है, तो अपने प्रोजेक्ट को Gradle के साथ सिंक करें.
  4. टॉप-लेवल की डायरेक्ट्री में मौजूद secrets.properties फ़ाइल खोलें. इसके बाद, यह कोड जोड़ें. YOUR_API_KEY को अपने एपीआई पासकोड से बदलें. अपनी .gitignore फ़ाइल में secrets.properties ज़रूर जोड़ें. इसके अलावा, इसे अपने वर्शन कंट्रोल सिस्टम से बाहर रखें, ताकि एपीआई पासकोड को वर्शन कंट्रोल में शामिल न किया जा सके.
    MAPS_API_KEY=YOUR_API_KEY
  5. टॉप-लेवल की डायरेक्ट्री में, secrets.properties फ़ाइल वाले फ़ोल्डर में ही local.defaults.properties फ़ाइल बनाएं. इसके बाद, यह कोड जोड़ें.

    MAPS_API_KEY=DEFAULT_API_KEY

    इस फ़ाइल का मकसद, एपीआई पासकोड के लिए बैकअप लोकेशन उपलब्ध कराना है. ऐसा इसलिए, ताकि अगर secrets.properties फ़ाइल न मिले, तो बिल्ड में कोई गड़बड़ी न हो. ऐसा तब हो सकता है, जब आपने किसी वर्शन कंट्रोल सिस्टम से ऐप्लिकेशन को क्लोन किया हो. इस सिस्टम में secrets.properties फ़ाइल शामिल नहीं है. साथ ही, आपने एपीआई पासकोड उपलब्ध कराने के लिए, स्थानीय तौर पर secrets.properties फ़ाइल नहीं बनाई है.

  6. अपनी 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 की पुष्टि की जा सकती है. कोई ऐप्लिकेशन, एपीआई पासकोड के मेटाडेटा के सिर्फ़ एक नाम की जानकारी दे सकता है. अगर दोनों नाम की जानकारी दी जाती है, तो एपीआई में गड़बड़ी की जानकारी मिलती है.

  7. 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"
    }

    Groovy

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

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

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

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

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

  • The 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)
}

Groovy

dependencies {

    // Maps SDK for Android
    implementation "com.google.android.gms:play-services-maps:20.0.0"
}

अगर आपका प्रोजेक्ट, Gradle वर्शन कैटलॉग (gradle/libs.versions.toml) का इस्तेमाल करता है, तो play-services-maps डिपेंडेंसी को libs.versions.toml में तय करें:

[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 activity फ़ाइल में तय किया जाता है.
  • 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" />

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

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

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

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

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

अगले चरण

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

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

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