Skip to main content
All docs
V25.1
  • DevExpress v25.1 Update — Your Feedback Matters

    Our What's New in v25.1 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

    Take the survey Not interested

    MapRuler Class

    Draws a ruler on the map.

    Namespace: DevExpress.XtraMap

    Assembly: DevExpress.XtraMap.v25.1.dll

    NuGet Package: DevExpress.Win.Map

    #Declaration

    public class MapRuler :
        IMapRuler

    #Remarks

    The Map Control uses rulers to measure distances and areas on a map. Two types of rulers are supported:

    Distance Ruler Area Ruler
    Map Distance Ruler Map Area Ruler

    #Create Ruler

    Use the Measurements.CreateRuler method to add a ruler to the map. The following code displays a distance ruler on the map:

    MapRuler ruler = mapControl1.Measurements.CreateRuler( RulerType.Distance, 
                                                            new List<CoordPoint>(){
                                                               new GeoPoint(48.864716, 2.349014),   // Paris
                                                               new GeoPoint(45.46427, 9.18951),     // Milan
                                                               new GeoPoint(48.20849, 16.37208) }); // Vienna
    

    Map Ruler

    #Configure Ruler Points

    To modify a ruler, configure ruler points. You can use the following methods:

    Name

    Description

    InsertPoint(MapRuler, CoordPoint, Int32)

    Adds a new point to the ruler passed as a parameter.

    RemovePoint(MapRuler, Int32)

    Removes the point with the specified index.

    UpdatePoint(MapRuler, CoordPoint, Int32)

    Changes coordinates of the point with the specified index.

    The example below creates a ruler to measure the distance between Paris, Milan and Vienna. After calculating this distance, the code updates the ruler as follows:

    • a point is added at Berlin’s coordinates;
    • the first point is moved from Paris to Dusseldorf;
    • the point at Milan’s coordinates is removed from the ruler.
    MapRuler ruler = mapControl1.Measurements.CreateRuler(RulerType.Distance,
                                                            new List<CoordPoint>() {
                                                                new GeoPoint(48.864716, 2.349014), // Paris
                                                                new GeoPoint(45.46427, 9.18951),   // Milan
                                                                new GeoPoint(48.20849, 16.37208)   // Vienna
                                                            });
    //The code below updates the ruler.                                                        
    mapControl1.Measurements.InsertPoint(ruler, new GeoPoint(52.520008, 13.404954), 2); // Berlin
    mapControl1.Measurements.UpdatePoint(ruler, new GeoPoint(51.2217200, 6.7761600), 0); // Dusseldorf
    mapControl1.Measurements.RemovePoint(ruler, 1); // Milan
    
    Before Update After Update
    Before update ruler points  After update ruler points

    #Remove Ruler

    The RemoveRuler(MapRuler) method removes the ruler passed as a parameter:

    mapControl1.Measurements.RemoveRuler(ruler);
    

    If you need to delete all rulers from the map, call the RemoveRulers() method:

    mapControl1.Measurements.RemoveRulers();
    

    #Customize Ruler Appearance

    Use the CreateRuler(RulerType, IList<CoordPoint>, MapRulerStyle) method to define the ruler’s appearance. The MapRulerStyle class contains ruler style options.

    image

    MapRulerStyle style = new MapRulerStyle();
    style.Stroke = Color.Red;
    style.StrokeWidth = 3;
    MapRuler ruler1 = mapControl1.Measurements.CreateRuler(RulerType.Distance, 
                                                          new List<CoordPoint>() {
                                                              new GeoPoint(51.2217200, 6.7761600), // Dusseldorf
                                                              new GeoPoint(52.520008, 13.404954),  // Berlin
                                                              new GeoPoint(48.20849, 16.37208)   // Vienna
                                                          }, style);
    

    Related API members:

    Name

    Description

    CreateRuler(RulerType, IList<CoordPoint>, MapRulerStyle)

    Creates a ruler with the specified style.

    MapRulerStyle

    Contains ruler style options.

    Stroke

    Gets or sets the ruler’s outline color.

    StrokeWidth

    Gets or sets the ruler’s outline width.

    #Inheritance

    Object
    MapRuler
    See Also