Heim >Java >javaLernprogramm >Wie kann ich mit LocationManager Breiten- und Längengrade in Android abrufen?

Wie kann ich mit LocationManager Breiten- und Längengrade in Android abrufen?

DDD
DDDOriginal
2024-11-18 07:47:02730Durchsuche

How Can I Get Latitude and Longitude in Android Using LocationManager?

Breiten- und Längengrad in Android mithilfe von Standort-Tools ermitteln

In Android ist das Abrufen des aktuellen Standorts eines Mobilgeräts, einschließlich seines Breiten- und Längengrads, eine häufige Anforderung. Um dies zu erreichen, bietet die LocationManager-API mehrere Optionen.

Verwendung von getLastKnownLocation()

Ein einfacher Ansatz ist die Verwendung der Methode getLastKnownLocation() des LocationManagers. Diese Methode ruft den aktuellsten bekannten Standort für einen bestimmten Standortanbieter ab, z. B. GPS.

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);

if (location != null) {
    double longitude = location.getLongitude();
    double latitude = location.getLatitude();
}

Verwendung von requestLocationUpdates()

Für kontinuierliche Standortaktualisierungen sollte die Methode requestLocationUpdates() verwendet werden . Diese Methode verwendet einen LocationListener als Argument, der Rückrufe bereitstellt, wenn sich der Standort ändert.

private final LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
        double longitude = location.getLongitude();
        double latitude = location.getLatitude();
    }
};

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);

Überlegungen zu Berechtigungen

Um GPS oder andere Standortdienste zu verwenden, muss die Android-Anwendung über die Berechtigung ACCESS_FINE_LOCATION verfügen . Diese Berechtigung sollte in der Datei AndroidManifest.xml deklariert werden:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Weitere Überlegungen

Für Geräte, die möglicherweise nicht über GPS-Funktionen verfügen, kann die Berechtigung ACCESS_COARSE_LOCATION hinzugefügt werden, um die Verwendung von zu ermöglichen netzwerkbasierte Standortanbieter. Darüber hinaus kann die Methode getBestProvider() verwendet werden, um basierend auf den aktuellen Bedingungen den am besten geeigneten Standortanbieter auszuwählen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit LocationManager Breiten- und Längengrade in Android abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn