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 = position.coords.latitude;
}
navigator.geolocation.getCurrentPosition(callback,fail,{timeout:10000});
// after getCurrentPosition succeeds
alert(lat); // this alerts null
The above code cannot store position.coords.latitude in the lat variable because of the scope. Is there a way to do this?
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! :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With