private void comboBoxLocation1_SelectedIndexChanged(object sender, EventArgs e) { //laad de plaats uit de combobox als de index veranderd //En geeft deze plaats mee naar de WeerPlaats functie //Die de api data als een weer object terug geeft. string plaats = comboBoxLocation1.Text; // check of de plaats wel een waarde is if (plaats != "") { weer = Weer.WeerPlaats(plaats); fillLabels(weer); } }
public static Weer WeerPlaats(string plaats) { //Make a httpClient for getting api data HttpClient client = new HttpClient(); //Url for api + key + plaats client.BaseAddress = new Uri("https://weerlive.nl/api/json-data-10min.php?key=" + API_KEY + "&locatie=" + plaats); //Async response HttpResponseMessage response = client.GetAsync("").Result; //Response naar variabele Liveweer var result = response.Content.ReadAsStringAsync().Result; //Weer object van api data liveweer 0 anders hebben wij een array met data erin. Weer rWeer = JsonConvert.DeserializeObject <Root>(result).liveweer[0]; rWeer.plaatsNaam = plaats; rWeer.datum = DateTime.Now; //Kijk of het weer nog niet voorkomt in de lijst. if (!weerList.Contains(rWeer) && i != 0) { weerList.Add(rWeer); } else if (!weerList.Contains(rWeer) && i == 0) { weerList.Add(rWeer); } //Maak een weer array met de lengthe van de weerlijst Weer[] weerArray = new Weer[weerList.Count]; int j = 0; //add weerlijst objecten in de weer array foreach (Weer weer in weerList) { weerArray[j] = weer; j++; } i++; //serialize de weer array string x = JsonConvert.SerializeObject(weerArray, Formatting.Indented); //Schrijf naar file File.WriteAllText(path_Weer, x); //Return weer naar Programma zodat we de data kunnen laten zien. return(rWeer); }
public void fillLabels(Weer p) { Console.WriteLine(p.d0weer); string pathToImage = getCorrectImage(p.d0weer); pictureBoxAlgemeen.Image = Image.FromFile(pathToImage); metroLabelHetWeerVan.Text = $"Het weer van {comboBoxLocation1.Text}"; metroLabelTemp.Text = p.temp + " °C"; metroLabelgTemp.Text = $"Voelt als : {p.gtemp} °C"; metroLabelSamenv.Text = p.samenv; metroLabelWind.Text = $"Wind : {p.winds} bft | {p.windk} knoppen | {p.windms} m/s | {p.windkmh} km/h"; metroLabelLuchtd.Text = $"Luchtdruk : {p.luchtd} hPa"; metroLabelZicht.Text = $"Zicht : {p.zicht} Kilometer"; metroLabelLv.Text = $"Relatieve luchtvochtigheid : {p.lv} %"; metroLabelDauwp.Text = $"Dauwpunt : {p.dauwp} °C"; metroLabelWeerv.Text = $"{p.verw}"; metroLabelHetWeerIn2.Text = $"Het weer van {p.plaats}"; metroLabelD0max.Text = $"{p.d0tmax} °C"; metroLabelD0gem.Text = $"{gemiddeldeTemp(p.d0tmax, p.d0tmin)} °C"; metroLabelD0min.Text = $"{p.d0tmin} °C"; metroLabelD1max.Text = $"{p.d1tmax} °C"; metroLabelD1gem.Text = $"{gemiddeldeTemp(p.d1tmax, p.d1tmin)} °C"; metroLabelD1min.Text = $"{p.d1tmin} °C"; metroLabelD2max.Text = $"{p.d2tmax} °C"; metroLabelD2gem.Text = $"{gemiddeldeTemp(p.d2tmax, p.d2tmin)} °C"; metroLabelD2min.Text = $"{p.d2tmin} °C"; pictureBoxD0weer.Image = Image.FromFile(pathToImage); pictureBoxD1weer.Image = Image.FromFile(getCorrectImage(p.d1weer)); pictureBoxD2weer.Image = Image.FromFile(getCorrectImage(p.d2weer)); metroLabelDatum.Text = p.datum.ToString("dd MMMM yyy"); }