Start · Sprachen · JavaScript · Referenz · GeolocationCoordinates.longitude

GeolocationCoordinates.longitude

Eigenschaft

Schreibgeschützte Zahl mit der geographischen Länge der ermittelten Position in Dezimalgrad (-180 bis 180, östlich positiv).

seit JavaScript Baseline: alle Browser (Secure Context erforderlic Kategorie: webapi

Signatur

GeolocationCoordinates.longitude

Beschreibung

Die Eigenschaft longitude eines GeolocationCoordinates-Objekts gibt die geographische Länge (Longitude) der aktuellen Position als number in Dezimalgrad zurück. Positive Werte liegen östlich des Nullmeridians von Greenwich, negative Werte westlich davon. Der Wertebereich reicht von -180 bis 180.

Man erhält das Objekt nicht direkt, sondern über die Eigenschaft coords einer GeolocationPosition, die an den Erfolgs-Callback von navigator.geolocation.getCurrentPosition() oder watchPosition() übergeben wird. Zusammen mit latitude ergibt sich daraus die Position, etwa für Karten, Entfernungsberechnungen oder standortbasierte Suchen.

Wie genau der Wert ist, hängt von der Ortungsquelle ab (GPS, WLAN, Mobilfunk, IP). Den geschätzten Fehlerradius in Metern liefert GeolocationCoordinates.accuracy. Werte mit vielen Nachkommastellen bedeuten also nicht automatisch eine hohe Genauigkeit.

Rückgabewert

Typ
number
Beschreibung
Geographische Länge in Dezimalgrad (WGS 84), im Bereich -180 bis 180. Östlich von Greenwich positiv, westlich negativ.

Beispiele

Aktuelle Länge und Breite auslesen

if ('geolocation' in navigator) {
  navigator.geolocation.getCurrentPosition(
    ({ coords }) => {
      const { latitude, longitude, accuracy } = coords;
      console.log(`Breite: ${latitude.toFixed(5)}, Länge: ${longitude.toFixed(5)} (±${Math.round(accuracy)} m)`);
    },
    (err) => console.error(`Fehler ${err.code}: ${err.message}`),
    { enableHighAccuracy: true, timeout: 10000 }
  );
}
Breite: 52.52001, Länge: 13.40495 (±25 m)

Promise-Wrapper mit async/await und Link zu einer Karte

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

const showOnMap = async () => {
  try {
    const { coords } = await getPosition({ timeout: 8000 });
    const url = `https://www.openstreetmap.org/?mlat=${coords.latitude}&mlon=${coords.longitude}#map=16/${coords.latitude}/${coords.longitude}`;
    console.log(url);
  } catch (err) {
    console.warn('Standort nicht verfügbar:', err.message);
  }
};

showOnMap();
https://www.openstreetmap.org/?mlat=52.52001&mlon=13.40495#map=16/52.52001/13.40495

Entfernung zu einem Ziel per 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));
};

// Ziel: Kölner Dom
const target = { lat: 50.94128, lon: 6.95828 };

const watchId = navigator.geolocation.watchPosition(({ coords }) => {
  const d = distanceKm(coords.latitude, coords.longitude, target.lat, target.lon);
  console.log(`Noch ${d.toFixed(1)} km bis zum Ziel`);
  if (d < 0.1) navigator.geolocation.clearWatch(watchId);
});
Noch 477.4 km bis zum Ziel

// Wichtig · Fallstricke

  • Reihenfolge verwechseln: Viele Formate (GeoJSON, Mapbox, Leaflet-intern teils) erwarten [longitude, latitude], andere (Leaflet L.latLng, Google Maps) [latitude, longitude]. Vertauschte Werte sind ein sehr häufiger Fehler.
  • Schreibgeschützt: Wer coords.longitude zuweist, erreicht nichts (im Strict Mode gibt es einen TypeError). Für eigene Werte kopiert man sie in ein eigenes Objekt, z. B. mit coords.toJSON() (neuere Browser) oder per Destrukturierung.
  • Secure Context & Berechtigung: Die Geolocation-API funktioniert nur über HTTPS (oder localhost) und erst, wenn die Nutzerin oder der Nutzer zustimmt. Wird abgelehnt, bekommt der Fehler-Callback PERMISSION_DENIED (Code 1). In iframes ist zusätzlich die Permissions Policy geolocation nötig.
  • Genauigkeit: Der Wert kann je nach Quelle mehrere Kilometer danebenliegen. Prüfe deshalb immer accuracy. Mehr als 5–6 Nachkommastellen haben praktisch keine Bedeutung (6 Stellen ≈ 0,1 m).
  • Datenschutz: Standortdaten sind personenbezogene Daten (DSGVO). Frage nur nach, wenn es nötig ist, und speichere die Werte sparsam, gegebenenfalls gerundet.
  • Kompatibilität: Wird von allen modernen Browsern unterstützt. Ältere Browser nannten das Interface Coordinates, die Eigenschaft ist aber dieselbe.