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