Android-এর জন্য Maps SDK কুইকস্টার্ট

Android Studio-র জন্য Google Maps Views টেমপ্লেট ব্যবহার করে এমন একটি Android অ্যাপ তৈরি করুন যা একটি ম্যাপ দেখায়। আপনার যদি আগে থেকেই কোনও Android Studio প্রোজেক্ট থাকে যা আপনি সেট-আপ করতে চান, তাহলে Android Studio প্রোজেক্ট সেট-আপ করুন দেখুন।

এই কুইকস্টার্ট সেইসব ডেভেলপারদের জন্য যারা Kotlin বা Java-র মাধ্যমে Android ডেভেলপমেন্টের প্রাথমিক বিষয়গুলি জানেন।

ডেভেলপমেন্ট এনভায়রনমেন্ট সম্পর্কে

আমরা সাজেস্ট করি যে আপনি Android Studio এবং Android Gradle প্লাগ-ইন-এর লেটেস্ট স্টেবল ভার্সন ব্যবহার করুন।

Android ডিভাইস সেট-আপ করা

Maps SDK for Android ব্যবহার করে এমন অ্যাপ চালাতে, আপনাকে অবশ্যই এটি Android 6.0 বা তার পরবর্তী যেকোনও ভার্সন এবং Google API-এর উপর ভিত্তি করে তৈরি Android ডিভাইস বা Android এমুলেটরে ডিপ্লয় করতে হবে।

  • Android ডিভাইস ব্যবহার করতে, হার্ডওয়্যার ডিভাইসে অ্যাপ রান করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন।
  • Android এমুলেটর ব্যবহার করতে, আপনি ভার্চুয়াল ডিভাইস তৈরি করতে এবং ডিভাইস ম্যানেজার ব্যবহার করে এমুলেটর ইনস্টল করতে পারবেন যা Android Studio-এর সাথে আসে।

Android Studio-তে Google Maps প্রোজেক্ট তৈরি করা

  1. Android Studio খুলুন এবং Android Studio-তে স্বাগতম উইন্ডোতে নতুন প্রোজেক্ট বিকল্পে ক্লিক করুন।

  2. নতুন প্রজেক্ট উইন্ডোতে, ফোন ও ট্যাবলেট বিভাগের মধ্যে, কোনও অ্যাক্টিভিটি নেই বিকল্প বেছে নিন এবং তারপরে পরবর্তী বিকল্পে ক্লিক করুন।

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

    • ভাষা Java বা Kotlin-এ সেট করুন। Android-এর জন্য Maps SDK-তে দুটি ভাষাই সম্পূর্ণভাবে কাজ করে। Kotlin সম্পর্কে আরও জানতে, Kotlin-এর মাধ্যমে Android অ্যাপ ডেভেলপ করুন দেখুন।

    • আপনার টেস্ট ডিভাইসের সাথে মানানসই SDK ভার্সনে ন্যূনতম SDK সেট করুন। আপনাকে এমন একটি ভার্সন বেছে নিতে হবে যা Maps SDK for Android ভার্সন 20.0.x-এর জন্য প্রয়োজনীয় ন্যূনতম ভার্সনের চেয়ে বেশি, যা Android API লেভেল 23 ("Marshmallow"; Android 6.0) বা তার চেয়ে বেশি। SDK ভার্সনের প্রয়োজনীয়তা সম্পর্কে লেটেস্ট তথ্য পেতে রিলিজ নোট দেখুন।

    • বিল্ড কনফিগারেশন ভাষা 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. Google Cloud কনসোলে, প্রোজেক্ট সিলেক্টর পৃষ্ঠায়, নতুন Cloud প্রোজেক্ট তৈরি করা শুরু করতে প্রোজেক্ট তৈরি করুন বিকল্পে ক্লিক করুন।

    প্রোজেক্ট বাছাইকারী পৃষ্ঠায় যান

  2. আপনার Cloud প্রোজেক্টের জন্য বিলিং চালু করা আছে কিনা তা ভাল করে দেখে নিন। আপনার প্রোজেক্টের জন্য বিলিং চালু করা আছে কিনা তা কনফার্ম করুন।

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

Cloud SDK

gcloud projects create "PROJECT"

Google Cloud SDK , Cloud SDK ইনস্টলেশন এবং নিম্নলিখিত কমান্ড সম্পর্কে আরও জানুন:

ধাপ ২

Google Maps Platform ব্যবহার করতে, আপনার প্রোজেক্টের সাথে যে API বা SDK ব্যবহার করার পরিকল্পনা করেছেন, সেগুলি অবশ্যই চালু করতে হবে।

কনসোল

Android-এর জন্য Maps SDK চালু করুন

Cloud SDK

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

Google Cloud SDK , Cloud SDK ইনস্টলেশন এবং নিম্নলিখিত কমান্ড সম্পর্কে আরও জানুন:

ধাপ ৩

এই ধাপে শুধু API Key তৈরি করার প্রসেস দেখানো হয়। আপনি প্রোডাকশনে API Key ব্যবহার করলে, আমরা আপনাকে API Key-এর ব্যবহার সীমিত করার জন্য জোরালো সাজেশন দিই। আপনি প্রোডাক্ট-নির্দিষ্ট API কী ব্যবহার করা পৃষ্ঠায় আরও তথ্য পেতে পারেন।

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

API key তৈরি করতে:

কনসোল

  1. Google Maps Platform > ক্রেডেনশিয়াল পৃষ্ঠায় যান।

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

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

Cloud SDK

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

Google Cloud SDK , Cloud SDK ইনস্টলেশন এবং নিম্নলিখিত কমান্ড সম্পর্কে আরও জানুন:

আপনার অ্যাপে API key যোগ করুন

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

এই টাস্ক আরও সহজ করতে, আমরা আপনাকে Android-এর জন্য Secrets Gradle প্লাগ-ইন ব্যবহার করার সাজেশন দিই।

Android-এর জন্য Secrets Gradle প্লাগ-ইন ইনস্টল করতে এবং আপনার API key স্টোর করতে:

  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-এর জায়গায় আপনার API key লিখুন। আপনার .gitignore ফাইলে secrets.properties যোগ করতে ভুলবেন না (অথবা আপনার ভার্সন কন্ট্রোল সিস্টেম থেকে এটি বাদ দিন) যাতে আপনি ভার্সন কন্ট্রোলে আপনার API কী চেক না করেন।
    MAPS_API_KEY=YOUR_API_KEY
  5. আপনার টপ-লেভেল ডিরেক্টরিতে local.defaults.properties ফাইল তৈরি করুন, secrets.properties ফাইলের মতো একই ফোল্ডার এবং তারপর নিম্নলিখিত কোড যোগ করুন।

    MAPS_API_KEY=DEFAULT_API_KEY

    secrets.properties ফাইলটি খুঁজে না পাওয়া গেলে, API কী-এর জন্য ব্যাক-আপ লোকেশন প্রদান করাই এই ফাইলের উদ্দেশ্য, যাতে বিল্ড ফেল না করে। আপনি যদি কোনও ভার্সন কন্ট্রোল সিস্টেম থেকে অ্যাপ ক্লোন করেন যা secrets.properties বাদ দেয় এবং আপনি এখনও API কী প্রদান করার জন্য স্থানীয়ভাবে 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}" />
        

    মনে রাখবেন: API কী-এর জন্য com.google.android.geo.API_KEY হল সাজেস্ট করা মেটাডেটার নাম। এই নামের কী ব্যবহার করে Android প্ল্যাটফর্মে একাধিক Google Maps-ভিত্তিক API-তে যাচাইকরণ করা যেতে পারে, এর মধ্যে Android-এর জন্য Maps SDK অন্তর্ভুক্ত। পুরনো ভার্সনের সাথে মানানসই হিসেবে কাজ করার জন্য, API-তে com.google.android.maps.v2.API_KEY নামটিও কাজ করে। এই পুরনো নামটি শুধুমাত্র Android Maps API v2-এর জন্য যাচাইকরণ করতে দেয়। কোনও অ্যাপ্লিকেশন API কী মেটাডেটা নামের মধ্যে শুধুমাত্র একটি নাম উল্লেখ করতে পারে। দুটিই নির্দিষ্ট করা থাকলে, API ব্যতিক্রম দেখায়।

  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 অ্যাক্টিভিটি ফাইল হল অ্যাপের মূল অ্যাক্টিভিটি এবং এতে ম্যাপ ম্যানেজ ও দেখানোর কোড থাকে। ডিফল্ট হিসেবে, যে ফাইলটি অ্যাক্টিভিটি নির্ধারণ করে সেটির নাম MapsActivity.java অথবা আপনি যদি আপনার অ্যাপের ভাষা হিসেবে Kotlin সেট করেন, তাহলে MapsActivity.kt।

Maps অ্যাক্টিভিটির প্রধান এলিমেন্ট:

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

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

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

  • 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 নির্ভরতা অন্তর্ভুক্ত থাকে, যা Maps SDK for Android-এর জন্য প্রয়োজন।

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) ব্যবহার করা হলে, libs.versions.toml-এ play-services-maps ডিপেন্ডেন্সি নির্ধারণ করুন:

[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-এর উপর নির্ভরতা ম্যানেজ করা সম্পর্কে আরও জানতে, ভার্সনিং দেখুন।

XML লেআউট ফাইল

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

  • tools:context ফ্র্যাগমেন্টের ডিফল্ট অ্যাক্টিভিটি MapsActivity-এ সেট করে, যা Maps অ্যাক্টিভিটি ফাইলে উল্লেখ করা আছে।
  • android:name ফ্র্যাগমেন্টের ক্লাস নেমকে SupportMapFragment হিসেবে সেট করে, এটি হল ফ্র্যাগমেন্টের ধরন যা ম্যাপ অ্যাক্টিভিটি ফাইলে ব্যবহার করা হয়।

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

পরবর্তী ধাপ

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

  • আপনার Android অ্যাপে ম্যাপ যোগ করুন (Kotlin): এই কোডল্যাব আপনাকে এমন একটি অ্যাপের মাধ্যমে গাইড করে যা Android-এর জন্য Maps SDK-এর কিছু অতিরিক্ত ফিচার দেখায়।

  • Maps Android KTX লাইব্রেরি ব্যবহার করুন: এই Kotlin এক্সটেনশন (KTX) লাইব্রেরি আপনাকে Maps SDK for Android ব্যবহার করার সময় Kotlin ভাষার বিভিন্ন ফিচার ব্যবহার করার সুবিধা দেয়।