सेटअप

इस पेज पर बताया गया है कि Android के लिए Maps 3D SDK का इस्तेमाल करके, ऐप्लिकेशन बनाना शुरू करने के लिए आपको क्या करना होगा. सेटअप की प्रोसेस में, एसडीके के साथ इस्तेमाल करने के लिए Google Cloud प्रोजेक्ट और एपीआई को कॉन्फ़िगर करना शामिल है. इसके बाद, Android Studio प्रोजेक्ट सेट अप करना होता है. अपने ऐप्लिकेशन में पहला 3D मैप जोड़ने से पहले, यह तरीका अपनाएं.

ज़रूरी शर्तें

Maps 3D SDK for Android का इस्तेमाल करने के लिए, आपके प्रोजेक्ट और टारगेट डिवाइसों को ये ज़रूरी शर्तें पूरी करनी होंगी:

  • कम से कम एपीआई लेवल: Android एपीआई लेवल 24 (Android 7.0) या इसके बाद का वर्शन. आपके ऐप्लिकेशन को 24 या इसके बाद के minSdk को टारगेट करना होगा.
  • Google Play services: Android के लिए Maps 3D SDK, Google Play services पर निर्भर करता है. टारगेट डिवाइसों (और Google API वाले एम्युलेटर) पर Google Play services इंस्टॉल होना चाहिए.

Google Cloud प्रोजेक्ट और एपीआई पासकोड सेट अप करना

Maps 3D SDK for Android का इस्तेमाल करके ऐप्लिकेशन बनाना शुरू करने से पहले, आपको Google Cloud प्रोजेक्ट और एपीआई पासकोड सेट अप करना होगा. इसके लिए, यह तरीका अपनाएं:

पहला चरण: अपना प्रोजेक्ट सेट अप करना

कंसोल

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

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

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

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

Cloud SDK

gcloud projects create "PROJECT"

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

दूसरा चरण: एपीआई या एसडीके चालू करना

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

ध्यान दें कि कुछ इंटिग्रेशन के लिए, आपको कई एपीआई/एसडीके चालू करने होंगे. अगर आपको नहीं पता कि कौनसे एपीआई या एसडीके चालू करने हैं, तो Capabilities Explorer का इस्तेमाल करके देखें. इसके अलावा, उस एपीआई/एसडीके का दस्तावेज़ देखें जिसका आपको इस्तेमाल करना है.

एक या इससे ज़्यादा एपीआई या एसडीके चालू करने के लिए:

कंसोल

  1. Cloud Console में Maps API लाइब्रेरी पेज पर जाकर, Google Maps Platform के उन एपीआई और एसडीके टूल को देखें जिन्हें चालू किया जा सकता है:

    Maps API लाइब्रेरी पेज पर जाएं

  2. उस एपीआई या एसडीके पर क्लिक करें जिसे आपको चालू करना है.
    • अगर बटन पर चालू करें लिखा है, तो एपीआई या एसडीके को चालू करने के लिए बटन पर क्लिक करें.
    • अगर बटन पर मैनेज करें लिखा है, तो इसका मतलब है कि एपीआई या एसडीके पहले से चालू है और आपको कुछ और करने की ज़रूरत नहीं है.
    • इनमें से किसी भी बटन पर क्लिक करने से, एपीआई या एसडीके का डैशबोर्ड दिखेगा. (इस प्रोजेक्ट से एपीआई या एसडीके को हटाने के लिए, बंद करें बटन पर क्लिक करें.)

Cloud SDK

इस निर्देश से Maps, Routes, और Places के सभी एपीआई चालू हो जाते हैं:

gcloud services enable \
    --project "PROJECT" \
    "addressvalidation.googleapis.com" \
    "areainsights.googleapis.com" \
    "tile.googleapis.com" \
    "aerialview.googleapis.com" \
    "elevation-backend.googleapis.com" \
    "routes.googleapis.com" \
    "geocoding-backend.googleapis.com" \
    "geolocation.googleapis.com" \
    "maps-android-backend.googleapis.com" \
    "maps-backend.googleapis.com" \
    "maps-embed-backend.googleapis.com" \
    "maps-ios-backend.googleapis.com" \
    "mapsplatformdatasets.googleapis.com" \
    "places-backend.googleapis.com" \
    "roads.googleapis.com" \
    "routeoptimization.googleapis.com" \
    "static-maps-backend.googleapis.com" \
    "street-view-image-backend.googleapis.com" \
    "timezone-backend.googleapis.com"

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

Environment API चालू करने के लिए, इस निर्देश का इस्तेमाल करें:

gcloud services enable \
    --project "PROJECT" \
    "airquality.googleapis.com" \
    "solar.googleapis.com" \
    "pollen.googleapis.com" \
    "weather.googleapis.com"

तीसरा चरण: एपीआई पासकोड पाना

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

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

कंसोल

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

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

  2. अगर कहा जाए, तो अपना प्रोजेक्ट चुनें.
  3. इनमें से कोई एक काम करें:

    • नई कुंजी बनाना:

      1. क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें.
      2. एपीआई पासकोड बनाएं पैनल में, एपीआई से जुड़ी पाबंदियां चुनें सूची खोलें.
      3. इस कुंजी के लिए जिन एपीआई की ज़रूरत नहीं है उन्हें हटा दें. साथ ही, पक्का करें कि आपको जिन एपीआई का इस्तेमाल करना है वे चुने गए हों.
      4. बनाएं पर क्लिक करें. पैनल में आपका नया एपीआई पासकोड दिखता है.
    • किसी मौजूदा कुंजी का इस्तेमाल करना:

      1. कुंजी के नाम पर क्लिक करें.
      2. एपीआई से जुड़ी पाबंदियां चुनें सूची में, वे एपीआई चुनें जिनका आपको इस्तेमाल करना है.
      3. सेव करें पर क्लिक करें.

    यहां किसी एपीआई को चुनने से वह चालू नहीं होता. पक्का करें कि आपने जो एपीआई चुना है वह एपीआई लाइब्रेरी में चालू हो.

  4. कुंजी की स्ट्रिंग को बाद में देखने के लिए, कुंजियां और क्रेडेंशियल पेज पर जाएं. इसके बाद, कुंजी के लिए कुंजी दिखाएं पर क्लिक करें.

अगर कंसोल इन चरणों से अलग दिखता है, तो Google Cloud के दस्तावेज़ में जाकर, एपीआई पासकोड बनाना और एपीआई से जुड़ी पाबंदियां जोड़ना लेख पढ़ें.

Cloud SDK

यहां दिए गए कमांड में, PROJECT_ID की जगह अपना प्रोजेक्ट आईडी डालें.

  • नई कुंजी बनाएं: यहां दिया गया निर्देश चलाएं और DISPLAY_NAME को कुंजी के नाम से बदलें. SERVICE_NAME को उस एपीआई की सेवा के नाम से बदलें जिसका आपको इस्तेमाल करना है. जैसे, places.googleapis.com. ज़्यादा एपीआई को अनुमति देने के लिए, --api-target फ़्लैग को दोहराएं.

    gcloud services api-keys create \
        --project="PROJECT_ID" \
        --display-name="DISPLAY_NAME" \
        --api-target=service=SERVICE_NAME

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

  • किसी मौजूदा कुंजी का इस्तेमाल करना: यह कमांड चलाएं और KEY_ID को कुंजी के आईडी से बदलें. SERVICE_NAME की जगह, उस एपीआई की सेवा का नाम डालें जिसे जोड़ना है. --append फ़्लैग, उन एपीआई को बनाए रखता है जिनकी अनुमति कुंजी पहले से देती है. इसके बिना, कमांड उन्हें बदल देता है.

    gcloud services api-keys update KEY_ID \
        --project="PROJECT_ID" \
        --append \
        --api-target=service=SERVICE_NAME

    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" चलाएं.

एसडीके को चालू करने के लिए, Google Cloud Console में Android के लिए Maps 3D एसडीके पेज पर जाएं. इन चरणों को पूरा करने के बारे में ज़्यादा जानकारी के लिए, Google Maps Platform का इस्तेमाल शुरू करना लेख पढ़ें.

Android Studio प्रोजेक्ट सेट अप करना

इस सेक्शन में, Android के लिए Maps 3D SDK के साथ इस्तेमाल करने के लिए, Android Studio प्रोजेक्ट बनाने और उसे कॉन्फ़िगर करने का तरीका बताया गया है.

पहला हिस्सा: अपना प्रोजेक्ट और Gradle कॉन्फ़िगरेशन सेट अप करना

  1. Empty Views Activity टेंप्लेट का इस्तेमाल करके, नया Android Studio प्रोजेक्ट बनाएं. प्रोजेक्ट कॉन्फ़िगरेशन में, Minimum SDK को API 24 या इसके बाद के वर्शन पर सेट करें.

  2. अगर सोर्स कंट्रोल के लिए Git का इस्तेमाल किया जा रहा है, तो प्रोजेक्ट की .gitignore फ़ाइल में बदलाव करें. इससे, आपकी सीक्रेट फ़ाइल को वर्शन कंट्रोल में कमिट होने से रोका जा सकेगा:

    • अपने प्रोजेक्ट की रूट डायरेक्ट्री में, .gitignore फ़ाइल खोलें.
    • यह लाइन जोड़ें:
    secrets.properties
    
  3. प्रोजेक्ट-लेवल की build.gradle.kts फ़ाइल को अपडेट करें:

    • अपने प्रोजेक्ट की रूट डायरेक्ट्री में, build.gradle.kts फ़ाइल खोलें.
    • plugins ब्लॉक में, Secrets Gradle प्लगिन जोड़ें:
    plugins {
      alias(libs.plugins.android.application) apply false
      alias(libs.plugins.kotlin.android) apply false
      alias(libs.plugins.secrets.gradle.plugin) apply false // Add this line
    }
    
  4. gradle/libs.versions.toml फ़ाइल को अपडेट करें:

    • gradle/libs.versions.toml फ़ाइल खोलें. आम तौर पर, यह फ़ाइल प्रोजेक्ट की रूट डायरेक्ट्री में मौजूद gradle डायरेक्ट्री में होती है.
    • [versions] सेक्शन में, एसडीके और Secrets Gradle प्लग इन के वर्शन जोड़ें:
    # See https://developers.google.com/android/guides/setup?device=phone-tablet for available releases
    maps3dSdk = "16.0.1"
    # See https://github.com/google/secrets-gradle-plugin/releases for available releases
    secretsGradlePlugin = "2.0.1"
    
    • [library] सेक्शन में, SDK टूल की लाइब्रेरी जोड़ें:
    play-services-maps3d = { module = "com.google.android.gms:play-services-maps3d", version.ref = "maps3dSdk" }
    
    • [plugins] सेक्शन में, Secrets Gradle प्लगिन जोड़ें:
    secrets-gradle-plugin = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin", version.ref = "secretsGradlePlugin" }
    
  5. मॉड्यूल-लेवल की app/build.gradle.kts फ़ाइल को अपडेट करें:

    • मॉड्यूल-लेवल की build.gradle.kts फ़ाइल खोलें. आम तौर पर, यह फ़ाइल app डायरेक्ट्री में मौजूद होती है.
    • फ़ाइल में सबसे ऊपर, plugins ब्लॉक में Secrets Gradle प्लगिन जोड़ें:
    plugins {
        alias(libs.plugins.android.application)
        alias(libs.plugins.kotlin.android)
        alias(libs.plugins.secrets.gradle.plugin) // Add this line
    }
    
    • dependencies ब्लॉक में, Android के लिए Maps 3D SDK के लिए Google Play services की डिपेंडेंसी जोड़ें:
    dependencies {
        // ... other dependencies
        implementation(libs.play.services.maps3d) // Add this line
    }
    
    • फ़ाइल के आखिर में, android और dependencies ब्लॉक के बाहर, सीक्रेट कॉन्फ़िगरेशन जोड़ें:
    secrets {
        // Optionally specify a different filename 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"
    }
    

दूसरा भाग: अपने प्रोजेक्ट में एपीआई पासकोड जोड़ना

  1. secrets.properties फ़ाइल बनाएं:

    • ऐप्लिकेशन मॉड्यूल की रूट डायरेक्ट्री (आम तौर पर app डायरेक्ट्री) में, secrets.properties नाम की एक नई फ़ाइल बनाएं.
    • फ़ाइल में अपना एपीआई पासकोड जोड़ें:
    MAPS3D_API_KEY=YOUR_API_KEY_HERE
    
  2. local.defaults.properties फ़ाइल बनाएं: - ऐप्लिकेशन मॉड्यूल की रूट डायरेक्ट्री में, local.defaults.properties नाम से एक नई फ़ाइल बनाएं. - फ़ाइल में डिफ़ॉल्ट या प्लेसहोल्डर एपीआई पासकोड जोड़ें. इस फ़ाइल को वर्शन कंट्रोल में चेक इन किया जा सकता है:

    MAPS3D_API_KEY=DEFAULT_API_KEY_OR_PLACEHOLDER
    

तीसरा चरण: अपनी AndroidManifest.xml फ़ाइल अपडेट करना

  1. app/src/main/AndroidManifest.xml फ़ाइल खोलें.

  2. <application> टैग के अंदर, <activity> टैग से पहले, अपने एपीआई पासकोड का एलान करने के लिए, यह <meta-data> एलिमेंट जोड़ें:

    <application
        ...>
    
        <meta-data
            android:name="com.google.android.geo.maps3d.API_KEY"
            android:value="${MAPS3D_API_KEY}" />
    
        <activity
            ...>
        </activity>
    </application>
    

    बिल्ड प्रोसेस के दौरान, Secrets Gradle प्लग इन, ${MAPS3D_API_KEY} प्लेसहोल्डर को आपकी secrets.properties फ़ाइल की कुंजी से बदल देगा.

प्रोग्राम के हिसाब से व्यू को शुरू करना (ज़रूरी नहीं)

अगर आपको एक्सएमएल लेआउट के बजाय प्रोग्राम के हिसाब से मैप व्यू को शुरू करना है, तो Map3DInitConfig का इस्तेमाल करें.

import com.google.android.gms.maps3d.Map3DInitConfig
import com.google.android.gms.maps3d.Map3DView
import com.google.android.gms.maps3d.model.Map3DMode

// Set configuration options using the factory method
val config = Map3DInitConfig.create(
    mapMode = Map3DMode.HYBRID,
    centerLat = 38.544012,
    centerLng = -107.670428
)

val map3DView = Map3DView(context, config)

अगले चरण

अब आपके पास Google Cloud प्रोजेक्ट, एपीआई पासकोड, और Android Studio प्रोजेक्ट है. इन्हें Android के लिए Maps 3D SDK के साथ इस्तेमाल करने के लिए सेट अप किया गया है. अब अपने ऐप्लिकेशन में 3D मैप जोड़ा जा सकता है.