[英]Appcelerator/Titanium - Call variable from within function
我有一些下面的代码,它获取当前位置,然后使用该信息创建一个变量。 我想在函数之外使用该变量,但到目前为止,我尝试过的所有操作都失败了。 如果下面的警报在函数中,则可以使用,但是一旦将其放在空白处,它就会起作用。 我也尝试过在Alloy.js中创建全局变量,但这似乎也不起作用。 我知道这很简单,但还需要更多想法:)
Titanium.Geolocation.getCurrentPosition(function(e) {
if (e.error) {
alert('Error: ' + e.error);
} else {
var params = {
latitude: e.coords.latitude,
};
return params;
}
});
alert(params);
这与Titanum无关,而是一个基本的javascript问题。 params
是一个局部变量(在getCurrentPosition内部)。 您可以这样创建一个全局范围:
var coords;
Titanium.Geolocation.getCurrentPosition(function(e) {
if (e.error) {
alert('Error: ' + e.error);
} else {
coords = {
latitude: e.coords.latitude,
longitude: e.coords.longitude,
};
}
});
但是请记住:可能不会立即设置坐标,因为在getCurrentPosition函数完成或获取数据之前可能要花一点时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.