03 Oca 2008 Microsoft Virtual Earth Map ile Dünyayı Keşfedin – Makale 1 Kategori: ASP.NET Etiketler: ASP.NETMicrosoft 4 Yorum Merhaba sevgili arkadaşlar bu makalemizde Microsoft’un yeni bir ürünü olan Virtual Earth Map’ı inceleyeceğiz.Google Earth'u ilk kullandıgım anda Microsoft'un neden böyle bir sey yapmadıgını düsünüp durmustum. Microsoft bu düsünceme benden daha çabuk cevap verdi ve Virtual Earth Map'i duyurdu. Sanırım buna en çok ben ve benim gibi Microsoft ürünlerini kullanmayı seven yazılımcı dostlar sevinmistir. J Makaleye baslamadan önce bu uygulamaları kullanmayan hatta hiç duymayanların oldugunu da varsayarak ne için kullanıldıgına ve bize ne gibi imkanlar sunduguna biraz deginmek istiyorum. Google Earth ve Virtual Earth Map, Dünya üzerin de yer alan belirli lokasyonların çesitli bilgilerin online olarak haritalandırılmasını saglayan yeni bir web kontrolüdür. Peki bu bilgiler nelerdir? Örnek verecek olursak, Yol haritaları, Uydu Görüntüleri, O lokasyona ait Fotograflar, O lokasyona ait koordinat bilgileri, O lokasyona ait kültürel bilgiler(Gezilesi, gidilesi yerler J) Kullanımı son derece basit olup çok fonksiyonel bir yapıya sahiptir. Özellikle uygulamalarında Google Earth'u kullananların Virtual Earth Map SDK'nı inceledikten sonra çok kolay bir sekilde kendi uygulamalarında Virtual Earth Map'i kullanabileceklerdir. Kullanım alanlarını incelemek gerekirse bana kalırsa kisisel siteniz dahil tüm sitelerde kullanılabilir. Artık çogu firma iletisim bölümünde kroki yerine bunu kullanıyor. Özellikle Emlak firmaları ve Turizm firmaları ürünlerinin bulundugu yeri kullanıcıya daha iyi bir sekilde sunmak için bu uygulamaları kullanır. Web Uygulamalarında Virtual Earth Map'i Kullanmak Ilk olarak sayfamıza Virtual Earth'un kütüphanesini referans olarak ekliyoruz. <script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6"></script> Sonra haritanın görüntülenecegi bir div açıyoruz. Haritamız bu div alanı içerisinde görüntülenecek.<div id='myMap' style="position:absolute; width:400px; height:400px;"></div>Son olarak da haritamızı yüklemek için LoadMap fonksiyonunu çagırıyoruz.var map = new VEMap('myMap');map.LoadMap();LoadMap Belirledigimiz koordinatlardaki haritayı yükler. Alacagı tüm parametreler opsiyoneldir.KullanımıVEMap.LoadMap(VELatLong, zoom, style, fixed, mode, showSwitch, tileBuffer);Parametreleri VELatLong Haritanın koordinatlarını belirledigimiz parametredir. ZoomHaritanın zoom oranıdır. 1 ile 19 arasında bir deger alır. Varsayılan degeri 4' tür. StyleMap'in gösterilecegi formatı belirler. Varsayılan olarak VEMapStyle.Road' dir. Mode Harita yüklendiginde hangi modda açılacagını belirler. Varsayılan olarak Mode2D yüklenir.Diger parametreleri Fixed, showSwitch, tileBuffer'dir.örnek Uygulama Ilk olarak uygulamamızda basitçe bir Map ekleyelim ve konuyu anlamaya çalısalım. Bunun için Visual Studio ya da notepad ya yeni bir sayfa olusturalım. Ben örnek uygulamamda Bagcılar'ın haritasını yükletecegim J SimpleVirtualMap.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6"></script> Virtual Earth Kütüphanesini Referans aldım <script type="text/javascript"> var map = null; var LA = new VELatLong(41.034354, 28.856932); Haritada gösterecegim koordinatları belirledim function GetMap() { map = new VEMap('myMap'); map.LoadMap(LA,17,VEMapStyle.Hybrid, VEMapMode.Mode2d } Haritamın yüklenmesini sagladım </script> </head> <body onload="GetMap();"> Sayfa yüklenirken haritamı da getiriver <div id='myMap' style="position:relative; width:400px; height:400px;"></div> Harita burada gösterilecek </body></html> Simdi yazmıs oldugumuz bu basit uygulamayı test edelim. Sayfamızı çalıstıralım. Göze hos gelen bir görüntüsü var gerçekten J Simdi yol haritası görüntüsünde açalım, yukarıda Road yazan yere tıklıyorum. Bu makalemizin simdilik sonun da geldik. Makalenin devamında görüsmek dilegiyle, herkse basarılar dilerim. Sem Göksusem.goksu@yazilimgunlugu.com www.semgoksu.com | www.yazilimgunlugu.com Kaynaklar Virtual Earth Map SDK 6.0
13 Kas 2007 www.sporyazarlari.com v 2.0 Yayında Kategori: Benden Etiketler: ASP.NET 2 Yorum Simdiye kadar iki site üzerinde çalısırken çok eglendim. Yazılım Günlügü'ni sitemi takip edenler bilir zaten. Ikinci olarak da www.sporyazarlari.com :) Analiz asamasında olsun kodlama asamasında olsun benim için çok eglenceliydi. Sitenin eski versiyonuna göre daha interaktif oldu. Anket, Gündem Haberleri, Üyelik ve kullanıcıların siteye katılımını arttırmak için yorum ekleme modüleri de eklendi.Sizleri de artık spor basınını takip etmek için www.sporyazarlari.com ' a davet ediyorum :)
08 Eki 2007 Sonunda İyiler Mutlaka Kazanır Kategori: Yazılım Etiketler: ASP.NET 8 Yorum 1-2 Haftadır sitemde kullanmak için Re-Write Path ile ilgili çalısmalar yapıyordum. Bir çok anlamsız hata ile karsılastım. (Bunları bir makalede toplamayı düsünüyorum. Bu sorunları orada sizlerle paylasıyor olacagım :) ) Neyseki sonunda bütün sorunları asarak amacıma ulastım. Artık linkler eskiye göre daha anlamlı :)Eskiden Olsahttp://www.semgoksu.com/HabereYorumYaz.aspx?yaziID=277Simdi :)http://www.semgoksu.com/yazilar/mimarizm-beta-surumu-yayinda-/277.aspx
24 Eyl 2007 AJAX RATING(OYLAMA) KONTROLÜ Kategori: AJAX Etiketler: ASP.NET 3 Yorum Merhaba arkadaşlar, bu makalemizde ajax kontrol tollkit nesnelerinden rating(oylama) kontrolünün nasıl kullanıldığını inceleyeceğiz. Açıklama Rating kontrolü, oylamada kullanılan yıldızların sayısı ile oylama islemi yapmayı saglayan bir ajax kontrol toolkit nesnesidir. Yıldızların üzerinde gezindiginizde vereceginiz puana göre o kadar yıldız seçili gelir. Rating kontrolünün yönüyü dikey ya da yatay olarak degistirebilirsiniz. Rating kontolü ClientCallBack eventini destekledigi için oylama islemi sırasında postback islemi arkaplanda gerçeklesir. Örnek Kullanımı <ajaxToolkit:Rating ID="Rating" runat="server" CurrentRating="2" MaxRating="5" StarCssClass="ratingStar" WaitingStarCssClass="savedRatingStar" FilledStarCssClass="filledRatingStar" EmptyStarCssClass="emptyRatingStar" OnChanged="Rating_Changed" /> Özellikleri AutoPostBack - True ise oylama islemi yapıldıgında postback islemi gerçeklesir CurrentRating - Rating Kontrolünün ilk degeri MaxRating - Rating Kontolünü Max. degeri StarCssClass - Rating kontrolünde yer alacak yıldızların özelliklerini belirleyen CSS sitili WaitingStarCssClass - Oylama islemi yapılırken görüntülenecek CSS sitili FilledStarCssClass - Oylama yapılırken dolu olacak yıldızlar için belirtilecek CSS sitili EmptyStarCssClass - Bos yıldızlar için belirtilecek CSS sitili RatingAlign - Rating kontolünün yönü, (dikey yatay) RatingDirection - Oylama isleminin baslangıç hizası OnChanged - Oylama islemi yapılırken tetikleyecek olan eventin adı. Tag - Rating'e eklenecek olan parametre. Örnek Kontrolümüzü tanıdık ve simdi bir örnek yapalım. Genelde oylama islemi yapılırken yıldız iconları kullanılır. Buna baglı olmadıgımızı belirtmek için ben baska bir icon kullanıyorum. Örnegimizde kitapları listeleyecegiz ve bu kitaplara ait oylama islemlerini yaptıracagız. - Oylama islemi yapılırken bu resim görüntülenecek. - Oylanacak degerlerde bu resim görüntülenecek. - Bos degerlerde bu resim görüntülenecek. Ilk olarak yeni bir AJAX tabanlı bir web projesi açalım. Projemizi olusturduktan sonra yeni örnek bir veritabanı olusturalım. Kitapevi isimli yeni bir database olusturacagım. Bu veritabanında kitaplar ve kitappuanları isimli 2 tablo olacak. Kitaplar Tablosu Kitap Puanları Tablosu Tablomuzu olusturduktan sonra kitaplar tablosuna örnek 2-3 kayıt girelim J Simdi sayfamıza bir Gridview Ekleyelim. Gridview'in autogenaretecolumn özelligini false yapalım ve 2 adet template field ekleyelim. 1. field da kitap adı ve açıklama yer alıcak. 2. ise rating kontolü. Benim sayfam bu sekilde oldu J Simdi rating konrolümüz için gerekli olan CSS sitilleri yazalım. Ister yeni bir sitil dosyası ekleyelim, istersenized head tagları arasına yazalım hiç fark etmez J <style type="text/css"> .standart { width:20px; height:16px; cursor:crosshair; background-repeat:no-repeat; } .dolu { background-image:url(images/dolu.gif); } .bos { background-image:url(images/bos.gif); } .bekle { background-image:url(images/bekle.gif); } </style> Simdi de Rating kontrolümüzün özelliklerini yazalım; <cc1:Rating ID="Rating1" runat="server" CurrentRating="1" StarCssClass="standart" EmptyStarCssClass="bos" WaitingStarCssClass="bekle" FilledStarCssClass="dolu" Tag='<%# Eval("KitapID")%>' MaxRating="5" OnChanged="Oyla" > </cc1:Rating> Evet artık oylama islemimiz hazır J Geriye kalan 2 sey kaldı, birincisi kayıtları listelemek, ikincisi de oylama sonucunu oylar tablosuna yazmak. Ilk olarak listeleme islemini yapalım. SqlConnection Cnn; SqlDataAdapter Da; DataSet Ds; SqlCommand Cmd; private void KayitlariGetir() { Cnn = new SqlConnection("Server=localhost; Database=kitapevi; trusted_connection=yes"); Da=new SqlDataAdapter("select * from Kitaplar",Cnn); Ds = new DataSet(); Da.Fill(Ds, "tbl"); GridView1.DataSource = Ds.Tables[0]; GridView1.DataBind(); } protected void Page_Load(object sender, EventArgs e) { KayitlariGetir(); } Simdi projemizi çalıstırdıgımızda Simdi oylama islemini yapalım. Yukarıda da belirttigimiz gibi Oyla isimli bir metod olusturacagız. public void Oyla(object sender,AjaxControlToolkit.RatingEventArgs e) { Cnn = new SqlConnection("Server=localhost; Database=kitapevi; trusted_connection=yes"); if (Cnn.State == ConnectionState.Closed) Cnn.Open(); Cmd = new SqlCommand("Insert Into KitapPuanlari(KitapID, Puan) values("+e.Tag+","+e.Value+")",Cnn); int returnvalue = Cmd.ExecuteNonQuery(); } Simdi kodumuzu çalıstıralım. 2. Sıradaki 2 numaralı kitaba 4 puan verdim. Oylama sırasında oylama isleminin gerçeklestiginin anlasılması için farklı bir icon koymustuk. Oda üstteki resimde görünmektedir. Bakalım oylama gerçeklesmis mi? Veritabanına gidip kontrol edelim. Evet oylama islemi gerçeklesmis J 2 numaralı kitap 4 puan J Bu makaleninde sonuna geldik. Baska bir makale de görüsmek üzere. Sem GÖKSU MCP | MCAD.NET | MCTS sem.goksu@yazilimgunlugu.com
21 Eyl 2007 Rss'lerin Browserlar Tarafından Algılanması Kategori: Yazılım Etiketler: ASP.NETWindows 1 Yorum <link rel="alternate" type="application/rss+xml" title="Sem GÖKSU - RSS" href="rss.aspx" /> Bu kodu eklerseniz, browserlar sayfalarınızdaki RSS'leri algılayacaktır.