Start · Sprachen · JavaScript · Referenz · GeolocationCoordinates.latitude

GeolocationCoordinates.latitude

Eigenschaft

Schreibgeschützte Eigenschaft, die die geographische Breite der ermittelten Position in Dezimalgrad als <code>number</code> (double) liefert.

seit JavaScript Baseline: alle Browser (sicherer Kontext / HTTPS e Kategorie: webapi

Signatur

GeolocationCoordinates.latitude

Beschreibung

Die Eigenschaft latitude eines GeolocationCoordinates-Objekts gibt die geographische Breite der vom Gerät ermittelten Position in Dezimalgrad an (Bezugssystem WGS 84). Der Wert liegt zwischen -90 (Südpol) und 90 (Nordpol). Positive Werte stehen für die Nordhalbkugel, negative für die Südhalbkugel.

Du erhältst das Objekt nicht direkt, sondern über die Eigenschaft coords eines GeolocationPosition-Objekts. Dieses wird an den Erfolgs-Callback von navigator.geolocation.getCurrentPosition() oder navigator.geolocation.watchPosition() übergeben.

Zusammen mit longitude bildet latitude die Grundlage für Kartenanzeigen, Entfernungsberechnungen, standortbezogene Suchen oder Geofencing. Wie genau der Wert ist, verrät dir accuracy (Radius in Metern). Je nach Quelle (GPS, WLAN, IP-Adresse) kann die Genauigkeit zwischen wenigen Metern und mehreren Kilometern schwanken.

Rückgabewert

Typ
number
Beschreibung
Eine Gleitkommazahl (double) im Bereich -90 bis 90: die geographische Breite in Dezimalgrad. Der Wert ist schreibgeschützt.

Beispiele

Aktuelle Breite einmalig abfragen

if ('geolocation' in navigator) {
  navigator.geolocation.getCurrentPosition(
    (position) => {
      const { latitude, longitude, accuracy } = position.coords;
      console.log(`Breite: ${latitude.toFixed(5)}°`);
      console.log(`Länge: ${longitude.toFixed(5)}°`);
      console.log(`Genauigkeit: ±${Math.round(accuracy)} m`);
    },
    (error) => console.error(`Fehler ${error.code}: ${error.message}`),
    { enableHighAccuracy: true, timeout: 10000, maximumAge: 0 }
  );
} else {
  console.warn('Geolocation wird nicht unterstützt.');
}
Breite: 52.52001° Länge: 13.40495° Genauigkeit: ±15 m

Promise-Wrapper mit async/await und Hemisphären-Ausgabe

const getPosition = (options = {}) =>
  new Promise((resolve, reject) =>
    navigator.geolocation.getCurrentPosition(resolve, reject, options)
  );

const formatLatitude = (lat) =>
  `${Math.abs(lat).toFixed(4)}° ${lat >= 0 ? 'N' : 'S'}`;

const showLocation = async () => {
  try {
    const { coords } = await getPosition({ timeout: 8000 });
    console.log(formatLatitude(coords.latitude));
  } catch (err) {
    console.error('Standort nicht verfügbar:', err.message);
  }
};

showLocation();
52.5200° N

Entfernung zu einem Ziel mit der Haversine-Formel

const toRad = (deg) => (deg * Math.PI) / 180;

const distanceKm = (lat1, lon1, lat2, lon2) => {
  const R = 6371; // Erdradius in km
  const dLat = toRad(lat2 - lat1);
  const dLon = toRad(lon2 - lon1);
  const a =
    Math.sin(dLat / 2) ** 2 +
    Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * Math.sin(dLon / 2) ** 2;
  return 2 * R * Math.asin(Math.sqrt(a));
};

const ziel = { lat: 48.13743, lon: 11.57549 }; // München

const watchId = navigator.geolocation.watchPosition(({ coords }) => {
  const km = distanceKm(coords.latitude, coords.longitude, ziel.lat, ziel.lon);
  console.log(`Noch ${km.toFixed(1)} km bis München`);
  if (km < 1) navigator.geolocation.clearWatch(watchId);
});
Noch 504.3 km bis München

// Wichtig · Fallstricke

  • Sicherer Kontext: Die Geolocation-API funktioniert nur über HTTPS (oder localhost). Auf unsicheren Seiten wird der Fehler-Callback aufgerufen bzw. die API fehlt ganz.
  • Berechtigung: Der Browser fragt den Nutzer um Erlaubnis. Lehnt er ab, erhältst du einen GeolocationPositionError mit code === 1 (PERMISSION_DENIED). In iframes muss die Permissions-Policy geolocation erlaubt sein.
  • Genauigkeit: Werte mit vielen Nachkommastellen täuschen oft Präzision nur vor. Werte immer zusammen mit accuracy aus. Fünf Nachkommastellen entsprechen ungefähr 1 m.
  • Reihenfolge: Viele Formate (z. B. GeoJSON) erwarten [longitude, latitude], Karten-Bibliotheken wie Leaflet dagegen [lat, lng]. Das ist eine häufige Fehlerquelle.
  • Datenschutz: Standortdaten sind personenbezogene Daten (DSGVO). Übertrage oder speichere sie nur mit Einwilligung und runde sie, wenn keine hohe Präzision nötig ist.
  • Die Eigenschaft ist schreibgeschützt. Eine Zuweisung wird ignoriert bzw. wirft im Strict Mode einen TypeError.