Güncel
Loading...

HERE Maps'te çoklu POI Ekleme

Üçü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….



Share on Google Plus

About Sema KUDU

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 yorum :

Yorum Gönder

Türkiye yenilmez,Millet Eğilmez!