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

অ্যান্ড্রয়েড স্টুডিওর জন্য গুগল ম্যাপস ভিউস টেমপ্লেট ব্যবহার করে একটি মানচিত্র প্রদর্শনকারী অ্যান্ড্রয়েড অ্যাপ তৈরি করুন। আপনার যদি আগে থেকে কোনো অ্যান্ড্রয়েড স্টুডিও প্রজেক্ট থাকে যা আপনি সেট আপ করতে চান, তাহলে ‘অ্যান্ড্রয়েড স্টুডিও প্রজেক্ট সেট আপ করুন’ দেখুন।

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

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

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

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

অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে (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) দেখুন।

    • আপনার টেস্ট ডিভাইসের সাথে সামঞ্জস্যপূর্ণ একটি SDK ভার্সনে ন্যূনতম SDK সেট করুন। আপনাকে অবশ্যই Maps SDK for Android ভার্সন 20.0.x-এর জন্য প্রয়োজনীয় ন্যূনতম ভার্সনের চেয়ে উচ্চতর একটি ভার্সন নির্বাচন করতে হবে, যা হলো Android API Level 21 ("Lollipop"; Android 5.0) বা তার চেয়ে উচ্চতর। SDK ভার্সনের প্রয়োজনীয়তা সম্পর্কে সর্বশেষ তথ্যের জন্য রিলিজ নোট দেখুন।

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

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

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

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

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

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

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

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

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

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

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

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

ধাপ ১

কনসোল

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

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

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

    গুগল ক্লাউড $0.00 চার্জের একটি ট্রায়াল অফার করে। এই ট্রায়ালটি ৯০ দিন শেষে অথবা অ্যাকাউন্টে $300 মূল্যের চার্জ জমা হওয়ার পর, দুটির মধ্যে যেটি আগে ঘটবে, তখন শেষ হয়ে যাবে। যেকোনো সময় এটি বাতিল করা যাবে। আরও তথ্যের জন্য, বিলিং অ্যাকাউন্ট ক্রেডিট এবং বিলিং দেখুন।

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

gcloud projects create "PROJECT"

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

ধাপ ২

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

কনসোল

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

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

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

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

ধাপ ৩

এই ধাপে শুধুমাত্র এপিআই কী (API Key) তৈরির প্রক্রিয়াটি বর্ণনা করা হয়েছে। আপনি যদি প্রোডাকশনে আপনার এপিআই কী ব্যবহার করেন, তবে আমরা আপনাকে এটি সীমাবদ্ধ করার জন্য দৃঢ়ভাবে সুপারিশ করছি। আপনি পণ্য-নির্দিষ্ট 'এপিআই কী ব্যবহার' (Using API Keys) পৃষ্ঠায় আরও তথ্য পেতে পারেন।

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

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

কনসোল

  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) দেখায়।

কোডটি দেখুন

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

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

ম্যাপস অ্যাক্টিভিটি ফাইলটি হলো অ্যাপের প্রধান অ্যাক্টিভিটি এবং এতে ম্যাপ পরিচালনা ও প্রদর্শনের কোড থাকে। ডিফল্টভাবে, যে ফাইলটি অ্যাক্টিভিটি নির্ধারণ করে তার নাম MapsActivity.java হয়, অথবা যদি আপনি আপনার অ্যাপের ভাষা হিসেবে কোটলিন সেট করেন, তাহলে এর নাম হয় MapsActivity.kt

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

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

  • GoogleMap অবজেক্টটি ম্যাপের ডেটা এবং ভিউ অ্যাক্সেস করার সুযোগ দেয়। এটি অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে-র প্রধান ক্লাস। ম্যাপ অবজেক্টস গাইডে SupportMapFragment এবং GoogleMap অবজেক্টগুলো সম্পর্কে আরও বিস্তারিতভাবে বর্ণনা করা হয়েছে।

  • moveCamera ফাংশনটি অস্ট্রেলিয়ার সিডনির LatLng স্থানাঙ্কে মানচিত্রটিকে কেন্দ্র করে। একটি মানচিত্র যোগ করার সময় সাধারণত প্রথমে যে সেটিংসগুলো কনফিগার করতে হয়, সেগুলো হলো মানচিত্রের অবস্থান এবং ক্যামেরার সেটিংস; যেমন দেখার কোণ, মানচিত্রের অভিমুখ এবং জুমের মাত্রা। বিস্তারিত জানতে ক্যামেরা এবং ভিউ নির্দেশিকাটি দেখুন।

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

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

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

dependencies {

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

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

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

activity_maps.xml ফাইলটি হলো একটি XML লেআউট ফাইল যা অ্যাপের UI-এর কাঠামো নির্ধারণ করে। ফাইলটি res/layout ডিরেক্টরিতে অবস্থিত। activity_maps.xml ফাইলটি একটি ফ্র্যাগমেন্ট ঘোষণা করে, যাতে নিম্নলিখিত উপাদানগুলো অন্তর্ভুক্ত থাকে:

  • 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 ব্যবহার করার সময় কোটলিন ভাষার বিভিন্ন বৈশিষ্ট্য কাজে লাগানোর সুযোগ দেয়।