Door
Peter Brok
op 08-02-2020 14:22
gewijzigd op 09-02-2020 19:41
2.261 views
Onderstaand Java script heb ik van het internet gehaald en het werkt zoals ik wil.
Maar nu wil ik graag de uitkomst: Latitude en Longitude als variabele in PHP hebben zodat ik met die uitkomst verder kan programmeren in PHP.
Ik heb gisteren al een halve avond gezocht en geprobeerd maar ik vind niets en het lukt mij niet.
Iemand een idee hoe je dat doet? Alvast bedank! Peter
<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>
(Je kan het niet vaak genoeg zeggen) Javascript draait in de browser van de client dus op het apparaat van de gebruiker.
PHP en de MySQL server draaien op een andere machine. Als de gebruiker toestaat om zijn Locatie-gegevens beschikbaar te stellen dan zul je deze gegevens dus eerst nog moeten "uploaden" naar de webserver alvorens je er iets mee kunt.
Dat uploaden kan dan vervolgens zoals Ariën al schrijft met een AJAX request hetgeen in feite een nieuw verzoek is aan de webserver om gegevens aan te nemen en/of terug te sturen maar dan uitgevoerd door javascript.
Overigens kun je de waarde van zo een locatie niet heel erg serieus nemen. Ten eerste kan de locatie onnauwkeurig zijn. Ten tweede is het enkel de locatie waar de gebruiker zich op dat moment bevindt en het wil helemaal niet zeggen dat dat zijn vaste verblijfplaats is.
Dat van de browser en de Server had ik ondertussen begrepen. Wat de locatie betreft, dat is voor wat ik er mee wil gaan doen wel prima.
Alleen hoe zit nu zo een AJAX request er uit? Kan je mij daar een stukje mee vooruit helpen?
function redirectToPosition(position) {
//window.location='weather.php?lat='+position.coords.latitude+'&long='+position.coords.longitude;
window.location='andere_pagina.php?lat='+position.coords.latitude+'&long='+position.coords.longitude/#a;
Alleen dit verwijst naar een andere pagina, en dat wil ik niet.
function redirectToPosition(position) {
//window.location='weather.php?lat='+position.coords.latitude+'&long='+position.coords.longitude;
window.location='andere_pagina.php?lat='+position.coords.latitude+'&long='+position.coords.longitude/#a;
Alleen dit verwijst naar een andere pagina, en dat wil ik niet.
Hoi Arien, ik weet dat het geen AJAX is, maar het werkt wel. Althans naar een andere pagina. Maar als dat zo simpel kan dan zou het toch ook makkelijk op dezelfde pagina moeten kunnen worden weergeven?
Window.location naar dezelfde pagina, maar dat brengt hem in een loop, wat ook wel logisch is. Zonder kant en klare opties ga ik het niet redden, daar is mijn kennis te beperkt voor helaas. In ieder geval allemaal bedankt! Frank: Ik ga daar mee verder, kijken of ik er iets mee kan.