Ahmed,
Sorry for delaying your questions.
First of all, marker is not added by your attached code. It should be maintained in an MarkerOverlay. General speaking, Map maintains several overlays such as MarkerOverlay, WmsOverlay, LayerOverlay and the 3rd part overlays. Then Overlay maintains the concrete objects such as ShapeFileFeatureLayers, Markers etc.
If you want to add a marker, you need to add the marker into an overlay then add the overlay to the map as well as adding all shape files. Please see the code below.
ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(MapPath("~/SampleData/world/cntry02.shp"));
worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.FromArgb(255, 243, 239, 228), GeoColor.FromArgb(255, 218, 193, 163), 1);
worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
ShapeFileFeatureLayer citiesLayer = new ShapeFileFeatureLayer(MapPath("~/SampleData/USA/cities_a.shp"));
citiesLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.City3;
citiesLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
citiesLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle = new TextStyle("AREANAME", new GeoFont("Verdana", 9), new GeoSolidBrush(GeoColor.StandardColors.Black));
citiesLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle.HaloPen = new GeoPen(GeoColor.StandardColors.White, 2);
citiesLayer.DrawingMarginPercentage = 50;
LayerOverlay layerOverlay = new LayerOverlay();
layerOverlay.Layers.Add(worldLayer);
layerOverlay.Layers.Add(citiesLayer);
Hope it makes sense. Any questions please let me know.
Thanks,
Howard