2016-04-27 91 views
2

我想弄清楚如何使用两个变量arectdeclin来定义aladin实例中的target属性。 target属性需要用“,”分隔的两个数值。如何使用两个数值变量设置实例属性

如何确保目标可以读取存储在两个变量中的坐标。

ajax请求每10秒发出一次,每次存储不同的变量。

var arect = {}; 
var declin = {}; 
$.ajax({ 
    url: "getstatus2.php", 
    async: false, 
    dataType: 'json', 
    success: function(data) { 
     arect = data.ar; 
     declin = data.dec; 
     console.log(arect); 
     console.log(declin); 
    } 
}); 

var aladin = A.aladin('#aladin-lite-div1', { 
    survey: "P/allWISE/color", 
    fov:1, 
    cooFrame:"ICRS", 
    showReticle:"true", 
    showFrame:"true", 
    showLayersControl:"false", 
    showZoomControl:"true", 
    target:'arect,declin', 
}); 
+0

我没有得到您的问题,但是当请求花费超过10秒时会发生什么?也许你应该添加一个逻辑时钟。 – m02ph3u5

回答

1

你可以设置你的目标是这样的:

target: arect + ',' + declin 

但是,你需要设置这个作为你的Ajax调用的结果。您可以将从var aladin = A.aladin ...开始的整个块移动到success块中。或者你创建一个函数来设置你的aladin变量。

例如:

function SetAladin(arect, declin) { 
var aladin = A.aladin('#aladin-lite-div1', { 
    survey: "P/allWISE/color", 
    fov:1, 
    cooFrame:"ICRS", 
    showReticle:"true", 
    showFrame:"true", 
    showLayersControl:"false", 
    showZoomControl:"true", 
    target: arect + ',' + declin, 
    }); 
} 

,然后在你的success块,只是调用该函数。

SetAladin(data.ar, data.dec); 
+0

完美!感谢它的作品! – hologhost