Javascript Appcelerator/Titanium-从函数中调用变量

Javascript Appcelerator/Titanium-从函数中调用变量,javascript,ios,appcelerator,appcelerator-titanium,Javascript,Ios,Appcelerator,Appcelerator Titanium,我有一些代码如下,它获取当前位置,然后用这些信息创建一个变量。我想在函数之外使用该变量,但到目前为止,我尝试的一切都失败了。如果下面的警报在函数内,则该警报有效,但一旦您将其放在函数外,它将变为空白。我还尝试在alloy.js中创建全局变量,但这似乎也不起作用。我知道这很简单,但需要更多的想法:) 这与Titanum无关,而是一个基本的javascript问题。 params是一个局部变量(位于getCurrentPosition内)。您可以创建如下所示的全局范围: var coords; T

我有一些代码如下,它获取当前位置,然后用这些信息创建一个变量。我想在函数之外使用该变量,但到目前为止,我尝试的一切都失败了。如果下面的警报在函数内,则该警报有效,但一旦您将其放在函数外,它将变为空白。我还尝试在alloy.js中创建全局变量,但这似乎也不起作用。我知道这很简单,但需要更多的想法:)


这与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,
        };
    } 
});

但请记住:coords可能不会立即设置,因为在getCurrentPosition函数完成或获得数据之前可能需要一点时间

这与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,
        };
    } 
});

但请记住:coords可能不会立即设置,因为在getCurrentPosition函数完成或获得数据之前可能需要一点时间

好的,我明白了,谢谢。我添加了
警报(coords)函数完成后,结果仍然为空,我还尝试了latitude和coords.latitudeLike,就像我说的:getCurrentPosition需要一点时间才能产生结果。如果将警报直接放在函数后面,它将被调用,几乎同时检查位置并显示一个空框。您需要更改代码的逻辑,以便在回调完成时使用这些值…谢谢,我终于明白了…超时帮助了!很抱歉问了一些基本问题:)好的,我明白了,谢谢。我添加了
警报(coords)函数完成后,结果仍然为空,我还尝试了latitude和coords.latitudeLike,就像我说的:getCurrentPosition需要一点时间才能产生结果。如果将警报直接放在函数后面,它将被调用,几乎同时检查位置并显示一个空框。您需要更改代码的逻辑,以便在回调完成时使用这些值…谢谢,我终于明白了…超时帮助了!抱歉问了一些基本问题:)