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

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

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

यह उदाहरण दर्शाता है कि एंड्रॉइड में कोटलिन का उपयोग करके गूगल मैप पर वर्तमान स्थान कैसे दिखाया जाए।

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

एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं: File → New Project पर जाएं और सभी आवश्यक विवरण भरकर नया प्रोजेक्ट बनाएं।

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

build.gradle (Module: app) में निम्नलिखित निर्भरताएं जोड़ें:

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

चरण 4 - MainActivity.kt में कोड जोड़ें

import android.Manifest
import android.content.pm.PackageManager
import android.location.Location
import android.os.Bundle
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.fragment.app.FragmentActivity
import com.google.android.gms.location.FusedLocationProviderClient
import com.google.android.gms.location.LocationServices
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

class MainActivity : FragmentActivity(), OnMapReadyCallback {
    private lateinit var currentLocation: Location
    private lateinit var fusedLocationProviderClient: FusedLocationProviderClient
    private val permissionCode = 101

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this@MainActivity)
        fetchLocation()
    }

    private fun 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, arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), permissionCode)
            return
        }
        val task = fusedLocationProviderClient.lastLocation
        task.addOnSuccessListener { location ->
            if (location != null) {
                currentLocation = location
                Toast.makeText(applicationContext, currentLocation.latitude.toString() + "" + currentLocation.longitude, Toast.LENGTH_SHORT).show()
                val supportMapFragment = (supportFragmentManager.findFragmentById(R.id.myMap) as SupportMapFragment?)!!
                supportMapFragment.getMapAsync(this@MainActivity)
            }
        }
    }

    override fun onMapReady(googleMap: GoogleMap?) {
        val latLng = LatLng(currentLocation.latitude, currentLocation.longitude)
        val markerOptions = MarkerOptions().position(latLng).title("मैं यहाँ हूँ!")
        googleMap?.animateCamera(CameraUpdateFactory.newLatLng(latLng))
        googleMap?.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 5f))
        googleMap?.addMarker(markerOptions)
    }

    override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String?>, grantResults: IntArray) {
        when (requestCode) {
            permissionCode -> if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                fetchLocation()
            }
        }
    }
}

चरण 5 - गूगल API कुंजी प्राप्त करें

गूगल क्लाउड प्लेटफॉर्म कंसोल पर जाएं और निम्नलिखित चरणों का पालन करें:

  • प्रोजेक्ट ड्रॉप-डाउन पर क्लिक करें और वह प्रोजेक्ट चुनें या बनाएं जिसके लिए आप API कुंजी जोड़ना चाहते हैं।
  • मेनू बटन पर क्लिक करें और APIs & Services > Credentials चुनें।
  • Credentials पेज पर, Create credentials > API key पर क्लिक करें।
  • Close पर क्लिक करें।
  • नई API कुंजी Credentials पेज पर API keys के तहत सूचीबद्ध होगी। (उत्पादन में उपयोग करने से पहले API कुंजी को प्रतिबंधित करना याद रखें।)
  • चरण 6 में दिखाए अनुसार मैनिफेस्ट फ़ाइल में <meta-data></meta-data> में API कुंजी जोड़ें।

चरण 6 - AndroidManifest.xml में कोड जोड़ें

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.q15">
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_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">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="AIzaSyCiSh4VnnI1jemtZTytDoj2X7Wl6evey30" />
    </application>
</manifest>

ऐप चलाएं

अपने एंड्रॉइड डिवाइस को कंप्यूटर से कनेक्ट करें। एंड्रॉइड स्टूडियो में प्रोजेक्ट की एक्टिविटी फ़ाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और डिवाइस पर डिफ़ॉल्ट स्क्रीन देखें।

  1. एंड्रॉइड पर प्रोग्रामेटिकली वर्तमान GPS लोकेशन कैसे प्राप्त करें? एंड्रॉइड पर प्रोग्रामेटिकली वर्तमान GPS लोकेशन कैसे प्राप्त करें?

    एंड्रॉइड में FusedLocationProviderClient का उपयोग करके GPS लोकेशन प्राप्त करना यह उदाहरण दर्शाता है कि एंड्रॉइड ऐप में प्रोग्रामेटिकली वर्तमान GPS लोकेशन कैसे प्राप्त करें। हम Google Play Services के FusedLocationProviderClient का उपयोग करेंगे, जो बैटरी-कुशल तरीके से सटीक लोकेशन प्रदान करता है। आवश

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

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

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

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