Back to Devexpress

MapOverlayItemBase Class

windowsforms-devexpress-dot-xtramap-0f4e8afb.md

latest3.6 KB
Original Source

MapOverlayItemBase Class

A base class for all overlay items.

Namespace : DevExpress.XtraMap

Assembly : DevExpress.XtraMap.v25.2.dll

NuGet Package : DevExpress.Win.Map

Declaration

csharp
public abstract class MapOverlayItemBase :
    IChangedCallbackOwner,
    IMapStyleOwner
vb
Public MustInherit Class MapOverlayItemBase
    Implements IChangedCallbackOwner,
               IMapStyleOwner

The following members return MapOverlayItemBase objects:

Remarks

You can use items’ Alignment property to align two or more items within the overlay. Note that, the overlay does not consider the item’s Alignment property then the Location property is set.

Note

The map overlay resizes to show all items completely when its size is default; otherwise, it can crop its items.

Example

This example demonstrates how to implement a map overlay that looks like a button with an icon:

csharp
// In the Form_Load event handler.
MapOverlay overlay = CreateButtonLikeOverlay(
    image: LoadOkIconFromResources(),
    text: "OK"
);
overlay.Alignment = ContentAlignment.TopLeft;
overlay.Margin = new Padding(16);
mapControl1.Overlays.Add(overlay);
// ...

private MapOverlay CreateButtonLikeOverlay(Image image, String text) {
    MapOverlay overlay = new MapOverlay();
    overlay.Padding = new Padding(8);
    overlay.Items.Add(new MapOverlayTextItem {
        Text = text,
        Alignment = ContentAlignment.MiddleRight
    });
    overlay.Items.Add(new MapOverlayImageItem {
        Image = image,
        Alignment = ContentAlignment.MiddleLeft
    });
    return overlay;
}
vb
' In the Form_Load event handler.
Dim Resources As ComponentResourceManager = New ComponentResourceManager(GetType(Form1))
Dim overlay As MapOverlay = CreateButtonLikeOverlay(
    image:=LoadOkIconFromResources(),
    text:="OK"
)
overlay.Alignment = ContentAlignment.TopLeft
overlay.Margin = new Padding(16)
MapControl1.Overlays.Add(overlay)
' ...

Private Function CreateButtonLikeOverlay(image As Image, text As String) As MapOverlay
    Dim overlay As MapOverlay = New MapOverlay()
    overlay.Padding = new Padding(8)
    overlay.Items.Add(New MapOverlayTextItem() With {
        .Text = text,
        .Alignment = ContentAlignment.MiddleRight
    })
    overlay.Items.Add(New MapOverlayImageItem With {
        .Image = image,
        .Alignment = ContentAlignment.MiddleLeft
    })
    Return overlay
End Function

Inheritance

Object MapOverlayItemBase MapOverlayImageItem

MapOverlayTextItem

See Also

MapOverlayItemBase Members

DevExpress.XtraMap Namespace