繁体   English   中英

Appcelerator / Titanium-从函数内部调用变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM