thilakan Posted October 3, 2014 Share Posted October 3, 2014 Undefined error Why I am getting this error? What I am trying archive - I want to get the client location and stored in the database Please advise me. Thank you. <!DOCTYPE html> <html> <body> <script> function geoFindMe() { var output ; if (!navigator.geolocation){ output.innerHTML = "<p>Geolocation is not supported by your browser</p>"; return; } else { function success(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; return(output.innerHTML = '<p>Latitude is ' + latitude + '° <br>Longitude is ' + longitude + '°</p>'); }; function error() { output.innerHTML = "Unable to retrieve your location"; }; navigator.geolocation.getCurrentPosition(success, error); } } var x = geoFindMe(); alert(x); </script> </body> </html> Link to comment https://forums.phpfreaks.com/topic/291409-undefined-error/ Share on other sites More sharing options...
.josh Posted October 3, 2014 Share Posted October 3, 2014 getCurrentPosition makes an asynchronous call to a service to determine location (assuming user accepts the popup prompt to allow it). So, you can't just assign it to x and get immediate results. It's just like doing an AJAX call where you have a callback function (success) when results are returned. So, you need to refactor your code to wait for success (or error) to be called. You can use pretty much any AJAX tutorial / script for tips/principles on how to work with async calls. Link to comment https://forums.phpfreaks.com/topic/291409-undefined-error/#findComment-1492607 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.