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

Android স্টুডিওর জন্য Google মানচিত্র টেমপ্লেট ব্যবহার করে একটি Android অ্যাপ তৈরি করুন যা একটি মানচিত্র প্রদর্শন করে। আপনার যদি একটি বিদ্যমান অ্যান্ড্রয়েড স্টুডিও প্রকল্প থাকে যা আপনি সেট আপ করতে চান, প্রকল্প কনফিগারেশন দেখুন।

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

উন্নয়ন পরিবেশ সেট আপ করুন

  1. অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্স বা তার পরে প্রয়োজন। আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে এটি ডাউনলোড করুন এবং ইনস্টল করুন
  2. নিশ্চিত করুন যে আপনি Android স্টুডিওতে Android Gradle প্লাগইন সংস্করণ 7.0 বা তার পরবর্তী সংস্করণ ব্যবহার করছেন।

    একটি Android ডিভাইস সেট আপ করুন

    অ্যান্ড্রয়েডের জন্য মানচিত্র SDK ব্যবহার করে এমন একটি অ্যাপ চালানোর জন্য, আপনাকে অবশ্যই এটিকে একটি Android ডিভাইস বা Android এমুলেটরে স্থাপন করতে হবে যা Android 4.0 বা উচ্চতর ভিত্তিক এবং Google API গুলি অন্তর্ভুক্ত করে৷

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

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

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

    1. অ্যান্ড্রয়েড স্টুডিও খুলুন এবং অ্যান্ড্রয়েড স্টুডিওতে স্বাগতম উইন্ডোতে নতুন প্রকল্প তৈরি করুন ক্লিক করুন।

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

    3. Google Maps কার্যকলাপ ফর্মটি পূরণ করুন:

      • জাভা বা কোটলিনে ভাষা সেট করুন। উভয় ভাষাই Android এর জন্য Maps SDK দ্বারা সম্পূর্ণরূপে সমর্থিত৷ কোটলিন সম্পর্কে আরও জানতে, কোটলিনের সাথে অ্যান্ড্রয়েড অ্যাপস ডেভেলপ করুন দেখুন।

      • আপনার টেস্ট ডিভাইসের সাথে সামঞ্জস্যপূর্ণ একটি SDK সংস্করণে ন্যূনতম SDK সেট করুন৷ আপনাকে অবশ্যই Android সংস্করণ 18.0.x এর জন্য Maps SDK-এর জন্য প্রয়োজনীয় ন্যূনতম সংস্করণের চেয়ে বড় একটি সংস্করণ নির্বাচন করতে হবে, যা Android API স্তর 19 (Android 4.4, KitKat) বা উচ্চতর। SDK সংস্করণের প্রয়োজনীয়তার সর্বশেষ তথ্যের জন্য রিলিজ নোটগুলি দেখুন৷

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

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

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

    6. Google Maps Views কার্যকলাপ যোগ করুন:

      1. যে প্যাকেজটিতে আপনি Google Maps Views Activity যোগ করতে চান সেখানে ডান-ক্লিক করুন।
      2. নতুন > Google > Google Maps Views কার্যকলাপ নির্বাচন করুন।

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

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

    7. AndroidManifest.xml ফাইলটিতে একটি Google Maps API কী পাওয়ার নির্দেশাবলী রয়েছে এবং তারপরে এটিকে আপনার local.properties ফাইলে যোগ করা। AndroidManifest.xml ফাইলে আপনার API কী যোগ করবেন না। এটি করা আপনার API কী কম নিরাপদে সংরক্ষণ করে। পরিবর্তে, একটি ক্লাউড প্রকল্প তৈরি করতে এবং একটি API কী কনফিগার করতে পরবর্তী বিভাগে নির্দেশাবলী অনুসরণ করুন৷

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

    নিম্নলিখিত ট্যাবগুলিতে ক্লিক করে প্রয়োজনীয় ক্লাউড কনসোল সেটআপ পদক্ষেপগুলি সম্পূর্ণ করুন:

    ধাপ 1

    কনসোল

    1. Google ক্লাউড কনসোলে, প্রকল্প নির্বাচক পৃষ্ঠায়, একটি নতুন ক্লাউড প্রকল্প তৈরি করা শুরু করতে প্রকল্প তৈরি করুন ক্লিক করুন৷

      প্রকল্প নির্বাচক পৃষ্ঠায় যান

    2. নিশ্চিত করুন যে আপনার ক্লাউড প্রকল্পের জন্য বিলিং সক্ষম করা আছে৷ আপনার প্রকল্পের জন্য বিলিং সক্ষম হয়েছে তা নিশ্চিত করুন

      Google ক্লাউড একটি $0.00 চার্জ ট্রায়াল অফার করে৷ ট্রায়ালের মেয়াদ 90 দিনের শেষে বা অ্যাকাউন্ট $300 মূল্যের চার্জ জমা হওয়ার পরে, যেটি প্রথমে আসে। যেকোনো সময় বাতিল করুন। Google মানচিত্র প্ল্যাটফর্মে একটি পুনরাবৃত্ত $200 মাসিক ক্রেডিট রয়েছে৷ আরও তথ্যের জন্য, বিলিং অ্যাকাউন্ট ক্রেডিট এবং বিলিং দেখুন।

    ক্লাউড SDK

    gcloud projects create "PROJECT"

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

    ধাপ ২

    Google মানচিত্র প্ল্যাটফর্ম ব্যবহার করার জন্য, আপনাকে অবশ্যই আপনার প্রকল্পের সাথে ব্যবহার করার পরিকল্পনা করছেন এমন API বা SDK সক্ষম করতে হবে৷

    কনসোল

    Android এর জন্য মানচিত্র SDK সক্ষম করুন৷

    ক্লাউড SDK

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

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

    ধাপ 3

    এই ধাপটি শুধুমাত্র API কী তৈরির প্রক্রিয়ার মধ্য দিয়ে যায়। আপনি যদি উত্পাদনে আপনার API কী ব্যবহার করেন, আমরা দৃঢ়ভাবে সুপারিশ করি যে আপনি আপনার API কী সীমাবদ্ধ করুন৷ আপনি API কী ব্যবহার করে পণ্য-নির্দিষ্ট পৃষ্ঠায় আরও তথ্য পেতে পারেন।

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

    একটি API কী তৈরি করতে:

    কনসোল

    1. Google মানচিত্র প্ল্যাটফর্ম > শংসাপত্র পৃষ্ঠাতে যান।

      শংসাপত্র পৃষ্ঠায় যান

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

    ক্লাউড SDK

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

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

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

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

    এই কাজটি স্ট্রীমলাইন করতে, আমরা আপনাকে Android এর জন্য সিক্রেটস গ্রেডল প্লাগইন ব্যবহার করার পরামর্শ দিই। প্লাগইন ইনস্টল করতে এবং আপনার API কী সংরক্ষণ করতে:

    1. অ্যান্ড্রয়েড স্টুডিওতে, আপনার প্রকল্প-স্তরের build.gradle ফাইলটি খুলুন এবং buildscript অধীনে dependencies উপাদানে নিম্নলিখিত কোডটি যোগ করুন।
      plugins {
          // ...
          id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
      }
    2. এরপর, আপনার মডিউল-স্তরের build.gradle ফাইলটি খুলুন এবং plugins উপাদানটিতে নিম্নলিখিত কোডটি যোগ করুন।
      id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
          
    3. ফাইলটি সংরক্ষণ করুন এবং Gradle এর সাথে আপনার প্রকল্প সিঙ্ক করুন
    4. আপনার প্রজেক্ট লেভেল ডিরেক্টরিতে local.properties খুলুন এবং তারপরে নিম্নলিখিত কোডটি যোগ করুন। আপনার API কী দিয়ে YOUR_API_KEY প্রতিস্থাপন করুন।
      MAPS_API_KEY=YOUR_API_KEY
          
    5. ফাইলটি সংরক্ষণ করুন।
    6. আপনার AndroidManifest.xml ফাইলে, com.google.android.geo.API_KEY এ যান এবং android:value attribute নিম্নরূপ আপডেট করুন:
      <meta-data
          android:name="com.google.android.geo.API_KEY"
          android:value="${MAPS_API_KEY}" />
          

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

    কোডটি দেখুন

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

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

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

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

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

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

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

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

    মানচিত্র কার্যকলাপ ফাইল নিম্নলিখিত কোড রয়েছে:

    জাভা

    
    import android.os.Bundle;
    import androidx.appcompat.app.AppCompatActivity;
    import com.google.android.gms.maps.CameraUpdateFactory;
    import com.google.android.gms.maps.GoogleMap;
    import com.google.android.gms.maps.OnMapReadyCallback;
    import com.google.android.gms.maps.SupportMapFragment;
    import com.google.android.gms.maps.model.LatLng;
    import com.google.android.gms.maps.model.MarkerOptions;
    
    public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback {
    
        private GoogleMap mMap;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_maps);
            // Obtain the SupportMapFragment and get notified when the map is ready to be used.
            SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                    .findFragmentById(R.id.map);
            mapFragment.getMapAsync(this);
        }
    
        /**
         * Manipulates the map once available.
         * This callback is triggered when the map is ready to be used.
         * This is where we can add markers or lines, add listeners or move the camera. In this case,
         * we just add a marker near Sydney, Australia.
         *
         * If Google Play services is not installed on the device, the user will be prompted to install
         * it inside the SupportMapFragment. This method will only be triggered once the user has
         * installed Google Play services and returned to the app.
         */
        @Override
        public void onMapReady(GoogleMap googleMap) {
            mMap = googleMap;
    
            // Add a marker in Sydney and move the camera
            LatLng sydney = new LatLng(-34, 151);
            mMap.addMarker(new MarkerOptions()
                    .position(sydney)
                    .title("Marker in Sydney"));
            mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
        }
    }
    
          

    কোটলিন

    
    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    
    import com.google.android.gms.maps.CameraUpdateFactory
    import com.google.android.gms.maps.GoogleMap
    import com.google.android.gms.maps.OnMapReadyCallback
    import com.google.android.gms.maps.SupportMapFragment
    import com.google.android.gms.maps.model.LatLng
    import com.google.android.gms.maps.model.MarkerOptions
    
    internal class MapsActivity : AppCompatActivity(), OnMapReadyCallback {
    
        private lateinit var mMap: GoogleMap
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_maps)
            // Obtain the SupportMapFragment and get notified when the map is ready to be used.
            val mapFragment = supportFragmentManager
                .findFragmentById(R.id.map) as SupportMapFragment
            mapFragment.getMapAsync(this)
        }
    
        /**
         * Manipulates the map once available.
         * This callback is triggered when the map is ready to be used.
         * This is where we can add markers or lines, add listeners or move the camera. In this case,
         * we just add a marker near Sydney, Australia.
         * If Google Play services is not installed on the device, the user will be prompted to install
         * it inside the SupportMapFragment. This method will only be triggered once the user has
         * installed Google Play services and returned to the app.
         */
        override fun onMapReady(googleMap: GoogleMap) {
            mMap = googleMap
    
            // Add a marker in Sydney and move the camera
            val sydney = LatLng(-34.0, 151.0)
            mMap.addMarker(MarkerOptions()
                .position(sydney)
                .title("Marker in Sydney"))
            mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney))
        }
    }
    
          

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

    Module build.gradle ফাইলে নিম্নলিখিত মানচিত্রের নির্ভরতা অন্তর্ভুক্ত রয়েছে, যা Android এর জন্য Maps SDK-এর জন্য প্রয়োজন৷

    dependencies {
        implementation 'com.google.android.gms:play-services-maps:18.1.0'
        // ...
    }

    মানচিত্র নির্ভরতা পরিচালনা সম্পর্কে আরও জানতে, সংস্করণ দেখুন।

    XML লেআউট ফাইল

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

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

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

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/map"
        tools:context=".MapsActivity"
        android:name="com.google.android.gms.maps.SupportMapFragment" />
    

    অ্যাপটি স্থাপন করুন এবং চালান

    সিন্ডনি অস্ট্রেলিয়া কেন্দ্রিক মানচিত্র এবং মার্কার সহ স্ক্রিনশট।

    আপনি যখন অ্যাপটি সফলভাবে চালাবেন, তখন এটি একটি মানচিত্র প্রদর্শন করবে যা সিডনি অস্ট্রেলিয়াকে কেন্দ্র করে শহরের একটি মার্কার সহ নিম্নলিখিত স্ক্রিনশটে দেখা যাবে।

    অ্যাপটি স্থাপন এবং চালানোর জন্য:

    1. অ্যান্ড্রয়েড স্টুডিওতে, আপনার অ্যাপ চালানোর জন্য রান মেনু বিকল্পে (বা প্লে বোতাম আইকন) ক্লিক করুন।
    2. একটি ডিভাইস চয়ন করার জন্য অনুরোধ করা হলে, নিম্নলিখিত বিকল্পগুলির মধ্যে একটি চয়ন করুন:
      • আপনার কম্পিউটারের সাথে সংযুক্ত Android ডিভাইসটি নির্বাচন করুন৷
      • বিকল্পভাবে, লঞ্চ এমুলেটর রেডিও বোতামটি নির্বাচন করুন এবং আপনার সেট আপ করা ভার্চুয়াল ডিভাইসটি চয়ন করুন।
    3. ওকে ক্লিক করুন। অ্যান্ড্রয়েড স্টুডিও আপনার অ্যাপ তৈরি করতে Gradle শুরু করবে এবং তারপর আপনার ডিভাইস বা এমুলেটরে ফলাফল প্রদর্শন করবে। অ্যাপটি চালু হতে কয়েক মিনিট সময় লাগতে পারে।

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