Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में गूगल मैप पर वर्तमान स्थान कैसे दिखाएं?

गूगल मैप्स और फ्यूज्ड लोकेशन से वर्तमान स्थान प्रदर्शित करें

यह उदाहरण दर्शाता है कि Google Maps API और FusedLocationProviderClient का उपयोग करके मैप पर उपयोगकर्ता का वर्तमान स्थान कैसे दिखाएं।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें (Google Maps Activity टेम्पलेट का उपयोग कर सकते हैं)।

चरण 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: Gradle निर्भरताएं जोड़ें

build.gradle (Module: app) में:

implementation 'com.google.android.gms:play-services-maps:18.2.0'
implementation 'com.google.android.gms:play-services-location:21.0.1'

चरण 4: 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("मैं यहाँ हूँ!");
        googleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
        googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15));
        googleMap.addMarker(markerOptions);
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if (requestCode == REQUEST_CODE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                fetchLocation();
            }
        }
    }
}

चरण 5: API Key सेटअप

  1. Google Cloud Console पर जाएं
  2. प्रोजेक्ट बनाएं/चुनें → APIs & Services → Credentials
  3. Create Credentials → API Key
  4. API Key को प्रतिबंधित करें (Android ऐप, Maps SDK)
  5. res/values/strings.xml में जोड़ें: <string name="map_key" translatable="false">YOUR_API_KEY</string>

चरण 6: मैनिफेस्ट में परमिशन और API Key

<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 ...>
    <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/map_key"/>
    <activity android:name=".MainActivity" ...>...</activity>
</application>

ऐप चलाएं

लोकेशन परमिशन दें, मैप पर आपका वर्तमान स्थान मार्कर के साथ दिखेगा।

एंड्रॉइड में गूगल मैप पर वर्तमान स्थान कैसे दिखाएं?

  1. Android में वर्तमान स्थान की अक्षांश और देशांतर कैसे प्राप्त करें? Android में वर्तमान स्थान की अक्षांश और देशांतर कैसे प्राप्त करें?

    Android में GPS से वर्तमान लोकेशन (अक्षांश/देशांतर) प्राप्त करने का गाइड यह ट्यूटोरियल दिखाता है कि कैसे LocationManager, रनटाइम परमिशन और GPS प्रोवाइडर का उपयोग करके डिवाइस की वर्तमान लोकेशन प्राप्त की जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनकर नया प्रोजेक्ट बनाएं।

  1. Android में Location API से वर्तमान लोकेशन कैसे ट्रैक करें? Android में Location API से वर्तमान लोकेशन कैसे ट्रैक करें?

    परिचय यह ट्यूटोरियल दिखाता है कि Google Maps SDK और Location API का उपयोग करके Android ऐप में वर्तमान लोकेशन कैसे दिखाएं। हम मैप पर मार्कर लगाएंगे और कैमरा को उपयोगकर्ता की लोकेशन पर केंद्रित करेंगे। आवश्यक चरण चरण 1: नया प्रोजेक्ट बनाएं और डिपेंडेंसी जोड़ें Android Studio में File → New Project →

  1. HTML5 जियोलोकेशन के साथ गूगल मैप्स का उपयोग करके वर्तमान स्थान कैसे दिखाएं? HTML5 जियोलोकेशन के साथ गूगल मैप्स का उपयोग करके वर्तमान स्थान कैसे दिखाएं?

    HTML5 जियोलोकेशन API आपको अपनी पसंदीदा वेबसाइट्स के साथ अपना स्थान साझा करने देता है। एक जावास्क्रिप्ट आपके अक्षांश और देशांतर को कैप्चर कर सकता है और इसे बैकएंड वेब सर्वर पर भेज सकता है और फैंसी स्थान-जागरूक चीजें कर सकता है जैसे स्थानीय व्यवसाय ढूंढना या मानचित्र पर अपना स्थान दिखाना। जियोलोकेशन क