Anleitungen

Eine Schaltfläche „Meinen Standort ermitteln“ ohne Browser-Abfrage hinzufügen

Die im Browser eingebaute Standortabfrage verlangt Genauigkeit auf GPS-Niveau und erfordert einen ausdrücklichen Klick zur Freigabe, den viele Besucher reflexartig ablehnen. Eine Schaltfläche „Meinen Standort ermitteln“ muss diesen Dialog überhaupt nicht durchlaufen, wenn ein ungefährer Standort für Ihr Vorhaben ausreicht.

Standortermittlung auf der Serverseite

Wenn die Schaltfläche angeklickt wird, senden Sie eine Anfrage an Ihren eigenen Server, der die IP-Adresse des Besuchers bereits über die Verbindung sieht. Fragen Sie diese Adresse über /v1/ip ab und verwenden Sie das Ergebnis direkt, ohne dass zu irgendeinem Zeitpunkt ein Berechtigungsdialog des Browsers ins Spiel kommt.

GET /v1/ip
{
  "status": "ok",
  "ip": "198.51.100.23",
  "version": 4,
  "found": true,
  "country": "Italy",
  "country_code": "IT",
  "region": "Lombardy",
  "city": "Milan",
  "postcode": "20121",
  "lat": 45.4642,
  "lon": 9.1900,
  "timezone": "Europe/Rome",
  "asn": 3456,
  "org": "Example ISP"
}

Wird der Endpunkt wie hier gezeigt ohne den Parameter ip aufgerufen, fragt er die Adresse ab, von der die Anfrage stammt. Das ist genau die eigene Adresse des Besuchers, wenn Ihr Backend den Aufruf in seinem Namen ausführt.

Erwartungen richtig setzen

Ein IP-basierter Standort ist bestenfalls auf Stadtebene genau, nicht auf GPS-Niveau. Beschriften Sie die Funktion ehrlich, etwa mit „Meine ungefähre Region ermitteln“, statt punktgenaue Präzision anzudeuten, damit ein Besucher nicht überrascht ist, wenn das Ergebnis ein Stadtzentrum und nicht seine genaue Straße ist.

Ein zweites Beispiel: regionale Preisanzeige

Dasselbe Schaltflächenmuster eignet sich, um auf einer Landingpage regional passende Preis- oder Währungsinformationen anzuzeigen. Da jeder Preis unabhängig vom Standort des Besuchers in EUR angegeben wird, würde eine solche Schaltfläche eher dazu dienen, eine Versandkostenschätzung oder eine regionale Kontaktnummer vorauszufüllen, als die angezeigte Währung zu ändern. Die zugrunde liegende Anfrage ist jedoch identisch: eine IP-Abfrage, die genug zurückgibt, um Stadt und Land sofort auszufüllen.

Wo das gut passt

Dieser Ansatz passt zu Filialfindern, regionalen Standardinhalten und Versandkostenschätzungen, bei denen eine Stadt oder Region alles ist, was benötigt wird. Er ersetzt keinen GPS-Standort für etwas wie eine Navigation mit Abbiegehinweisen, bei der die Browserabfrage und der echte Gerätestandort tatsächlich notwendig sind.

Ein häufiger Fehler, den Sie vermeiden sollten

Behandeln Sie eine Verbindung über ein Firmennetzwerk oder ein VPN nicht als besonderen Fehlerfall, der anders als jede andere Abfrage behandelt werden muss. Der Endpunkt liefert trotzdem ein Ergebnis, nur eben eines, das auf die registrierte Adresse dieses Netzwerks zentriert ist. Das kann eine andere Stadt oder sogar ein anderes Land sein als der Ort, an dem der Besucher tatsächlich sitzt. Die richtige Reaktion ist dieselbe wie bei jeder IP-basierten Schätzung: Lassen Sie den Besucher den Wert überschreiben, statt zu versuchen, VPN-Verkehr zu erkennen und gezielt als ungewöhnlich zu kennzeichnen.

Sauberer Rückfall

Wenn found als false zurückkommt, was bei manchen Adressbereichen vorkommen kann, bitten Sie den Besucher ersatzweise, einen Ort von Hand einzugeben, statt eine Fehlermeldung anzuzeigen. Der ganze Sinn der Schaltfläche war schließlich, diesen Schritt zu sparen, nicht eine Sackgasse einzubauen.

Kosten der Funktion

Jeder Klick ist eine Anfrage. Eine Schaltfläche, die Besucher gelegentlich nutzen, bleibt ein winziger Bruchteil der 2.500 kostenlosen Anfragen pro Tag, die in jedem Schlüssel enthalten oder ohne Schlüssel von einer einzelnen Adresse aus verfügbar sind. Besucher mit IPv4 und IPv6 werden über denselben Aufruf aufgelöst, sodass für keine der beiden Versionen ein eigener Codepfad nötig ist.

Wer auf den Berechtigungsdialog verzichtet, tauscht Präzision gegen Bequemlichkeit, und für viele Standortfunktionen ist das der richtige Tausch. Die Dokumentation zur IPv4-Abfrage beschreibt die vollständige Antwort des Endpunkts.