2016-04-27 116 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