HTML Code GEO Location
Hallo zusammen
es gibt eine HTML Code/Funktion über die man die Geräteposition Latitude und Longitude abrufen kann.
Leider bekomme ich das nicht hin dies umzusetzen und in einem Textfeld oder Funktionsfeld die Daten anzuzeigen/auszugeben.
Kann das überhaupt funktionieren oder muss ich einen anderen Ansatz wählen?
<!DOCTYPE html>
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Try It</button>
<p id="demo"></p>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
</body>
</html>
Hier wurde das schon oft versucht die aktuelle Geräteposition zu ermitteln habe jetzt aber noch keine Lösung gefunden hier im Forum. Vielleicht ist das ein Ansatz mit dem sich hier jemand kurz mit HTML Fähigkeiten beschäftigen möchte
Gruß
Andreas Kappes
18 Antworten
-
Eigentlich sollte die Geolocation-Abfrage so funktionieren:
let response := http("GET", "http://ip-api.com/json/?fields=status,message,country,countryCode,region,regionName,city,zip,lat,lon,timezone,isp,org,as,query");
alert(response)Leider bekomme ich eine Fehlermeldung: "request has failed - error"
Warum die Fehlermeldung kommt, weiß ich nicht.
Denn gibt man die http-Abfrage direkt in die Suchzeile des Browsers ein, bekommt man eine korrekte JSON-Antwort. -
let response := do as server http("GET", "http://ip-api.com/json/?fields=status,message,country,countryCode,region,regionName,city,zip,lat,lon,timezone,isp,org,as,query") end;
alert(response) -
Hallo zusammen,
beide Lösungen fragen ja den Standort der IP Adresse ab und nicht den tatsächlichen Standort vom Mobilen Gerät . Aber genau das versuche ich zu bekommen ohne mir einen API Key von Google Maps generieren zu müssen.
Gruß
Andreas
-
Andreas Kappes Put this code into a formula field, then replace the B,C (in line 18 and 19) to the field ID of the Longitude and Latitude fields have in your DB:
html("<!DOCTYPE html>
<html>
<body><button onclick='getLocation()'>Location</button>
<script>
function getLocation() {
navigator.geolocation.getCurrentPosition(showPosition);
}function showPosition(position) {
database.update(""" + raw(Id) + """, ""C"", position.coords.latitude);
database.update(""" + raw(Id) + """, ""B"", position.coords.longitude);
}
</script></body>
</html> -
let vUrl := "https://api.ninox.com/v1/teams/" + teamId() + "/databases/" + databaseId() + "/tables/tableId("TABELLENNAME")";
let vHeader := { Authorization: "Bearer xxxxxxxxxxxxxxxx", 'Content-Type': "application/json" };
Response := do as server formatJSON(http("GET", vUrl, vHeader, "")) endWichtig ist, daß der Tabellenname in Anführungszeichen in der Funktion tableId() steht.
-
Hallo,
und vielen Dank für das Script. Leider ist es so, dass es bei mir am PC funktioniert (da werden wohl die GPS Daten es Serverstandortes oder so eingetragen), allerdings funktioniert der Button nicht in der Android app -> und dort sollte diese Funktion genutzt werden ; unterwegs!
Hat jemand eine Ahnung oder einen Tip, wie ich dieses Script unter Android zum laufen bekomme?
Vielleicht gibts Erfahrungswerte? Funktiniert das evtl. nur bei Iphone?
Gruß
Daniel
-
Moin,
die App hat alle Berechtigungen und funktioniert bei mir EIGENTLICH ganz okay (bis auf die GPS Abfrage). Per Browser funktioniert es tatsächlich auch mit den GPS Daten. Gibt es hier vielleicht einen Erfahrungsbericht, ob die ganze Geschichte per APP auf einem Iphone besser funktioniert?
-
Servus zusammen,
ich kann (auch) bestätigen, dass dieses HTML-Script am PC im Browser problemlos und sehr gut funktioniert, in der Android-App jedoch leider nicht und dort dementsprechend "nix" liefert (auch keinen Fehler, o.ä.).
Öffnet man auf dem Smartphone (oder Tablet) Ninox dann ebenfalls im Browser (habe jetzt allerdings nur in Chrome getestet) funktioniert es wieder und liefert dann auch (im Gegensatz zum PC) m. E. ein sehr exaktes Ergebnis in Sachen Latitude und Longitude, soll heißen, definitiv auf die Hausnummer genau - geöffnet und betrachtet im Anschluss in OpenStreetMap. Die am PC ermittelten Koordinaten liegen dabei im Vergleich um ca. 200 m "daneben").
Wäre m. E. natürlich sehr gut und schön, wenn diese schicke Funktion auch direkt in der Android-App nutzbar wäre - und ja, die App hat natürlich die erforderlichen Berechtigungen, also Zugriff auf den aktuellen Standort.
Content aside
- vor 1 JahrZuletzt aktiv
- 18Antworten
- 453Ansichten
-
8
Folge bereits