Skip to content

Overlay

Inheritance Hierarchy

Members Summary

Public Constructors Summary

Name
N/A

Protected Constructors Summary

Name
Overlay()

Public Properties Summary

Name Return Type Description
Attribution String N/A
AutoRefreshInterval TimeSpan N/A
CanRefreshRegion Boolean N/A
DrawingExceptionMode DrawingExceptionMode This property gets and sets the DrawingExceptionMode used when an exception occurs during drawing.
IsBase Boolean N/A
IsEmpty Boolean This property gets if this overlay is empty or not.
IsVisible Boolean Gets or sets if this overlay is visible.
MapArguments MapArguments Gets or sets current map information which will be used for calculating mechanism.
Name String Gets or sets the name of this overaly.
OverlayCanvas Canvas Gets or sets the actual canvas which maintains all the visual elements on the overlay.

Protected Properties Summary

Name Return Type Description
IsOverlayInitialized Boolean Gets or sets if the overlay canvas is initialized.
PreviousExtent RectangleShape Gets or sets the previous exent of the overlay.
PreviousScale Double N/A

Public Methods Summary

Name
Close()
Dispose()
Draw(RectangleShape)
Draw(RectangleShape,OverlayRefreshType)
Equals(Object)
GetBoundingBox()
GetHashCode()
GetType()
Initialize(MapArguments)
LoadState(Byte[])
Open()
PanTo(RectangleShape)
Refresh(RectangleShape)
Refresh()
Refresh(IEnumerable<RectangleShape>)
Refresh(TimeSpan)
Refresh(TimeSpan,RequestDrawingBufferTimeType)
Refresh(RectangleShape,TimeSpan)
Refresh(RectangleShape,TimeSpan,RequestDrawingBufferTimeType)
Refresh(IEnumerable<RectangleShape>,TimeSpan)
Refresh(IEnumerable<RectangleShape>,TimeSpan,RequestDrawingBufferTimeType)
SaveState()
ToString()

Protected Methods Summary

Name
CloseCore()
Dispose(Boolean)
DrawAttribution(GeoCanvas)
DrawAttributionCore(GeoCanvas)
DrawCore(RectangleShape,OverlayRefreshType)
Finalize()
GetBoundingBoxCore()
InitializeCore(MapArguments)
LoadStateCore(Byte[])
MemberwiseClone()
OnDrawing(DrawingOverlayEventArgs)
OnDrawingAttribution(DrawingAttributionOverlayEventArgs)
OnDrawn(DrawnOverlayEventArgs)
OnDrawnAttribution(DrawnAttributionOverlayEventArgs)
OnRefreshing(OverlayRefreshType)
OpenCore()
PanToCore(RectangleShape)
RefreshCore(RectangleShape)
RefreshCore()
SaveStateCore()

Public Events Summary

Name Event Arguments Description
Drawing DrawingOverlayEventArgs N/A
Drawn DrawnOverlayEventArgs N/A
DrawingAttribution DrawingAttributionOverlayEventArgs N/A
DrawnAttribution DrawnAttributionOverlayEventArgs N/A

Members Detail

Public Constructors

Name
N/A

Protected Constructors

Overlay()

Summary

Constructor of the Overlay class.

Remarks

N/A

Return Value

Type Description
N/A

Parameters

Name Type Description
N/A N/A N/A

Public Properties

Attribution

Summary

N/A

Remarks

N/A

Return Value

String


AutoRefreshInterval

Summary

N/A

Remarks

N/A

Return Value

TimeSpan


CanRefreshRegion

Summary

N/A

Remarks

N/A

Return Value

Boolean


DrawingExceptionMode

Summary

This property gets and sets the DrawingExceptionMode used when an exception occurs during drawing.

Remarks

N/A

Return Value

DrawingExceptionMode


IsBase

Summary

N/A

Remarks

N/A

Return Value

Boolean


IsEmpty

Summary

This property gets if this overlay is empty or not.

Remarks

This property enhances the performance of the overlay while drawing. If is true, we will skip drawing this overlay and continue drawing the next overlay.

Return Value

Boolean


IsVisible

Summary

Gets or sets if this overlay is visible.

Remarks

N/A

Return Value

Boolean


MapArguments

Summary

Gets or sets current map information which will be used for calculating mechanism.

Remarks

N/A

Return Value

MapArguments


Name

Summary

Gets or sets the name of this overaly.

Remarks

N/A

Return Value

String


OverlayCanvas

Summary

Gets or sets the actual canvas which maintains all the visual elements on the overlay.

Remarks

N/A

Return Value

Canvas


Protected Properties

IsOverlayInitialized

Summary

Gets or sets if the overlay canvas is initialized.

Remarks

N/A

Return Value

Boolean


PreviousExtent

Summary

Gets or sets the previous exent of the overlay.

Remarks

N/A

Return Value

RectangleShape


PreviousScale

Summary

N/A

Remarks

N/A

Return Value

Double


Public Methods

Close()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

Dispose()

Summary

This method dispose unmanaged resource used in this class.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

Draw(RectangleShape)

Summary

This method draws the overlay with the provided extent in world coordinate.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
targetExtent RectangleShape This parameter indicates an extent in world coordinate for drawing the overlay.

Draw(RectangleShape,OverlayRefreshType)

Summary

This method draws the overlay with the provided extent in world coordinate.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
targetExtent RectangleShape This parameter indicates an extent in world coordinate for drawing the overlay.
refreshType OverlayRefreshType This parameter indicates whether the elements of this overlay needs to be refreshed. For example, TileOverlay is formed by tiles. When panning the map around, the existing tile doesn't need to be redraw, the only thing we need to do is modifying the position of these tiles. On another hand, when click to change the style of the overlay, we need to redraw the tile images to change the appearance. So we need refresh mode.

Equals(Object)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Boolean N/A

Parameters

Name Type Description
obj Object N/A

GetBoundingBox()

Summary

This method gets a bounding box of the Overlay.

Remarks

This method is the concrete wrapper for the abstract method GetBoundingBoxCore. This method returns the bounding box of the Overlay. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Type Description
RectangleShape A RectangleShape indicating the bounding box of this overlay

Parameters

Name Type Description
N/A N/A N/A

GetHashCode()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Int32 N/A

Parameters

Name Type Description
N/A N/A N/A

GetType()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Type N/A

Parameters

Name Type Description
N/A N/A N/A

Initialize(MapArguments)

Summary

This method initializes overlay object.

Remarks

This is a wrapper method for the virtual method InitializeCore.

Return Value

Type Description
Void N/A

Parameters

Name Type Description
mapArguments MapArguments This parameter maintains current map information for calculating mechanism.

LoadState(Byte[])

Summary

This method restore the overlay state back from the specified state.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
state Byte[] This parameter indicates the state for restore the overlay.

Open()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

PanTo(RectangleShape)

Summary

This method pans the overlay to the provided world extent.

Remarks

Some overlay doesn't need to continously drawing all the tile. For example, MarkerOverlay is formed by markers. When mouse down to pan, the markers don't need to redraw, we can only change its position. When mouse up to end panning, we can redraw the overlay for better performance.

Return Value

Type Description
Void N/A

Parameters

Name Type Description
targetExtent RectangleShape This parameter is the target world extent for panning.

Refresh(RectangleShape)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extent RectangleShape N/A

Refresh()

Summary

This method refreshes all the content in the OverlayCanvas. For example, LayerOverlay with multiple tiles; when the style of one layer is changed, call Refresh to refresh all the tiles to accept new styles.

Remarks

The difference from Draw() method is that Refresh() method refreshs all the elements while Draw() does not.

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

Refresh(IEnumerable<RectangleShape>)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentsToRefresh IEnumerable<RectangleShape> N/A

Refresh(TimeSpan)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
bufferTime TimeSpan N/A

Refresh(TimeSpan,RequestDrawingBufferTimeType)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
bufferTime TimeSpan N/A
bufferTimeType RequestDrawingBufferTimeType N/A

Refresh(RectangleShape,TimeSpan)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentToRefresh RectangleShape N/A
bufferTime TimeSpan N/A

Refresh(RectangleShape,TimeSpan,RequestDrawingBufferTimeType)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentToRefresh RectangleShape N/A
bufferTime TimeSpan N/A
bufferTimeType RequestDrawingBufferTimeType N/A

Refresh(IEnumerable<RectangleShape>,TimeSpan)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentsToRefresh IEnumerable<RectangleShape> N/A
bufferTime TimeSpan N/A

Refresh(IEnumerable<RectangleShape>,TimeSpan,RequestDrawingBufferTimeType)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentsToRefresh IEnumerable<RectangleShape> N/A
bufferTime TimeSpan N/A
bufferTimeType RequestDrawingBufferTimeType N/A

SaveState()

Summary

This method saves overlay state to a byte array.

Remarks

N/A

Return Value

Type Description
Byte[] A byte array indicates current overlay state.

Parameters

Name Type Description
N/A N/A N/A

ToString()

Summary

N/A

Remarks

N/A

Return Value

Type Description
String N/A

Parameters

Name Type Description
N/A N/A N/A

Protected Methods

CloseCore()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

Dispose(Boolean)

Summary

This method dispose unmanaged resource used in this class.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
disposing Boolean N/A

DrawAttribution(GeoCanvas)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
canvas GeoCanvas N/A

DrawAttributionCore(GeoCanvas)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
canvas GeoCanvas N/A

DrawCore(RectangleShape,OverlayRefreshType)

Summary

This method draws the overlay with the provided extent in world coordinate.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
targetExtent RectangleShape This parameter indicates an extent in world coordinate for drawing the overlay.
overlayRefreshType OverlayRefreshType This parameter indicates whether the elements of this overlay needs to be refreshed. For example, TileOverlay is formed by tiles. When panning or zooming the map, the existing tile doesn't need to be redraw, because the styles are the same as the previous states. the only thing we need to do is modifying the position of these tiles. On another hand, when click to change the style of the overlay, we need to redraw the tile images to change the appearance. So we need refresh mode.

Finalize()

Summary

Finalizer of this Overlay object.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

GetBoundingBoxCore()

Summary

This method returns the bounding box of the Overlay.

Remarks

This method returns the bounding box of the Overlay.

Return Value

Type Description
RectangleShape This method returns the bounding box of the Overlay.

Parameters

Name Type Description
N/A N/A N/A

InitializeCore(MapArguments)

Summary

This method initializes overlay object.

Remarks

When implementing this method, consider initializing the overlay canvas such as setting its z-index, setting current map reference to the CurrentMap property.

Return Value

Type Description
Void N/A

Parameters

Name Type Description
mapArguments MapArguments This parameter maintains current map information for calculating mechanism.

LoadStateCore(Byte[])

Summary

This method restore the overlay state back from the specified state.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
state Byte[] This parameter indicates the state for restore the overlay.

MemberwiseClone()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Object N/A

Parameters

Name Type Description
N/A N/A N/A

OnDrawing(DrawingOverlayEventArgs)

Summary

This method raises before the overlay is drawing.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
e DrawingOverlayEventArgs This parameter is the event argument for Drawing event.

OnDrawingAttribution(DrawingAttributionOverlayEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
args DrawingAttributionOverlayEventArgs N/A

OnDrawn(DrawnOverlayEventArgs)

Summary

This method raises after the overlay is drawn.

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
e DrawnOverlayEventArgs This parameter is the event argument for Drawn event.

OnDrawnAttribution(DrawnAttributionOverlayEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
args DrawnAttributionOverlayEventArgs N/A

OnRefreshing(OverlayRefreshType)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
refreshType OverlayRefreshType N/A

OpenCore()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

PanToCore(RectangleShape)

Summary

This method pans the overlay to the provided world extent.

Remarks

Some overlay doesn't need to continously drawing all the tile. For example, MarkerOverlay is formed by markers. When mouse down to pan, the markers don't need to redraw, we can only change its position. When mouse up to end panning, we can redraw the overlay for better performance.

Return Value

Type Description
Void N/A

Parameters

Name Type Description
targetExtent RectangleShape This parameter is the target world extent for panning.

RefreshCore(RectangleShape)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extent RectangleShape N/A

RefreshCore()

Summary

This method refreshes all the content in the OverlayCanvas. For example, LayerOverlay with multiple tiles; when the style of one layer is changed, call Refresh to refresh all the tiles to accept new styles.

Remarks

The difference from Draw() method is that Refresh() method refreshs all the elements while Draw() does not.

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

SaveStateCore()

Summary

This method saves overlay state to a byte array.

Remarks

N/A

Return Value

Type Description
Byte[] A byte array indicates current overlay state.

Parameters

Name Type Description
N/A N/A N/A

Public Events

Drawing

N/A

Remarks

N/A

Event Arguments

DrawingOverlayEventArgs

Drawn

N/A

Remarks

N/A

Event Arguments

DrawnOverlayEventArgs

DrawingAttribution

N/A

Remarks

N/A

Event Arguments

DrawingAttributionOverlayEventArgs

DrawnAttribution

N/A

Remarks

N/A

Event Arguments

DrawnAttributionOverlayEventArgs