Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 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

MapPolygon Class

The class used to draw a polygon on a map.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v24.2.dll

NuGet Package: DevExpress.Win.Map

#Declaration

public class MapPolygon :
    MapShape,
    ISupportCoordPoints,
    IPolygonCore,
    IPointContainerCore,
    IEditableItem,
    ISimplifiableItem

The following members return MapPolygon objects:

#Remarks

The following image shows an example of a map polygon object.

MapPolygonExample

Note that, a map shape should fulfill the following condition to cross the 180th meridian: one or several points’ longitudes should exceed the 180 (-180) limit:

MapPolygon polygon = new MapPolygon();
polygon.Points.Add(new GeoPoint(10, -170));
polygon.Points.Add(new GeoPoint(10, 170));
polygon.Points.Add(new GeoPoint(-10, 170));
polygon.Points.Add(new GeoPoint(-10, -170));
vectorItemStorage.Items.Add(polygon);

// Point longitudes enclose the 180 meridian.
MapPolygon polygonCross180 = New MapPolygon();
polygonCross180.Fill = Color.Orange;
polygonCross180.Points.Add(new GeoPoint(30, 190));
polygonCross180.Points.Add(new GeoPoint(30, 170));
polygonCross180.Points.Add(new GeoPoint(20, 170));
polygonCross180.Points.Add(new GeoPoint(20, 190));
vectorItemStorage.Items.Add(polygon180);

The code above produces the following image:

map-control__cross-180th-meridian

#Example

View Example

var polygon = new MapPolygon();
polygon.Points.AddRange(new GeoPoint[] {
    new GeoPoint(70,80),
    new GeoPoint(75,90),
    new GeoPoint(75,130)
});
ItemStorage.Items.Add(polygon);

#Inheritance

See Also