2016-11-04 61 views
1

我有奇怪的問題與updateCloropleth函數。我跟着這個例子:動態更新的數據地圖填充顏色不工作使用變量作爲國家的關鍵

https://github.com/markmarkoh/datamaps/releases/tag/v0.2.2

這裏是我的問題的一個例子。當我這樣做:

map.updateChoropleth({ 
    "AFG": colorx 
}); 

顏色更新。但是,當我這樣做時:

var countryx = "AFG"; 
map.updateChoropleth({ 
    countryx: colorx 
}); 

它不起作用。

我檢查過countryx == "AFG"返回true,所以它肯定是相同的值。變量colorx可以正常傳遞,但傳遞變量countryx作爲關鍵似乎破壞了該函數。

任何想法如何或爲什麼會發生這種情況?

回答

1

你可以試試這個:

var colorx = 100; 
var countryx = "AFG"; 
var countryColor = {}; 

countryColor["AFG"] = colorx; 

map.updateChoropleth(countryColor); 

看到這個thread - 基本上你的問題來源於這樣的事實,這兩個語句是相同的:

var obj = {"countryx": colorx} 
var obj = {countryx: colorx}