Asp.Net ile Hava Durumu Google API
- Sevdanur GENC

- May 26, 2012
- 2 min read
Google Api'lerinden hava durumu bilgilerini cekerek uygulamalariniza ekleyebileceginiz kucuk bir uygulamayi sizlerle paylasmak istiyorum bu makalemde.
http://www.google.com/ig/api?weather= linkinde weather a atadiginiz bir degerle o sehrin tum verileri karsiniza gelecektir. Ornek olarak browser'iniza http://www.google.com/ig/api?weather=istanbul yazdiginiz zaman asagida ki gibi bir xml verileri karsiniza gelecektir.
Peki bizim cekecegimiz verileri hangi xml taglarindan aliyor olacagiz dilerseniz onlari gorelim;
HavaDurumu.Aspx Kaynak Kodlari ;
<html>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align: center;">
<asp:DropDownList ID="Ddl_Sehirler" 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="spn_Resim" runat="server"></span>
<br />
<span id="spn_Derece" runat="server"></span>
<br />
<span id="spn_Durum" runat="server"></span>
<span id="spn_Nem" runat="server"></span>
<br />
<span id="spn_Ruzgar" runat="server"></span>
</div>
</form>
</body>
</html>
HavaDurumu.Aspx.Cs Kaynak Kodlari ;
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Xml; using System.Net; using System.IO; namespace HavaDurumuApp { public partial class HavaDurumu : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string strGelen_ilBilgisi = Request.QueryString["ilBilgisi"]; if (string.IsNullOrEmpty(strGelen_ilBilgisi)) { strGelen_ilBilgisi = "ADANA"; } WebClient webClient = new WebClient(); string strKaynak = webClient.DownloadString("http://www.google.com/ig/api?weather=" + strGelen_ilBilgisi + "&hl=tr"); TextReader trOkuyucu = new StringReader(strKaynak); webClient.Dispose(); Ddl_Sehirler.Attributes.Add("onchange", "location.href='?ilBilgisi='+this.value+''"); Ddl_Sehirler.SelectedValue = strGelen_ilBilgisi; XmlTextReader rdr = new XmlTextReader(trOkuyucu); XmlDocument myxml = new XmlDocument(); myxml.Load(rdr); XmlNodeList xnlHedef = myxml.SelectNodes("xml_api_reply/weather/current_conditions"); string str_Derece_Yaz = xnlHedef.Item(0).SelectSingleNode("
temp_c
").Attributes["data"].InnerText; string str_Durum_Yaz = xnlHedef.Item(0).SelectSingleNode("
condition
").Attributes["data"].InnerText; string str_Nem_Yaz = xnlHedef.Item(0).SelectSingleNode("
humidity
").Attributes["data"].InnerText; string str_Resim = "<img src=\"http://www.google.com/" + xnlHedef.Item(0).SelectSingleNode("
icon
").Attributes["data"].InnerText + "\" alt=\"" + strGelen_ilBilgisi + "\" />"; string str_Ruzgar_Yaz = xnlHedef.Item(0).SelectSingleNode("
wind_condition
").Attributes["data"].InnerText;
spn_Resim.InnerHtml = str_Resim;
spn_Durum.InnerText = str_Durum_Yaz;
spn_Derece.InnerText = str_Derece_Yaz + " °C";
spn_Nem.InnerText = str_Nem_Yaz;
spn_Ruzgar.InnerText = str_Ruzgar_Yaz;
trOkuyucu.Dispose();
rdr.Close();
rdr = null;
myxml = null;
xnlHedef = null;
}
}
}
Ekran Goruntusu ;
Keyifli Calismalar Dilerim...
Comments