Post Page Advertisement [Top]

Üçüncü yazımızda bir çok etiketi birlikte haritaya eklemeyi öğreneceğiz bu veriler aslında gerçek senaryoda bir web servisten geliyor olması lazım  J aslında bir önceki makalemizle aynı mantıkta.
Bunun için uygulamamızın menü süne diğer poıleri çiz adında bir menü oluşturalım .


Draw POIs adında  bir metod oluşturalım ve aşağıdaki şekilde kodlayalaım:

        private void DrawPOIs(POIItem npoi, MapLayer mapLayer)
        {

            MapOverlay overlaypp = new MapOverlay();
            CurrentPosition pos = new CurrentPosition();
            pos.POIimg.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri(@"images\poi1.png", UriKind.Relative));
            pos.Tag = new GeoCoordinate(npoi.latitude, npoi.longitude);
            overlaypp.GeoCoordinate = new GeoCoordinate(npoi.latitude, npoi.longitude);
            overlaypp.Content = pos;
            pos.DataContext = npoi;
            //pos.Tap += pos_Tap;
            overlaypp.PositionOrigin = new Point(0, .3);
            mapLayer.Add(overlaypp);

        }

Bu menüye basınca gerçekleşmesi için diğer poı leri çiz menusunun click event ‘inde daha önceden enlem ve boylam verilerini buluduğum örnek konumları haritaya ekleyelim bunu için önce bir POI list POIItem türü oluşturalım ve sonra menü itemini kodlayalım. :
 public List<POIItem> POIlist;


POIItem classı :

namespace MapApp1
{
        public class POIItem
        {
            public string name { get; set; }
            public double longitude { get; set; }
            public double latitude { get; set; }
        }
   
}

Menu Item Click Event ‘i:
private void draw_others_Click(object sender, EventArgs e)
        {
            POIlist = new List<POIItem>();

            POIItem poi1 = new POIItem();
            poi1.latitude = 41.1115;
            poi1.longitude = 29.0376;
            poi1.name = "Konum1";

            POIlist.Add(poi1);


            POIItem poi2 = new POIItem();
            poi2.latitude = 41.1108;
            poi2.longitude = 29.0374;
            poi2.name = "Konum2";

            POIlist.Add(poi2);


            POIItem poi3 = new POIItem();
            poi3.latitude = 41.1105;
            poi3.longitude = 29.0370;
            poi3.name = "Konum3";

            POIlist.Add(poi3);


            if (konumum != null)
            {
                MapLayer mapLayer = new MapLayer();
                for (int i = 0; i < POIlist.Count; i++)
                {
                    DrawPOIs(POIlist[i], mapLayer);
                }
                map1.Layers.Add(mapLayer);
            }

        }


Ve sonuçta bu menüy item e bastığımızda aşağıdaki gibi bir ekran görüntüsü olmasını bekleyebiliriz.Uygulama kodu burada J herkese iyi çalışmalar, seri bir sonraki makalelerle devam edecek….



Hiç yorum yok:

Yorum Gönder

Bottom Ad [Post Page]