Geo-Location per API ist ein Verfahren, mit dem der Standort eines Geräts mithilfe verschiedener Techniken des Betriebssystems ermittelt werden kann. Im Gegensatz zur Geo-Location per IP erfordert dieses Verfahren die Einwilligung des Benutzers, ist jedoch viel präziser.
Und so geht es
Im HTML-Code brauchst du einen Button, ein Element zur Ausgabe des Status und einen Link, der auf eine Karte beispielsweise von OpenStreetMap zeigt.
HTML<button onclick="geoFindMe();">Show my location</button>
<p id="status"></p>
<a id="map-link" target="_blank"></a>
Und dann braucht es noch etwas Javascript.
default.jsfunction geoFindMe() {
const status = document.querySelector("#status");
const mapLink = document.querySelector("#map-link");
mapLink.href = "";
mapLink.textContent = "";
function success(position) {
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
status.textContent = "";
mapLink.href = `https://www.openstreetmap.org/#map=18/${latitude}/${longitude}`;
mapLink.textContent = `Latitude: ${latitude} °, Longitude: ${longitude} °`;
}
function error() {
status.textContent = "Unable to retrieve your location";
}
if (!navigator.geolocation) {
status.textContent = "Geolocation is not supported by your browser";
} else {
status.textContent = "Locating…";
navigator.geolocation.getCurrentPosition(success, error);
}
}
Gratulation!
Falls du eine Variante ohne Benutzer-Einwilligung suchst, dann schaue dir die nachfolgende Geo-Location per IP an.
Standort über IP ermitteln
Geo-Location per IP ist ein Verfahren, mit dem der Standort eines Geräts mithilfe seiner IP-Adresse ermittelt werden kann. Eine IP-Adresse ist eine eindeutige Nummer, die einem Gerät im Internet zugewiesen wird. Sie wird verwendet, um Daten zwischen Geräten zu übertragen.
Geo-Location per IP basiert auf der Annahme, dass die IP-Adresse eines Geräts mit seinem Standort in Verbindung gebracht werden kann. Dies ist möglich, da IP-Adressen von Internet Service Providern (ISPs) zugewiesen werden. ISPs haben in der Regel eine bestimmte Region oder Stadt, in der sie tätig sind. Die Ergebnisse sind also nicht sehr präzise.