C# Hava Durumu Çekme

Sitemize yada c# ile yazılmış desktop bir uygulamamıza bir şehire ait güncel hava durumunu eklemek için OpenWeatherMap.org'un vermiş olduğu api hizmetinden faydalanarak bu işlemi aşağıdaki örnekte gerçekleştireceğiz.

OpenWeatherMap vermiş olduğu hizmetlerden faydalanmamız için öncelike üye olmamız gerekiyor.


Link.

Siteye üye olduktan sonra api key alıyoruz.

Keyimizi aldıktan sonra projemize bir adet controller ekliyoruz.

public ActionResult HavaDurumu()
{
string api = "Buraya Kendi Keyinizi Yazınız";
string baglanti = "http://api.openweathermap.org/data/2.5/weather?q=Bursa&mode=xml&lang=tr&units=metric&appid=" + api;
XDocument Hava = XDocument.Load(baglanti);
var sicaklik = Hava.Descendants("temperature").ElementAt(0).Attribute("value").Value;
var icon = Hava.Descendants("weather").ElementAt(0).Attribute("icon").Value;
var durum = Hava.Descendants("weather").ElementAt(0).Attribute("value").Value;
ViewBag.icon = "http://openweathermap.org/img/w/" + icon + ".png";
ViewBag.sicaklik = sicaklik + " ºC";
ViewBag.durum = durum;
return View();
}


Yukarıdaki kodla openweathermap'ın xml hizmetinde faydalandık.

sıcaklık değişkenine xml dosyasından sıcaklık değerini santigrat türünden çektik.

icon değişkenine hava durumuna ait icon bilgisini aldık.

durum değişkenine havanın durumunu (açık, bulutlu, yağmurlu, karlı, parçalı bulutlu) aldık.

bu değerleri viewbag ile viewa taşıdık.

view tarafında ekrana bu kodlarla basabiliriz.

Bursa: <img src="@ViewBag.icon" width="25" title="@ViewBag.durum" /> @ViewBag.sicaklik

Ben mvc ile yaptım ama siz asp.net hatta c# ile de hava durumunu çekebilirsiniz.

Ekran çıktımız aşağıdakiler gibi olacaktır.

hava durumu

hava durumu 2