Android Quickstart-এর জন্য মানচিত্র SDK

Create an Android app that displays a map by using the Google Maps Views template for Android Studio. If you have an existing Android Studio project that you'd like to set up, see Set up an Android Studio project .

এই কুইকস্টার্টটি সেইসব ডেভেলপারদের জন্য তৈরি করা হয়েছে, যারা কোটলিন বা জাভা ব্যবহার করে বেসিক অ্যান্ড্রয়েড ডেভেলপমেন্টের সাথে পরিচিত।

উন্নয়ন পরিবেশ সম্পর্কে

এই কুইকস্টার্টটি অ্যান্ড্রয়েড স্টুডিও হেজহগ এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণ ৮.২ ব্যবহার করে তৈরি করা হয়েছে।

একটি অ্যান্ড্রয়েড ডিভাইস সেট আপ করুন

অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে (Maps SDK for Android) ব্যবহার করে এমন কোনো অ্যাপ চালানোর জন্য, আপনাকে অবশ্যই এটিকে অ্যান্ড্রয়েড ৬.০ বা তার উচ্চতর সংস্করণের উপর ভিত্তি করে তৈরি এবং গুগল এপিআই (Google APIs) অন্তর্ভুক্ত কোনো অ্যান্ড্রয়েড ডিভাইস বা অ্যান্ড্রয়েড এমুলেটরে স্থাপন করতে হবে।

  • অ্যান্ড্রয়েড ডিভাইস ব্যবহার করতে, ‘Run apps on a hardware device’- এর নির্দেশাবলী অনুসরণ করুন।
  • অ্যান্ড্রয়েড এমুলেটর ব্যবহার করার জন্য, আপনি অ্যান্ড্রয়েড স্টুডিওর সাথে আসা অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) ম্যানেজার ব্যবহার করে একটি ভার্চুয়াল ডিভাইস তৈরি ও এমুলেটরটি ইনস্টল করতে পারেন।

অ্যান্ড্রয়েড স্টুডিওতে একটি গুগল ম্যাপস প্রজেক্ট তৈরি করুন।

অ্যান্ড্রয়েড স্টুডিওর ফ্লেমিঙ্গো এবং পরবর্তী সংস্করণগুলোতে গুগল ম্যাপস প্রজেক্ট তৈরি করার পদ্ধতি পরিবর্তন করা হয়েছে।

  1. অ্যান্ড্রয়েড স্টুডিও খুলুন এবং 'Welcome to Android Studio' উইন্ডোতে 'New Project'- এ ক্লিক করুন।

  2. নতুন প্রজেক্ট উইন্ডোতে, ফোন এবং ট্যাবলেট ক্যাটাগরির অধীনে, কোনো কার্যকলাপ নেই (No Activity ) নির্বাচন করুন এবং তারপরে পরবর্তী (Next ) ক্লিক করুন।

  3. নতুন প্রকল্পের ফর্মটি পূরণ করুন:

    • ভাষা হিসেবে জাভা অথবা কোটলিন সেট করুন। অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে (Maps SDK for Android) দ্বারা উভয় ভাষাই সম্পূর্ণরূপে সমর্থিত। কোটলিন সম্পর্কে আরও জানতে, ‘কোটলিন দিয়ে অ্যান্ড্রয়েড অ্যাপ তৈরি করুন’ (Develop Android apps with Kotlin) দেখুন।

    • Set Minimum SDK to an SDK version compatible with your test device. You must select a version greater than the minimum version required by the Maps SDK for Android version 20.0.x, which is Android API Level 23 ("Marshmallow"; Android 6.0) or higher. See the Release Notes for the latest information on the SDK version requirements.

    • বিল্ড কনফিগারেশন ল্যাঙ্গুয়েজটি Kotlin DSL অথবা Groovy DSL-এ সেট করুন। নিম্নলিখিত পদ্ধতিগুলোতে উভয় বিল্ড কনফিগারেশন ল্যাঙ্গুয়েজের জন্য কোড স্নিপেট দেখানো হয়েছে।

  4. শেষ করুন- এ ক্লিক করুন।

    অ্যান্ড্রয়েড স্টুডিও গ্রেডল (Gradle) চালু করে এবং প্রজেক্টটি বিল্ড করে। এতে কিছুটা সময় লাগতে পারে।

  5. Google Maps Views অ্যাক্টিভিটি যোগ করুন:

    1. আপনার প্রোজেক্টের app ফোল্ডারটিতে রাইট-ক্লিক করুন।
    2. নতুন > গুগল > গুগল ম্যাপস ভিউজ অ্যাক্টিভিটি নির্বাচন করুন।

      একটি মানচিত্র কার্যকলাপ যোগ করুন।

    3. নতুন অ্যান্ড্রয়েড অ্যাক্টিভিটি ডায়ালগ বক্সে, লঞ্চার অ্যাক্টিভিটি চেকবক্সটি নির্বাচন করুন।

    4. সমাপ্তি নির্বাচন করুন।

      আরও তথ্যের জন্য, টেমপ্লেট থেকে কোড যোগ করুন দেখুন।

  6. বিল্ড সম্পন্ন হলে, অ্যান্ড্রয়েড স্টুডিও AndroidManifest.xml এবং MapsActivity ফাইল দুটি খোলে। আপনার অ্যাক্টিভিটির নাম ভিন্ন হতে পারে, কিন্তু এটি সেই অ্যাক্টিভিটিই যা আপনি সেটআপের সময় কনফিগার করেছিলেন।

আপনার গুগল ক্লাউড প্রজেক্ট সেট আপ করুন

নিচের ট্যাবগুলোতে ক্লিক করে প্রয়োজনীয় ক্লাউড কনসোল সেটআপ ধাপগুলো সম্পন্ন করুন:

ধাপ ১

কনসোল

  1. গুগল ক্লাউড কনসোলের প্রজেক্ট সিলেক্টর পেজে, একটি নতুন ক্লাউড প্রজেক্ট তৈরি করা শুরু করতে 'Create Project'-এ ক্লিক করুন।

    প্রজেক্ট সিলেক্টর পেজে যান

  2. আপনার ক্লাউড প্রজেক্টের জন্য বিলিং চালু আছে কিনা তা নিশ্চিত করুন। আপনার প্রজেক্টের জন্য বিলিং চালু আছে কিনা তা যাচাই করুন

    Google Cloud offers a $0.00 charge trial. The trial expires at either end of 90 days or after the account has accrued $300 worth of charges, whichever comes first. Cancel anytime. For more information, see Billing account credits and Billing .

ক্লাউড এসডিকে

gcloud projects create "PROJECT"

গুগল ক্লাউড এসডিকে , ক্লাউড এসডিকে ইনস্টলেশন এবং নিম্নলিখিত কমান্ডগুলো সম্পর্কে আরও পড়ুন:

ধাপ ২

গুগল ম্যাপস প্ল্যাটফর্ম ব্যবহার করতে হলে, আপনার প্রোজেক্টে যে এপিআই বা এসডিকেগুলো ব্যবহার করার পরিকল্পনা করছেন, সেগুলো অবশ্যই সক্রিয় করতে হবে।

কনসোল

অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে সক্রিয় করুন

ক্লাউড এসডিকে

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

গুগল ক্লাউড এসডিকে , ক্লাউড এসডিকে ইনস্টলেশন এবং নিম্নলিখিত কমান্ডগুলো সম্পর্কে আরও পড়ুন:

ধাপ ৩

This step only goes through the API Key creation process. If you use your API Key in production, we strongly recommend that you restrict your API key. You can find more information in the product-specific Using API Keys page.

এপিআই কী হলো একটি অনন্য শনাক্তকারী, যা ব্যবহার এবং বিলিংয়ের উদ্দেশ্যে আপনার প্রোজেক্টের সাথে যুক্ত অনুরোধগুলোকে প্রমাণীকরণ করে। আপনার প্রোজেক্টের সাথে অবশ্যই অন্তত একটি এপিআই কী যুক্ত থাকতে হবে।

একটি এপিআই কী তৈরি করতে:

কনসোল

  1. গুগল ম্যাপস প্ল্যাটফর্ম > ক্রেডেনশিয়ালস পৃষ্ঠায় যান।

    ক্রেডেনশিয়াল পৃষ্ঠায় যান

  2. ক্রেডেনশিয়ালস পেজে, ক্রিয়েট ক্রেডেনশিয়ালস > এপিআই কী-তে ক্লিক করুন।
    এপিআই কী তৈরি করা ডায়ালগ বক্সে আপনার সদ্য তৈরি করা এপিআই কী-টি প্রদর্শিত হয়।
  3. বন্ধ করুন-এ ক্লিক করুন।
    নতুন এপিআই কী-টি ক্রেডেনশিয়ালস পৃষ্ঠার এপিআই কী (API keys) অংশে তালিকাভুক্ত করা আছে।
    (প্রোডাকশনে ব্যবহার করার আগে এপিআই কী-টি সীমাবদ্ধ করতে মনে রাখবেন।)

ক্লাউড এসডিকে

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

গুগল ক্লাউড এসডিকে , ক্লাউড এসডিকে ইনস্টলেশন এবং নিম্নলিখিত কমান্ডগুলো সম্পর্কে আরও পড়ুন:

আপনার অ্যাপে এপিআই কী যোগ করুন

এই বিভাগে বর্ণনা করা হয়েছে কীভাবে আপনার API কী সংরক্ষণ করবেন, যাতে আপনার অ্যাপ এটিকে নিরাপদে ব্যবহার করতে পারে। আপনার ভার্সন কন্ট্রোল সিস্টেমে API কী চেক ইন করা উচিত নয়, তাই আমরা এটিকে secrets.properties ফাইলে সংরক্ষণ করার পরামর্শ দিই, যা আপনার প্রোজেক্টের রুট ডিরেক্টরিতে অবস্থিত। secrets.properties ফাইল সম্পর্কে আরও তথ্যের জন্য, Gradle properties files দেখুন।

এই কাজটি সহজ করার জন্য, আমরা আপনাকে অ্যান্ড্রয়েডের জন্য সিক্রেটস গ্রেডল প্লাগইন ব্যবহার করার পরামর্শ দিই।

অ্যান্ড্রয়েডের জন্য সিক্রেটস গ্রেডল প্লাগইন ইনস্টল করতে এবং আপনার এপিআই কী সংরক্ষণ করতে:

  1. অ্যান্ড্রয়েড স্টুডিওতে, আপনার রুট-লেভেলের build.gradle ফাইলটি খুলুন এবং buildscript অধীনে dependencies এলিমেন্টে নিম্নলিখিত কোডটি যোগ করুন।

    গ্রুভি

    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")
        }
    }
  2. আপনার অ্যাপ-লেভেলের build.gradle ফাইলটি খুলুন এবং plugins এলিমেন্টে নিম্নলিখিত কোডটি যোগ করুন।

    গ্রুভি

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

    কোটলিন

    plugins {
        id("com.android.application")
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }
  3. আপনি যদি অ্যান্ড্রয়েড স্টুডিও ব্যবহার করেন, তাহলে আপনার প্রজেক্টটি গ্রেডলের সাথে সিঙ্ক করুন
  4. আপনার প্রজেক্ট লেভেল ডিরেক্টরিতে থাকা local.properties ফাইলটি খুলুন এবং নিচের কোডটি যোগ করুন। YOUR_API_KEY এর জায়গায় আপনার API কী বসান।
    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 হলো প্রস্তাবিত মেটাডেটা নাম। এই নামের একটি কী অ্যান্ড্রয়েড প্ল্যাটফর্মে একাধিক গুগল ম্যাপস-ভিত্তিক এপিআই-তে প্রমাণীকরণের জন্য ব্যবহার করা যেতে পারে, যার মধ্যে অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে-ও অন্তর্ভুক্ত। পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্যের জন্য, এপিআইটি com.google.android.maps.v2.API_KEY নামটি সমর্থন করে। এই পুরোনো নামটি শুধুমাত্র অ্যান্ড্রয়েড ম্যাপস এপিআই v2-তে প্রমাণীকরণের অনুমতি দেয়। একটি অ্যাপ্লিকেশন এপিআই কী মেটাডেটা নামগুলোর মধ্যে শুধুমাত্র একটি নির্দিষ্ট করতে পারে। যদি উভয়ই নির্দিষ্ট করা হয়, তাহলে এপিআই একটি ব্যতিক্রমী ত্রুটি (exception) দেখায়।

কোডটি দেখুন

টেমপ্লেট দ্বারা সরবরাহকৃত কোডটি পরীক্ষা করুন। বিশেষ করে, আপনার অ্যান্ড্রয়েড স্টুডিও প্রজেক্টের নিম্নলিখিত ফাইলগুলো দেখুন।

মানচিত্র কার্যকলাপ ফাইল

The maps activity file is the main activity for the app, and contains the code to manage and display the map. By default, the file that defines the activity is named MapsActivity.java or if you set Kotlin as the language for your app, MapsActivity.kt .

মানচিত্র কার্যক্রমের প্রধান উপাদানগুলো হলো:

  • SupportMapFragment অবজেক্টটি ম্যাপের জীবনচক্র পরিচালনা করে এবং এটি অ্যাপের UI-এর প্যারেন্ট এলিমেন্ট।

  • The GoogleMap object provides access to the map data and view. This is the main class of the Maps SDK for Android. The Map Objects guide describes the SupportMapFragment and GoogleMap objects in more detail.

  • The moveCamera function centers the map at the LatLng coordinates for Sydney Australia. The first settings to configure when adding a map are usually the map location and camera settings; such as viewing angle, map orientation, and zoom level. See the Camera and View guide for details.

  • addMarker ফাংশনটি সিডনির স্থানাঙ্কে একটি মার্কার যোগ করে। বিস্তারিত জানতে মার্কার নির্দেশিকা দেখুন।

মডিউল গ্রেডল ফাইল

মডিউলের build.gradle.kts ফাইলে নিম্নলিখিত ম্যাপস ডিপেন্ডেন্সিটি অন্তর্ভুক্ত রয়েছে, যা অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে (Maps SDK for Android)-এর জন্য আবশ্যক।

dependencies {

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

Maps নির্ভরতা ব্যবস্থাপনা সম্পর্কে আরও জানতে, ভার্সনিং দেখুন।

এক্সএমএল লেআউট ফাইল

The activity_maps.xml file is the XML layout file that defines the structure of the app's UI. The file is located in the res/layout directory. The activity_maps.xml file declares a fragment that includes the following elements:

  • tools:context ফ্র্যাগমেন্টের ডিফল্ট অ্যাক্টিভিটি MapsActivity তে সেট করে, যা maps অ্যাক্টিভিটি ফাইলে সংজ্ঞায়িত করা থাকে।
  • android:name ফ্র্যাগমেন্টের ক্লাস নেমকে SupportMapFragment এ সেট করে, যা হলো maps অ্যাক্টিভিটি ফাইলে ব্যবহৃত ফ্র্যাগমেন্ট টাইপ।

XML লেআউট ফাইলটিতে নিম্নলিখিত কোডটি রয়েছে:

<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. অ্যান্ড্রয়েড স্টুডিওতে, আপনার অ্যাপটি চালানোর জন্য রান মেনু অপশনে (অথবা প্লে বাটন আইকনে) ক্লিক করুন।
  2. ডিভাইস বেছে নিতে বলা হলে, নিচের বিকল্পগুলো থেকে একটি বেছে নিন:
    • আপনার কম্পিউটারের সাথে সংযুক্ত অ্যান্ড্রয়েড ডিভাইসটি নির্বাচন করুন।
    • বিকল্পভাবে, ‘Launch emulator’ রেডিও বাটনটি নির্বাচন করুন এবং আপনার সেট আপ করা ভার্চুয়াল ডিভাইসটি বেছে নিন।
  3. OK- তে ক্লিক করুন। অ্যান্ড্রয়েড স্টুডিও আপনার অ্যাপটি বিল্ড করার জন্য Gradle চালু করবে এবং তারপর আপনার ডিভাইস বা এমুলেটরে ফলাফল প্রদর্শন করবে। অ্যাপটি চালু হতে কয়েক মিনিট সময় লাগতে পারে।

পরবর্তী পদক্ষেপ

  • ম্যাপ সেট আপ করুন : এই ডকুমেন্টটিতে আপনার ম্যাপের প্রাথমিক এবং রানটাইম সেটিংস, যেমন ক্যামেরার অবস্থান, ম্যাপের ধরন, UI কম্পোনেন্ট এবং জেসচার কীভাবে সেট আপ করতে হয়, তা বর্ণনা করা হয়েছে।

  • আপনার অ্যান্ড্রয়েড অ্যাপে একটি মানচিত্র যোগ করুন (কোটলিন) : এই কোডল্যাবটি আপনাকে এমন একটি অ্যাপ তৈরির প্রক্রিয়া দেখাবে, যা অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে-এর কিছু অতিরিক্ত বৈশিষ্ট্য প্রদর্শন করে।

  • Maps Android KTX লাইব্রেরি ব্যবহার করুন : এই কোটলিন এক্সটেনশন (KTX) লাইব্রেরিটি আপনাকে Android-এর জন্য Maps SDK ব্যবহার করার সময় কোটলিন ভাষার বিভিন্ন বৈশিষ্ট্য কাজে লাগানোর সুযোগ দেয়।