Runy,
Thanks for your questions,
Please refer the following code and I think it meets your requirements fully:
Map1.MapBackground.BackgroundBrush = new GeoSolidBrush(GeoColor.FromHtml("#B3C6D4"));
Map1.MapUnit = GeographyUnit.DecimalDegree;
RectangleShape recShp = new RectangleShape(-180, 90, 180, -90);
Map1.CurrentExtent = new RectangleShape(-125, 72, 50, -46);
Map1.RestrictedExtent = recShp;
// Vehicle Marker Overlay
InMemoryMarkerOverlay vehMarkerOverlay = new InMemoryMarkerOverlay("Vehicles");
vehMarkerOverlay.FeatureSource.Open();
vehMarkerOverlay.Columns.Add(new FeatureSourceColumn("Status"));
vehMarkerOverlay.Columns.Add(new FeatureSourceColumn("PopupInfo"));
vehMarkerOverlay.Columns.Add(new FeatureSourceColumn("FeatureId"));
vehMarkerOverlay.FeatureSource.Close();
ValueMarkerStyle markerStyle = new ValueMarkerStyle("Status");
// 'Free' vehicle style
MarkerValueItem freeVeh = new MarkerValueItem("F");
freeVeh.DefaultMarkerStyle.WebImage = new WebImage("../../theme/default/img/marker_green.gif", 32, 32);
freeVeh.DefaultMarkerStyle.WebImage.Text = "[#FeatureId#]";
freeVeh.DefaultMarkerStyle.Popup.ContentHtml = "[#PopupInfo#]";
markerStyle.ValueItems.Add(freeVeh);
// 'Off' vehicle style
MarkerValueItem offVeh = new MarkerValueItem("Z");
offVeh.DefaultMarkerStyle.WebImage = new WebImage("../../theme/default/img/marker_green.gif", 32, 32);
offVeh.DefaultMarkerStyle.WebImage.Text = "[#FeatureId#]";
offVeh.DefaultMarkerStyle.Popup.ContentHtml = "[#PopupInfo#]";
markerStyle.ValueItems.Add(offVeh);
vehMarkerOverlay.ZoomLevelSet.ZoomLevel01.CustomMarkerStyle = markerStyle;
vehMarkerOverlay.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
Feature feature1 = new Feature(-123, 49, "veh1");
feature1.ColumnValues.Add("Status", "F");
feature1.ColumnValues.Add("FeatureId", feature1.Id);
feature1.ColumnValues.Add("PopupInfo", "GPS: -123,49 Company:1");
vehMarkerOverlay.Features.Add(feature1);
Feature feature2 = new Feature(-123.234, 49.567, "veh2");
feature2.ColumnValues.Add("Status", "Z");
feature2.ColumnValues.Add("FeatureId", feature2.Id);
feature2.ColumnValues.Add("PopupInfo", "GPS: -123,49 Company:1");
vehMarkerOverlay.Features.Add(feature2);
Map1.CustomOverlays.Add(vehMarkerOverlay);
The label can be numbered according to the FeatureId on the markers, you can change the FeatureId column to any other columns what you want,
Thanks,
Scott,