GPS und Geolokalisierungsdienste in mobilen Apps — was sie sind und Methoden zur Koordinatenerfassung

Autor: IT Sectr Veröffentlicht: 2026-03-22 Lesezeit: 8 Min.

GPS und Geolokalisierungsdienste in mobilen Apps sind APIs zur Bestimmung des physischen Standorts eines Geräts mithilfe von Satelliten, Wi-Fi und mobilen Netzwerken. Laut dem Google Android Location Guide (2025) verwenden über 60% der mobilen Apps Standortdaten zur Personalisierung von Inhalten. Der Fused Location Provider auf Android kombiniert mehrere Quellen, um die Genauigkeit zu verbessern und den Energieverbrauch zu senken.

Wichtige Erkenntnisse

  • GPS ist ein globales Satellitennavigationssystem, das im Freien eine Genauigkeit von 3–5 Metern bietet.
  • Geolokalisierungsdienste auf Android und iOS bieten APIs zur Koordinatenerfassung über GPS, Wi-Fi und Mobilfunkmasten.
  • FusedLocationProviderClient auf Android kombiniert GPS, Wi-Fi und Sensoren für eine optimale Balance zwischen Genauigkeit und Energieverbrauch.
  • CLLocationManager auf iOS verwaltet Geolokalisierungsanfragen mit Genauigkeitseinstellungen und Hintergrundmodus.
  • Standortberechtigungen werden unterteilt in „während der Nutzung“ und „immer“ — Letzteres erfordert eine zusätzliche Begründung.

Was sind GPS und Geolokalisierungsdienste

GPS (Global Positioning System) ist ein Satellitennavigationssystem, das aus 31 aktiven Satelliten in einer Umlaufbahn in etwa 20.200 km Höhe besteht. Auf mobilen Geräten empfängt der GPS-Chip Signale von Satelliten und berechnet Koordinaten auf der Grundlage von Trilateration — der Messung der Signallaufzeit von mehreren Satelliten. Geolokalisierungsdienste in mobilen Betriebssystemen fügen GPS Daten von Wi-Fi-Zugangspunkten und Mobilfunkmasten hinzu, um eine schnellere Positionierung (A-GPS) und eine verbesserte Genauigkeit in Innenräumen zu ermöglichen. Laut GPS.gov (2024) beträgt die Genauigkeit von zivilem GPS bei klarem Himmel 3–5 Meter und in dicht besiedelten Stadtgebieten bis zu 15 Meter.

Zusätzliche Satellitensysteme

Moderne mobile Geräte unterstützen nicht nur das amerikanische GPS-System, sondern auch andere globale Navigationssatellitensysteme: das russische GLONASS (24 Satelliten), das europäische Galileo (28 Satelliten) und das chinesische BeiDou. Die gleichzeitige Unterstützung mehrerer Systeme verbessert die Genauigkeit und Geschwindigkeit der Positionierung — das Gerät kann bis zu 40 Satelliten verschiedener Systeme zur Berechnung seiner Position verwenden. Auf iOS und Android erfolgt die Auswahl des Satellitensystems automatisch auf der Hardware-Chip-Ebene, Entwickler müssen dies nicht verwalten.

Wie die Standortbestimmung funktioniert

Der Prozess der Standortbestimmung auf einem mobilen Gerät besteht aus mehreren Schritten: Erfassen von Daten aus Quellen (Satelliten, Wi-Fi, Zellen), Filtern und Korrigieren von Fehlern, Berechnen von Koordinaten und Übermitteln des Ergebnisses an die App. Das Betriebssystem verwaltet diesen Prozess über einen einheitlichen Geolokalisierungsdienst, der alle Quellen zur Schonung des Akkus optimiert. Nachfolgend werden die drei Hauptquellen für Standortdaten beschrieben.

GPS und Satellitennavigation

Die Satellitennavigation bietet die höchste Genauigkeit (3–5 Meter), erfordert jedoch eine klare Sicht zum Himmel. In Innenräumen oder dicht bebauten Stadtgebieten kann das GPS-Signal abgeschwächt oder vollständig verloren gehen. Die Zeit bis zur ersten Positionsbestimmung (TTFF) beträgt 30–60 Sekunden bei einem Kaltstart und 5–10 Sekunden bei einem Warmstart. A-GPS (Assisted GPS) beschleunigt den Start, indem es Satelliten-Ephemeriden-Daten über das Internet herunterlädt, anstatt auf die Daten von den Satelliten zu warten.

Positionierung über Wi-Fi und Mobilfunkmasten

Die Wi-Fi-Positionierung verwendet eine Datenbank mit MAC-Adressen von Zugangspunkten mit bekannten Koordinaten. Die Genauigkeit beträgt innerhalb der Wi-Fi-Abdeckung 10–50 Meter. Mobilfunkmasten bieten je nach Mastdichte eine Genauigkeit von 100 Metern bis zu mehreren Kilometern. Die Kombination aller Quellen (Fused Location) ermöglicht die Erfassung von Koordinaten mit angemessener Genauigkeit bei minimalem Stromverbrauch — insbesondere wenn der GPS-Chip ausgeschaltet ist oder Satellitensignale nicht verfügbar sind.

Standortanbieter auf Android und iOS

Auf beiden Plattformen werden Geolokalisierungsdienste über System-APIs mit unterschiedlichen Abstraktionsgraden implementiert. Android verwendet FusedLocationProviderClient von Google Play Services, iOS verwendet CLLocationManager von Core Location. Beide APIs ermöglichen die Anforderung einer einmaligen Position oder das Abonnieren regelmäßiger Aktualisierungen. Nachfolgend finden Sie ein Beispiel zur Koordinatenerfassung auf Android mit dem Fused Location Provider in Kotlin.

Koordinaten auf Android erfassen

kotlin
val fusedClient = LocationServices.getFusedLocationProviderClient(this)

val locationRequest = LocationRequest.Builder(
    Priority.PRIORITY_HIGH_ACCURACY
)
.setIntervalMillis(5000)
.setMinUpdateIntervalMillis(2000)
.build()

val locationCallback = object : LocationCallback() {
    override fun onLocationResult(result: LocationResult) {
        result.lastLocation?.let { location ->
            Log.d("Standort", "Lat: ${location.latitude}, Lng: ${location.longitude}")
        }
    }
}

if (checkLocationPermission()) {
    fusedClient.requestLocationUpdates(
        locationRequest, locationCallback,
        Looper.getMainLooper()
    )
}

Im Beispiel wird LocationRequest mit PRIORITY_HIGH_ACCURACY konfiguriert — dies aktiviert GPS für maximale Genauigkeit. setIntervalMillis legt das gewünschte Aktualisierungsintervall (5 Sekunden) fest, setMinUpdateIntervalMillis das Mindestintervall (2 Sekunden). Der onLocationResult-Callback wird jedes Mal aufgerufen, wenn das System neue Koordinaten erhält. Es ist wichtig, die Berechtigung zu überprüfen, bevor requestLocationUpdates aufgerufen wird — andernfalls stürzt die App mit einer SecurityException ab.

Koordinaten auf iOS erfassen

swift
import CoreLocation

let locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()

// MARKIERUNG: - CLLocationManagerDelegate
func locationManager(
    _ manager: CLLocationManager,
    didUpdateLocations locations: [CLLocation]
) {
    guard let location = locations.last else { return }
    print("Location: \(location.coordinate.latitude), \(location.coordinate.longitude)")
}

Auf iOS bestimmt desiredAccuracy die Genauigkeit der Anfrage: kCLLocationAccuracyBest verwendet alle verfügbaren Quellen (GPS + Wi-Fi + Zellen). Nach der Anforderung der Berechtigung über requestWhenInUseAuthorization zeigt das System dem Benutzer einen Dialog an. Der didUpdateLocations-Delegate empfängt ein Array von CLLocation-Objekten mit Koordinaten, Höhe, Geschwindigkeit und Kurs. Um Aktualisierungen zu stoppen, wird stopUpdatingLocation aufgerufen, um den Akku zu schonen.

Anfordern von Standortberechtigungen

Der Zugriff auf Geolokalisierung erfordert auf beiden Plattformen die ausdrückliche Zustimmung des Benutzers. Auf Android werden die Berechtigungen ACCESS_FINE_LOCATION (GPS) und ACCESS_COARSE_LOCATION (Wi-Fi/Zellen) verwendet. Ab Android 10 ist für den Hintergrundzugriff eine separate Berechtigung ACCESS_BACKGROUND_LOCATION erforderlich. Auf iOS sind drei Stufen verfügbar: requestWhenInUseAuthorization (nur bei aktiver App), requestAlwaysAuthorization (im Hintergrund) und temporäre Zeitstempel für präzise Positionierung. Apple verlangt eine obligatorische Beschreibung in Info.plist: NSLocationWhenInUseUsageDescription oder NSLocationAlwaysAndWhenInUseUsageDescription. Ohne diese Schlüssel wird die Berechtigungsanfrage ignoriert.

Optimierung des Energieverbrauchs

Die kontinuierliche Nutzung von GPS entlädt den Akku erheblich — bis zu 30% pro Stunde Dauerbetrieb bei maximaler Genauigkeit. Zur Optimierung des Energieverbrauchs wird empfohlen, Geolokalisierung nur bei Bedarf zu nutzen und Aktualisierungen zu stoppen, wenn die App in den Hintergrund geht. Auf Android wechselt FusedLocationProviderClient automatisch zwischen GPS und Netzwerkquellen, abhängig von Verfügbarkeit und Priorität der Anfrage. Auf iOS verwenden Sie den Dienst für signifikante Standortänderungen (startMonitoringSignificantLocationChanges) für Aktualisierungen mit minimalem Stromverbrauch — die Genauigkeit ist geringer (bis zu 500 Meter), aber der Akku wird kaum belastet. Praktizieren Sie außerdem die Stapelverarbeitung: Sammeln Sie Koordinaten in Abständen von 5–10 Minuten und senden Sie sie in einer einzigen Anfrage über WorkManager auf Android oder BGTaskScheduler auf iOS an den Server. Eine Reduzierung der Anforderungshäufigkeit von 1 Sekunde auf 30 Sekunden senkt den Energieverbrauch der Geolokalisierung um 85%.

Anwendungsfälle der Geolokalisierung

Geolokalisierung wird in einer Vielzahl von mobilen Apps eingesetzt: von Navigationsgeräten bis hin zu Lieferdiensten. Zu den häufigsten Szenarien gehören die Anzeige des Benutzers auf einer Karte, geotargetierte Werbung, Kurierverfolgung, Geofencing für Push-Benachrichtigungen und Fitness-Aktivitätsverfolgung. Jedes Szenario erfordert einen eigenen Ansatz in Bezug auf Genauigkeit und Aktualisierungshäufigkeit. Nachfolgend finden Sie eine Tabelle mit Konfigurationsempfehlungen für verschiedene App-Typen.

App-TypGenauigkeitIntervallHintergrundmodus
NavigationHIGH (GPS)1–2 SekJa
LieferungBALANCED (GPS+Wi-Fi)10–30 SekJa
WetterLOW (Wi-Fi/Zellen)EinmaligNein
Soziales NetzwerkBALANCEDBeim ÖffnenNein
FitnessHIGH (GPS)5–10 SekJa

Bei der Entwicklung von Geolokalisierungsfunktionen ist zu beachten, dass Benutzer die Berechtigung jederzeit über die Systemeinstellungen widerrufen können. Die App sollte Situationen, in denen die Geolokalisierung nicht verfügbar ist, ordnungsgemäß behandeln und eine klare Erklärung anzeigen, warum die Funktionalität eingeschränkt ist.

Geofencing

Geofencing ist eine Technologie zum Erstellen virtueller Grenzen auf einer Karte. Beim Überschreiten dieser Grenzen erhält die App eine Benachrichtigung. Auf Android werden Geofences über GeofencingClient von Google Play Services implementiert, auf iOS über CLCircularRegion von Core Location. Beim Betreten oder Verlassen einer Zone weckt das System die App und sendet ein Ereignis, selbst wenn die App geschlossen oder minimiert ist. Dies wird für Push-Benachrichtigungen bei Annäherung an ein Geschäft, standortbasierte Aufgabenerinnerungen und IoT-Geräteautomatisierung verwendet. Die maximale Anzahl von Geofences ist begrenzt: 100 auf Android, 20 auf iOS gleichzeitig. Der minimale Zonenradius beträgt 50 Meter auf beiden Plattformen — andernfalls kann das System aufgrund von Ungenauigkeiten bei der Standortbestimmung möglicherweise nicht auslösen. Beim Betreten einer Zone startet das System einen Intent auf Android oder ruft den locationManager:didEnterRegion-Delegate auf iOS auf.

Häufig gestellte Fragen

Was ist GPS in mobilen Geräten?

GPS in einem Smartphone ist ein eingebauter Empfänger für Signale des Satellitennavigationssystems, der Koordinaten mit einer Genauigkeit von 3–5 Metern bestimmt. Die Geräte unterstützen auch GLONASS, Galileo und BeiDou für verbesserte Genauigkeit und Positionierungsgeschwindigkeit.

Wie unterscheidet sich GPS von Geolokalisierungsdiensten?

GPS ist lediglich eine Satellitenmethode zur Bestimmung von Koordinaten. Geolokalisierungsdienste kombinieren GPS, Wi-Fi-Positionierung und Mobilfunkdaten für eine schnellere und energieeffizientere Standortbestimmung, insbesondere in Innenräumen.

Wie fordere ich die Standortberechtigung auf iOS an?

Rufen Sie requestWhenInUseAuthorization() oder requestAlwaysAuthorization() auf einer CLLocationManager-Instanz auf. Fügen Sie zunächst NSLocationWhenInUseUsageDescription in Info.plist mit einer klaren Erläuterung hinzu, warum die Geolokalisierung benötigt wird.

Wie reduziere ich den GPS-Stromverbrauch in einer App?

Verwenden Sie FusedLocationProviderClient auf Android und den Dienst für signifikante Standortänderungen auf iOS. Erhöhen Sie das Intervall zwischen den Anfragen auf 10–30 Sekunden, deaktivieren Sie Aktualisierungen bei ausgeschaltetem Bildschirm und wenden Sie das Stapelsenden von Koordinaten an den Server an.

Kann ich den Standort ohne GPS ermitteln?

Ja, ohne GPS können Sie den ungefähren Standort über Wi-Fi-Zugangspunkte (Genauigkeit 10–50 Meter) oder Mobilfunkmasten (Genauigkeit 100–5000 Meter) ermitteln. Auf Android wird dafür ACCESS_COARSE_LOCATION verwendet.

Zusammenfassung

  • GPS ist ein Satellitennavigationssystem mit 3–5 Metern Genauigkeit, ergänzt durch GLONASS, Galileo und BeiDou.
  • Geolokalisierungsdienste kombinieren GPS, Wi-Fi und Mobilfunkmasten für eine schnelle und genaue Koordinatenbestimmung.
  • Android verwendet FusedLocationProviderClient mit LocationRequest zur Konfiguration von Genauigkeit und Aktualisierungsintervallen.
  • iOS verwendet CLLocationManager mit desiredAccuracy und dem didUpdateLocations-Delegate zur Koordinatenerfassung.
  • Berechtigungen werden unterteilt in „während der Nutzung“ und „immer“ — der Hintergrundzugriff erfordert eine separate Zustimmung des Benutzers.
  • Der GPS-Stromverbrauch kann durch Erhöhung des Intervalls und Nutzung signifikanter Standortänderungen um 85% gesenkt werden.
  • Empfehlung — wählen Sie Genauigkeit und Aktualisierungsintervall je nach Szenario: Navigation erfordert HIGH, Wetter erfordert LOW.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch