I\'m trying to play with the scope of js to pull a variable out of navigator.geolocation.getCurrentPosition
var lat;
function callback (position) {
lat =
You can save your Position variable to input hidden field on document ready. After that, you can use jQuery to get back Geolocation value
Javscript:
<script>
var lat;
alert(lat); // this alerts null
navigator.geolocation.getCurrentPosition(callback,fail,{timeout:10000});
function callback (position) {
jQuery('#pos_lat').val(position.coords.latitude);
}
</script>
HTML:
<input hidden id='pos_lat' value='' />
//value = position latitude on load
To get back value:
jQuery('#pos_lat').val();
You have to remember the async\ajax nature.
this is the execution order of your code:
var lat;
alert(lat); // this alerts null
navigator.geolocation.getCurrentPosition(callback,fail,{timeout:10000});
function callback (position) {
lat = position.coords.latitude;
}
This why you get null. async!, async! :)