0
私は本当に愚かであるか不足しているかどうかはわかりませんが、基本的には変数latitudeにアクセスしてparams変数に入れようとしています私は値を代入する関数の外のparamsの直前に変数の緯度を警告して、警告が空白に戻りますと、ポストリクエストで送信しますが、動作していないようです。私のコードは次のようになります:titanium-mobileで、関数外の値を得ることができない
var latitude;
Titanium.Facebook.requestWithGraphPath('me', {}, 'GET', function(e) {
if (e.success) {
var user = eval('('+e.result+')');
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();
if (Ti.Geolocation.locationServicesEnabled) {
Titanium.Geolocation.purpose = 'Get Current Location';
Titanium.Geolocation.getCurrentPosition(function(e) {
if (e.error) {
alert('Error: ' + e.error);
} else {
latitude = e.coords.latitude;
longitude = e.coords.longitude;
accuracy = e.coords.accuracy;
}
});
} else {
alert('Please enable location services');
}
alert(latitude);
var params = {
username: user.username,
gender: user.gender,
lastOnline:day+"/"+month+"/"+year+" - "+hours+":"+minutes,
latitude:latitude,
//longitude:longitude,
//accuracy:e.coords.accuracy,
};
が、その後にしようとしたとき、私は同じ問題を取得することはありませんアクセスパラメータ?しかし、私は関数内で必要なことをすることができます。私は将来考えていますが、関数の外からアクセスする必要があるかもしれません。 –
コールバックが返ってきた限り、コールバックの外側からアクセスできます。上記の私の編集を参照してください - 必要な情報を非同期的にフェッチしているときの共通のアプローチは、コールバックの本体で初期化関数を開始することです。 – nrabinowitz