simply this works:
LiveCharts.WinForms.GeoMap geoMap = new LiveCharts.WinForms.GeoMap();
Dictionary<string, double> keyValues = new Dictionary<string, double>();
keyValues["China"] = 81285;
keyValues["United States"] = 75066;
keyValues["Italia"] = 74384;
keyValues["ES"] = 56196;
keyValues["Ireland"] = 29046;
keyValues["France"] = 25233;
keyValues["UK"] = 9849;
keyValues["CA"] = 3579;
keyValues["PK"] = 1179;
keyValues["IN"] = 719;
geoMap.HeatMap = keyValues;
geoMap.Source = $"{Application.StartupPath}\\World.xml";
metroTabPage2.Controls.Add(geoMap);
geoMap.Dock = DockStyle.Fill;
And this doesn't
LiveCharts.WinForms.GeoMap geoMap = new LiveCharts.WinForms.GeoMap();
Dictionary<string, double> keyValues = new Dictionary<string, double>();
int randomnumber = 0;
for (int i=0;i<_drzave.Count();i++)
{
randomnumber = randomnumber + 551;
keyValues[$"{_drzave[i].sImeDrzave}"] = randomnumber;
}
geoMap.HeatMap = keyValues;
geoMap.Source = $"{Application.StartupPath}\\World.xml";
metroTabPage2.Controls.Add(geoMap);
geoMap.Dock = DockStyle.Fill;
In list _drzave
I contain list of countries that have names and tags of countries.
This wont work when using for loop, but it works when I set the values manually.
{
var geoMap = new LiveCharts.WinForms.GeoMap();
var heatMap = new Dictionary<string, double>();
var randomnumber = 0;
foreach(var item in _drzave)
{
randomnumber += 551;
heatMap.TryAdd(item.sImeDrzave, randomnumber);
}
geoMap.HeatMap = heatMap;
geoMap.Source = $"{Application.StartupPath}\\World.xml";
metroTabPage2.Controls.Add(geoMap);
geoMap.Dock = DockStyle.Fill;
}