0Pricing
React Academy · Lektion

Geolocation API in React-Komponenten

Den Standort des Benutzers mit der Geolocation API anfordern und verfolgen, Berechtigungen behandeln und überwachte Positionsabfragen aufräumen

Geolocation API in React-Komponenten ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Einmaliges Auslesen der Position

navigator.geolocation.getCurrentPosition(successCallback, errorCallback, options) fragt den Gerätestandort einmalig ab. Der Erfolgs-Callback erhält ein GeolocationPosition-Objekt. Das eignet sich, wenn Sie den Standort nur einmal benötigen, etwa um beim Klicken auf eine Schaltfläche das nächstgelegene Geschäft zu finden, statt eine laufende Bewegung zu verfolgen.

Kontinuierliche Positionsverfolgung

navigator.geolocation.watchPosition(successCallback, errorCallback, options) löst den Callback kontinuierlich aus, sobald sich die Geräteposition ändert. Die Methode gibt eine numerische watchId zurück. Das eignet sich für Echtzeitanwendungen wie die Sendungsverfolgung oder die Turn-by-Turn-Navigation, bei denen die Position aktuell bleiben muss.

Das Positionsobjekt

Das GeolocationPosition-Objekt enthält eine coords-Eigenschaft mit latitude, longitude und accuracy (in Metern). Zu den zusätzlichen optionalen Feldern gehören altitude, altitudeAccuracy, heading und speed. Das Feld timestamp gibt an, wann die Position erfasst wurde.

Geolocation-Fehlercodes

Der Fehler-Callback erhält ein GeolocationPositionError-Objekt mit einer numerischen code-Eigenschaft. Code 1 steht für PERMISSION_DENIED (der Benutzer hat die Berechtigung verweigert), Code 2 für POSITION_UNAVAILABLE (Hardware- oder Netzwerkfehler) und Code 3 für TIMEOUT (die Anfrage hat zu lange gedauert). Behandeln Sie immer alle drei Fälle.

Watch beim Aufräumen beenden

Ein watchPosition-Listener läuft unbegrenzt, bis Sie ihn beenden. Geben Sie in useEffect eine Cleanup-Funktion zurück, die navigator.geolocation.clearWatch(watchId) aufruft. Wenn Sie das Cleanup vergessen, läuft der Watcher nach dem Unmounten der Komponente weiter, verbraucht Akkuleistung und kann möglicherweise den Status einer nicht mehr eingebundenen Komponente aktualisieren.

useGeolocation-Hook erstellen

Ein useGeolocation-Hook verwaltet einen Status mit vier möglichen Werten: idle (noch nicht angefordert), loading (Anfrage läuft), success (Position empfangen) und error (fehlgeschlagen). Außerdem speichert er position und errorMessage im Status. Komponenten erhalten dadurch eine klare und konsistente Schnittstelle.

Eine verweigerte Berechtigung angemessen behandeln

Wenn der Benutzer die Geolokalisierung ablehnt, zeigen Sie eine hilfreiche Nachricht an, die erklärt, warum das Feature den Standortzugriff benötigt und wie er in den Browsereinstellungen wieder aktiviert werden kann. Zeigen Sie Benutzern niemals einen rohen Fehlercode. Bieten Sie als Fallback die manuelle Eingabe einer Adresse an, damit das Feature auch ohne Standortberechtigung nutzbar bleibt.

HTTPS-Voraussetzung für Geolocation

Wie die meisten leistungsfähigen Browser-APIs ist Geolocation auf sichere Kontexte beschränkt. navigator.geolocation ist auf einfachen HTTP-Seiten undefined. Während der Entwicklung funktioniert die API auf localhost auch ohne HTTPS. Stellen Sie in der Produktion immer sicher, dass Ihre App über HTTPS ausgeliefert wird, sonst werden Benutzer niemals zur Erteilung der Berechtigung aufgefordert.

Optionen für Genauigkeit und Zeitsteuerung

Das optionale dritte Argument von getCurrentPosition und watchPosition akzeptiert ein Optionsobjekt. enableHighAccuracy: true fordert GPS-Genauigkeit an, verbraucht dafür aber mehr Energie. timeout legt die maximale Wartezeit in Millisekunden fest. maximumAge erlaubt die Verwendung einer zwischengespeicherten Position, wenn sie innerhalb der angegebenen Millisekunden erfasst wurde.

Anwendungsfälle aus der Praxis

Geolocation ermöglicht Features wie „ein Geschäft in meiner Nähe finden“, die Verfolgung von Lieferfahrern auf einer Karte, wetterbezogene Informationen für die aktuelle Stadt, standortbezogene Beiträge und Entfernungsberechnungen zwischen dem Benutzer und einem Ziel. Informieren Sie Benutzer immer klar darüber, warum die App ihren Standort benötigt, bevor Sie die Berechtigung anfordern.

Geolocation in der Entwicklung testen

Mit den Chrome DevTools können Sie einen simulierten Gerätestandort festlegen. Öffnen Sie die DevTools, öffnen Sie das Dreipunktmenü und wählen Sie Weitere Tools und dann Sensoren. Sie können die Koordinaten für Breiten- und Längengrad eingeben, um jeden beliebigen Standort zu simulieren. Das ist deutlich schneller, als zum Testen standortabhängiger Features tatsächlich an verschiedene Orte zu fahren.

Geolocation-Fehlercodes

Was bedeutet ein GeolocationPositionError-Code von 1?

Lektionszusammenfassung: Geolocation API in React

Verwenden Sie getCurrentPosition für eine einmalige Abfrage und watchPosition für eine kontinuierliche Verfolgung. Rufen Sie im Cleanup von useEffect immer clearWatch auf. Erstellen Sie einen useGeolocation-Hook mit den Statuswerten idle, loading, success und error. Behandeln Sie verweigerte Berechtigungen angemessen und denken Sie daran, dass Geolocation in der Produktion HTTPS erfordert.

Häufig gestellte Fragen

Ist die Lektion „Geolocation API in React-Komponenten“ kostenlos?

Ja — der vollständige Text von „Geolocation API in React-Komponenten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Geolocation API in React-Komponenten“?

Den Standort des Benutzers mit der Geolocation API anfordern und verfolgen, Berechtigungen behandeln und überwachte Positionsabfragen aufräumen Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um React Academy zu starten?

Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Geolocation API in React-Komponenten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Clipboard API: Kopieren und Einfügen in React
  2. Geolocation API in React-Komponenten
  3. Notifications API und Berechtigungen
  4. IntersectionObserver für scrollgesteuerte Effekte
← Zurück zu React Academy