কম্পিউটার

অ্যান্ড্রয়েডে গুগল ম্যাপে বর্তমান অবস্থান কীভাবে দেখাবেন?


এই উদাহরণটি দেখায় কিভাবে আমি Android-এ Google মানচিত্রে বর্তমান অবস্থান দেখাব।

ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷

ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="https://schemas.android.com/apk/res/android"
   xmlns:tools="https://schemas.android.com/tools"
   android:id="@+id/myMap"
   android:name="com.google.android.gms.maps.SupportMapFragment"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity" />

ধাপ 3 – build.gradle (মডিউল:অ্যাপ)

-এ নিম্নলিখিত নির্ভরতা যোগ করুন
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'

ধাপ 4 − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
import android.Manifest;
import android.content.pm.PackageManager;
import android.location.Location;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.location.FusedLocationProviderClient;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.fragment.app.FragmentActivity;
public class MainActivity extends FragmentActivity implements OnMapReadyCallback {
   Location currentLocation;
   FusedLocationProviderClient fusedLocationProviderClient;
   private static final int REQUEST_CODE = 101
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
      fetchLocation();
   }
   private void fetchLocation() {
      if (ActivityCompat.checkSelfPermission(
         this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(
         this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
         ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_CODE);
         return;
      }
      Task<Location> task = fusedLocationProviderClient.getLastLocation();
      task.addOnSuccessListener(new OnSuccessListener<Location>() {
         @Override
         public void onSuccess(Location location) {
            if (location != null) {
               currentLocation = location;
               Toast.makeText(getApplicationContext(), currentLocation.getLatitude() + "" + currentLocation.getLongitude(), Toast.LENGTH_SHORT).show();
               SupportMapFragment supportMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.myMap);
               assert supportMapFragment != null;
               supportMapFragment.getMapAsync(MainActivity.this);
            }
         }
      });
   }
   @Override
   public void onMapReady(GoogleMap googleMap) {
      LatLng latLng = new LatLng(currentLocation.getLatitude(), currentLocation.getLongitude());
      MarkerOptions markerOptions = new MarkerOptions().position(latLng).title("I am here!");
      googleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
      googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 5));
      googleMap.addMarker(markerOptions);
   }
   @Override
   public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
      switch (requestCode) {
         case REQUEST_CODE:
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
               fetchLocation();
         }
         break;
      }
   }
}

ধাপ 5 – strings.xml খুলুন এবং নিম্নলিখিত কোড যোগ করুন -

<resources>
   <string name="app_name">Sample</string>
   <string name="map_key" translatable="false">Enter your google API key here</string>
</resources>

ধাপ 6 – google API কী (map_key) পেতে, অনুগ্রহ করে নীচের ধাপগুলি অনুসরণ করুন

Google ক্লাউড প্ল্যাটফর্ম কনসোলে যান৷

  • প্রকল্পের ড্রপ-ডাউনে ক্লিক করুন এবং যে প্রকল্পটির জন্য আপনি একটি API কী যোগ করতে চান সেটি নির্বাচন করুন বা তৈরি করুন৷
  • মেনু বোতামে ক্লিক করুন অ্যান্ড্রয়েডে গুগল ম্যাপে বর্তমান অবস্থান কীভাবে দেখাবেন? এবং APIs এবং পরিষেবাগুলি> শংসাপত্র নির্বাচন করুন৷
  • শংসাপত্র পৃষ্ঠায়, শংসাপত্র তৈরি করুন> API কী ক্লিক করুন। API কী তৈরি করা ডায়ালগ আপনার নতুন তৈরি API কী প্রদর্শন করে।
  • ক্লোজ ক্লিক করুন।
  • নতুন API কী API কী-এর অধীনে শংসাপত্র পৃষ্ঠায় তালিকাভুক্ত করা হয়েছে। (প্রোডাকশনে ব্যবহার করার আগে API কী সীমাবদ্ধ করতে মনে রাখবেন।)

পদক্ষেপ 7 − androidManifest.xml

-এ নিম্নলিখিত কোড যোগ করুন
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
   <uses-permission android:name="android.permission.INTERNET"/>
   <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
   <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/map_key"/>
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

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

অ্যান্ড্রয়েডে গুগল ম্যাপে বর্তমান অবস্থান কীভাবে দেখাবেন?


  1. গুগল এপিআই ছাড়া অ্যান্ড্রয়েডে স্পিচ শনাক্তকারী কীভাবে বিকাশ করবেন?

  2. কিভাবে Android এ বর্তমান অবস্থান অক্ষাংশ এবং দ্রাঘিমাংশ পেতে?

  3. আপনার বর্তমান অবস্থান ট্র্যাক করতে Android এ অবস্থান API কিভাবে ব্যবহার করবেন?

  4. গুগল ম্যাপের সাথে HTML5 জিওলোকেশন ব্যবহার করে বর্তমান অবস্থান কীভাবে দেখাবেন?