我正在尝试将变量lat和loc设为全局,但它们始终为零。
var lat=0;
var loc=0;
navigator.geolocation.getCurrentPosition(function(position) {
lat = position.coords.latitude;
loc = position.coords.longitude;
});
alert(lat); // this eqals zero
答案 0 :(得分:2)
这是异步电话!使用这种方式:
navigator.geolocation.getCurrentPosition(function(position) {
lat = position.coords.latitude;
loc = position.coords.longitude;
alert (lat);
});
<强>背景强>
当您解雇alert(lat)
时,getCurrentPosition()
将无法解雇,您的值可能尚未设置。如果您想做某事,请将其置于该功能内部或在其中调用。
navigator.geolocation.getCurrentPosition(function(position) {
lat = position.coords.latitude;
loc = position.coords.longitude;
// Something like this.
calculate (lat, loc);
});