Osman KURT

Yazılım Uzmanı | MVC Eğitmeni

ASP.Net Hava Durumu Çekmek

Bu yazımda asp.net de google apilerini kullanarak hava durumunu çekmeyi paylaşacağım. İşinize yarayacak bir işlev olarak düşünüyorum.

<div style="text-align: center;">
<asp:DropDownList ID="ddlSehirler" CssClass="bultentxt" runat="server">
<asp:ListItem>ADANA</asp:ListItem>
<asp:ListItem>ADIYAMAN</asp:ListItem>
<asp:ListItem>AFYONKARAHİSAR</asp:ListItem>
<asp:ListItem>AĞRI</asp:ListItem>
<asp:ListItem>AKSARAY</asp:ListItem>
<asp:ListItem>AMASYA</asp:ListItem>
<asp:ListItem>ANKARA</asp:ListItem>
<asp:ListItem>ANTALYA</asp:ListItem>
<asp:ListItem>ARDAHAN</asp:ListItem>
<asp:ListItem>ARTVİN</asp:ListItem>
<asp:ListItem>AYDIN</asp:ListItem>
<asp:ListItem>BALIKESİR</asp:ListItem>
<asp:ListItem>BARTIN</asp:ListItem>
<asp:ListItem>BATMAN</asp:ListItem>
<asp:ListItem>BAYBURT</asp:ListItem>
<asp:ListItem>BİLECİK</asp:ListItem>
<asp:ListItem>BİNGÖL</asp:ListItem>
<asp:ListItem>BİTLİS</asp:ListItem>
<asp:ListItem>BOLU</asp:ListItem>
<asp:ListItem>BURDUR</asp:ListItem>
<asp:ListItem>BURSA</asp:ListItem>
<asp:ListItem>ÇANAKKALE</asp:ListItem>
<asp:ListItem>ÇANKIRI</asp:ListItem>
<asp:ListItem>ÇORUM</asp:ListItem>
<asp:ListItem>DENİZLİ</asp:ListItem>
<asp:ListItem>DİYARBAKIR</asp:ListItem>
<asp:ListItem>DÜZCE</asp:ListItem>
<asp:ListItem>EDİRNE</asp:ListItem>
<asp:ListItem>ELAZIĞ</asp:ListItem>
<asp:ListItem>ERZİNCAN</asp:ListItem>
<asp:ListItem>ERZURUM</asp:ListItem>
<asp:ListItem>ESKİŞEHİR</asp:ListItem>
<asp:ListItem>GAZİANTEP</asp:ListItem>
<asp:ListItem>GİRESUN</asp:ListItem>
<asp:ListItem>GÜMÜŞHANE</asp:ListItem>
<asp:ListItem>HAKKARİ</asp:ListItem>
<asp:ListItem>HATAY</asp:ListItem>
<asp:ListItem>IĞDIR</asp:ListItem>
<asp:ListItem>ISPARTA</asp:ListItem>
<asp:ListItem>İSTANBUL</asp:ListItem>
<asp:ListItem>İZMİR</asp:ListItem>
<asp:ListItem>KAHRAMANMARAŞ</asp:ListItem>
<asp:ListItem>KARABÜK</asp:ListItem>
<asp:ListItem>KARAMAN</asp:ListItem>
<asp:ListItem>KARS</asp:ListItem>
<asp:ListItem>KASTAMONU</asp:ListItem>
<asp:ListItem>KAYSERİ</asp:ListItem>
<asp:ListItem>KIRIKKALE</asp:ListItem>
<asp:ListItem>KIRKLARELİ</asp:ListItem>
<asp:ListItem>KIRŞEHİR</asp:ListItem>
<asp:ListItem>KİLİS</asp:ListItem>
<asp:ListItem>KOCAELİ</asp:ListItem>
<asp:ListItem>KONYA</asp:ListItem>
<asp:ListItem>KÜTAHYA</asp:ListItem>
<asp:ListItem>MALATYA</asp:ListItem>
<asp:ListItem>MANİSA</asp:ListItem>
<asp:ListItem>MARDİN</asp:ListItem>
<asp:ListItem>MERSİN</asp:ListItem>
<asp:ListItem>MUĞLA</asp:ListItem>
<asp:ListItem>MUŞ</asp:ListItem>
<asp:ListItem>NEVŞEHİR</asp:ListItem>
<asp:ListItem>NİĞDE</asp:ListItem>
<asp:ListItem>ORDU</asp:ListItem>
<asp:ListItem>OSMANİYE</asp:ListItem>
<asp:ListItem>RİZE</asp:ListItem>
<asp:ListItem>SAKARYA</asp:ListItem>
<asp:ListItem>SAMSUN</asp:ListItem>
<asp:ListItem>SİİRT</asp:ListItem>
<asp:ListItem>SİNOP</asp:ListItem>
<asp:ListItem>SİVAS</asp:ListItem>
<asp:ListItem>ŞANLIURFA</asp:ListItem>
<asp:ListItem>ŞIRNAK</asp:ListItem>
<asp:ListItem>TEKİRDAĞ</asp:ListItem>
<asp:ListItem>TOKAT</asp:ListItem>
<asp:ListItem>TRABZON</asp:ListItem>
<asp:ListItem>TUNCELİ</asp:ListItem>
<asp:ListItem>UŞAK</asp:ListItem>
<asp:ListItem>VAN</asp:ListItem>
<asp:ListItem>YALOVA</asp:ListItem>
<asp:ListItem>YOZGAT</asp:ListItem>
<asp:ListItem>ZONGULDAK</asp:ListItem>
</asp:DropDownList>
<br />
<span id="spnIkon" class="ikon" runat="server"></span>
<br />
<span id="spnDerece" class="derece" runat="server"></span>
<br />
<span id="spnDurum" class="durum" runat="server"></span><span id="spnNem" class="nem"
runat="server"></span>
<br />
<span id="spnRuzgar" class="ruzgar" runat="server"></span>
</div>

 

C# Kısmında ise;

 

try
            {
                string strGelenIl = Request.QueryString["Il"];
                if (string.IsNullOrEmpty(strGelenIl))
                {
                    strGelenIl = "KONYA";
                }
                WebClient webClient = new WebClient();
                string strKaynak = webClient.DownloadString("http://www.google.com/ig/api?weather=" + strGelenIl + "&hl=tr");
                TextReader trOkuyucu = new StringReader(strKaynak);
                webClient.Dispose();

                ddlSehirler.Attributes.Add("onchange", "location.href='?Il='+this.value+''");
                ddlSehirler.SelectedValue = strGelenIl;

                XmlTextReader rdr = new XmlTextReader(trOkuyucu);
                XmlDocument myxml = new XmlDocument();
                myxml.Load(rdr);
                XmlNodeList xnlHedef = myxml.SelectNodes("xml_api_reply/weather/current_conditions");

                string strDerece = xnlHedef.Item(0).SelectSingleNode("temp_c").Attributes["data"].InnerText;
                string strDurum = xnlHedef.Item(0).SelectSingleNode("condition").Attributes["data"].InnerText;
                string strNem = xnlHedef.Item(0).SelectSingleNode("humidity").Attributes["data"].InnerText;
                string strIkon = "<img src=\"http://www.google.com/" + xnlHedef.Item(0).SelectSingleNode("icon").Attributes["data"].InnerText + "\" alt=\"" + strGelenIl + "\" />";
                string strRuzgar = xnlHedef.Item(0).SelectSingleNode("wind_condition").Attributes["data"].InnerText;
                spnIkon.InnerHtml = strIkon;
                spnDurum.InnerText = strDurum;
                spnDerece.InnerText = strDerece + " °C";
                spnNem.InnerText = strNem;
                spnRuzgar.InnerText = strRuzgar;

                trOkuyucu.Dispose();
                rdr.Close();
                rdr = null;
                myxml = null;
                xnlHedef = null;
            }
            catch (Exception)
            {

            }

 

Kaynak Kod GoogleHava_OsmanKURT.rar (63,52 kb)

Kaynak Kod Yahoo: havadurumuYahoo.rar (750,71 kb)

Yazımız bu kadar arkadaşlar görüşmek üzere

Osman KURT

Yazılım geliştirici ve grafiker

Yorumlar (9) -

  • hakan yılmaz

    4.4.2012 14:57:08 | Yanıtla

    string strIkon = " < img alt='\""' src="\">" ;     kısımda      src="\">" ;  bu kısmında  altı çizili hata alıyorum

    • osmankurt

      13.4.2012 11:11:18 | Yanıtla

      Merhaba Hakan;
      Sorun çözüldü ikon satırında bir düzeltme yaptım. Ayrıca yaptığım uygulamayıda ekledim kullanabilirsin.

  • ece

    6.4.2013 16:17:38 | Yanıtla

    ben hepsini uyguladım fakat kod kısmını butonun içine yazdım ama sadece sayfa yenilendi hava durumunu gösteremedim hatam nerde acaba?

    • osmankurt

      7.4.2013 06:05:40 | Yanıtla

      Merhaba,
      Google sayfa düzenlemesine gittiği için sıkıntı oluştu. Alt kısımda ki yahoo örneği işinizi görecektir.

  • Mehman Bashirov

    8.8.2014 09:00:50 | Yanıtla

    Selam. Osman bey teşekkürler kaynak kod için.

    • osmankurt

      8.8.2014 15:43:17 | Yanıtla

      Selam Mehman bey,
      Rica ederim, işinize yaradıysa ne mutlu bana.

Pingbacks and trackbacks (1)+

Loading