Heim >Java >javaLernprogramm >Wie kann ich mit LocationManager Breiten- und Längengrade in Android abrufen?
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.
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(); }
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);
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" />
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!