
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. 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.
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.
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.
Yorum