InteractiveOverlay¶
Namespace: ThinkGeo.Core
This class inherits from Overlay abstract class. This specified overlay describle the interative process with MapControl using Mouse or Keyborad.
public abstract class InteractiveOverlay : Overlay, System.IDisposable
Inheritance Object → Overlay → InteractiveOverlay
Implements IDisposable
Properties¶
DoubleClickMaxIntervalInMS¶
Gets and sets click interval.
It defines the maximum time interval for double click. It will be reconized as 2 single clickes if the internal time is greater than this property.
public static int DoubleClickMaxIntervalInMS { get; set; }
Property Value¶
DrawingMarginPercentage¶
This property gets and sets the extra drawing margin as a percentage around the map that draw to ensure that labeling is correct.
public double DrawingMarginPercentage { get; set; }
Property Value¶
This property gets the extra drawing margin as a percentage around the map that
draws to ensure that labeling is correct.
Remarks:
This extra margin that we draw exists so that labels match up if they are partially cut off.
CanRefreshRegion¶
public bool CanRefreshRegion { get; protected set; }
Property Value¶
IsBase¶
public bool IsBase { get; set; }
Property Value¶
Name¶
Gets or sets the name of this overaly.
public string Name { get; set; }
Property Value¶
MapArguments¶
Gets or sets current map information which will be used for calculating mechanism.
public MapArguments MapArguments { get; set; }
Property Value¶
MapArguments
OverlayCanvas¶
Gets or sets the actual canvas which maintains all the visual elements on the overlay.
public Canvas OverlayCanvas { get; set; }
Property Value¶
Canvas
DrawingExceptionMode¶
This property gets and sets the DrawingExceptionMode used when an exception occurs during drawing.
public DrawingExceptionMode DrawingExceptionMode { get; set; }
Property Value¶
DrawingExceptionMode
IsVisible¶
Gets or sets if this overlay is visible.
public bool IsVisible { get; set; }
Property Value¶
Attribution¶
public string Attribution { get; set; }
Property Value¶
IsEmpty¶
This property gets if this overlay is empty or not.
public bool IsEmpty { get; }
Property Value¶
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.
AutoRefreshInterval¶
public TimeSpan AutoRefreshInterval { get; set; }
Property Value¶
Methods¶
MouseDown(InteractionArguments)¶
This method will simulate the MouseDown interaction.
public InteractiveResult MouseDown(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Remarks:
This method is the concrete wrapper for its virtual Core method.
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.
MouseDownCore(InteractionArguments)¶
This protected virtual method is the Core method of MouseDown API.
protected InteractiveResult MouseDownCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Exceptions¶
ArgumentNullException
If you pass a null as the interactionArguments, we will throw an ArgumentNullException.
MouseMove(InteractionArguments)¶
This method will simulate the MouseMove interaction.
public InteractiveResult MouseMove(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Remarks:
This method is the concrete wrapper for its virtual Core method.
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.
MouseMoveCore(InteractionArguments)¶
This protected virtual method is the Core method of MouseMove API.
protected InteractiveResult MouseMoveCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
ManipulationStarted(InteractionArguments)¶
public InteractiveResult ManipulationStarted(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Returns¶
ManipulationStartedCore(InteractionArguments)¶
protected InteractiveResult ManipulationStartedCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Returns¶
ManipulationDelta(InteractionArguments)¶
public InteractiveResult ManipulationDelta(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Returns¶
ManipulationDeltaCore(InteractionArguments)¶
protected InteractiveResult ManipulationDeltaCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Returns¶
ManipulationCompleted(InteractionArguments)¶
public InteractiveResult ManipulationCompleted(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Returns¶
ManipulationCompletedCore(InteractionArguments)¶
protected InteractiveResult ManipulationCompletedCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Returns¶
MouseUp(InteractionArguments)¶
This method will simulate the MouseUp interaction.
public InteractiveResult MouseUp(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Remarks:
This method is the concrete wrapper for its virtual Core method.
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.
MouseUpCore(InteractionArguments)¶
This protected virtual method is the Core method of MouseUp API.
protected InteractiveResult MouseUpCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Exceptions¶
ArgumentNullException
If you pass a null as the interactionArguments, we will throw an ArgumentNullException.
MouseClick(InteractionArguments)¶
This method will simulate the MouseClick interaction.
public InteractiveResult MouseClick(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Remarks:
This method is the concrete wrapper for its virtual Core method.
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.
MouseClickCore(InteractionArguments)¶
This protected virtual method is the Core method of MouseClick API.
protected InteractiveResult MouseClickCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
MouseDoubleClick(InteractionArguments)¶
This method will simulate the MouseDoubleClick interaction.
public InteractiveResult MouseDoubleClick(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Remarks:
This method is the concrete wrapper for its virtual Core method.
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.
MouseDoubleClickCore(InteractionArguments)¶
This protected virtual method is the Core method of MouseDoubleClick API.
protected InteractiveResult MouseDoubleClickCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Exceptions¶
ArgumentNullException
If you pass a null as the interactionArguments, we will throw an ArgumentNullException.
MouseWheel(InteractionArguments)¶
This method will simulate the MouseWheel interaction.
public InteractiveResult MouseWheel(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Remarks:
This method is the concrete wrapper for its virtual Core method.
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.
MouseWheelCore(InteractionArguments)¶
This protected virtual method is the Core method of MouseWheel API.
protected InteractiveResult MouseWheelCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
This parameter is the interaction auguments for the method.
Returns¶
InteractiveResult
Interaction results of this method.
Exceptions¶
ArgumentNullException
If you pass a null as the interactionArguments, we will throw an ArgumentNullException.
MouseLeave(InteractionArguments)¶
Occurs when the mouse leave the map.
public InteractiveResult MouseLeave(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Interaction arguments for mouse leave the map.
Returns¶
InteractiveResult
A interactive result for mouse leave the map.
MouseLeaveCore(InteractionArguments)¶
Occurs when the mouse leave the map.
protected InteractiveResult MouseLeaveCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Interaction arguments for mouse leaving the map.
Returns¶
InteractiveResult
A interactive result for mouse leaving the map.
MouseEnter(InteractionArguments)¶
Occurs when the mouse enter the map.
public InteractiveResult MouseEnter(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Interaction arguments for mouse entering the map.
Returns¶
InteractiveResult
A interactive result for mouse entering the map.
MouseEnterCore(InteractionArguments)¶
Occurs when the mouse enter the map.
protected InteractiveResult MouseEnterCore(InteractionArguments interactionArguments)
Parameters¶
interactionArguments
InteractionArguments
Interaction arguments for mouse entering the map.
Returns¶
InteractiveResult
A interactive result for mouse entering the map.
KeyUp(KeyEventInteractionArguments)¶
Occurs when key up on the map.
public InteractiveResult KeyUp(KeyEventInteractionArguments interactionArguments)
Parameters¶
interactionArguments
KeyEventInteractionArguments
Interaction arguments for key up on the map.
Returns¶
InteractiveResult
A interactive result for key up on the map.
KeyUpCore(KeyEventInteractionArguments)¶
Occurs when key up on the map.
protected InteractiveResult KeyUpCore(KeyEventInteractionArguments interactionArguments)
Parameters¶
interactionArguments
KeyEventInteractionArguments
Interaction arguments for key up on the map.
Returns¶
InteractiveResult
A interactive result for key up on the map.
KeyDown(KeyEventInteractionArguments)¶
Occurs when key down on the map.
public InteractiveResult KeyDown(KeyEventInteractionArguments interactionArguments)
Parameters¶
interactionArguments
KeyEventInteractionArguments
Interaction arguments for key down on the map.
Returns¶
InteractiveResult
A interactive result for key down on the map.
KeyDownCore(KeyEventInteractionArguments)¶
Occurs when key down on the map.
protected InteractiveResult KeyDownCore(KeyEventInteractionArguments interactionArguments)
Parameters¶
interactionArguments
KeyEventInteractionArguments
Interaction arguments for key down on the map.
Returns¶
InteractiveResult
A interactive result for key down on the map.
OnMapMouseDown(MapMouseDownInteractiveOverlayEventArgs)¶
This event will be fired when MapMouseDown is called.
protected void OnMapMouseDown(MapMouseDownInteractiveOverlayEventArgs e)
Parameters¶
e
MapMouseDownInteractiveOverlayEventArgs
The MapMouseDownInteractiveOverlayEventArgs passed for the event raised.
OnMapMouseMove(MapMouseMoveInteractiveOverlayEventArgs)¶
This event will be fired when MapMouseMove is called.
protected void OnMapMouseMove(MapMouseMoveInteractiveOverlayEventArgs e)
Parameters¶
e
MapMouseMoveInteractiveOverlayEventArgs
The MapMouseMoveInteractiveOverlayEventArgs passed for the event raised.
OnMapMouseUp(MapMouseUpInteractiveOverlayEventArgs)¶
This event will be fired when MapMouseUp is called.
protected void OnMapMouseUp(MapMouseUpInteractiveOverlayEventArgs e)
Parameters¶
e
MapMouseUpInteractiveOverlayEventArgs
The MapMouseUpInteractiveOverlayEventArgs passed for the event raised.
OnMapMouseClick(MapMouseClickInteractiveOverlayEventArgs)¶
This event will be fired when MapMouseClick is called.
protected void OnMapMouseClick(MapMouseClickInteractiveOverlayEventArgs e)
Parameters¶
e
MapMouseClickInteractiveOverlayEventArgs
The MapMouseClickInteractiveOverlayEventArgs passed for the event raised.
OnMapMouseDoubleClick(MapMouseDoubleClickInteractiveOverlayEventArgs)¶
This event will be fired when MapMouseDoubleClick is called.
protected void OnMapMouseDoubleClick(MapMouseDoubleClickInteractiveOverlayEventArgs e)
Parameters¶
e
MapMouseDoubleClickInteractiveOverlayEventArgs
The MapMouseDoubleClickInteractiveOverlayEventArgs passed for the event raised.
OnMapMouseWheel(MapMouseWheelInteractiveOverlayEventArgs)¶
This event will be fired when MapMouseWheel is called.
protected void OnMapMouseWheel(MapMouseWheelInteractiveOverlayEventArgs e)
Parameters¶
e
MapMouseWheelInteractiveOverlayEventArgs
The MapMouseWheelInteractiveOverlayEventArgs passed for the event raised.
OnMapMouseLeave(MapMouseLeaveInteractiveOverlayEventArgs)¶
Occurs when mouse leave from the map object.
protected void OnMapMouseLeave(MapMouseLeaveInteractiveOverlayEventArgs e)
Parameters¶
e
MapMouseLeaveInteractiveOverlayEventArgs
Event argument for the MapMouseLeave event.
OnMapMouseEnter(MapMouseEnterInteractiveOverlayEventArgs)¶
Occurs when mouse enter on the map object.
protected void OnMapMouseEnter(MapMouseEnterInteractiveOverlayEventArgs e)
Parameters¶
e
MapMouseEnterInteractiveOverlayEventArgs
Event argument for the MapMouseEnter event.
OnMapKeyUp(MapKeyUpInteractiveOverlayEventArgs)¶
Occurs when key up on the map object.
protected void OnMapKeyUp(MapKeyUpInteractiveOverlayEventArgs e)
Parameters¶
e
MapKeyUpInteractiveOverlayEventArgs
Event argument for the MapKeyUp event.
OnMapKeyDown(MapKeyDownInteractiveOverlayEventArgs)¶
Occurs when key down on the map object.
protected void OnMapKeyDown(MapKeyDownInteractiveOverlayEventArgs e)
Parameters¶
e
MapKeyDownInteractiveOverlayEventArgs
Event argument for the MapKeyDown event.
DrawAsyncCore(RectangleShape, OverlayRefreshType, CancellationToken)¶
This method draws the InterativeInterativeOverlay abstract class. You have to override this API in its sub concrete classes, or it will throw NotImplementedException.
protected Task DrawAsyncCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType, CancellationToken cancellationToken)
Parameters¶
targetExtent
RectangleShape
This parameter is the world extent to draw.
overlayRefreshType
OverlayRefreshType
This parameter indicates whether the overlay needs to be refreshed.
cancellationToken
CancellationToken
Returns¶
Task
None
DrawTileAsyncCore(GeoCanvas)¶
protected Task DrawTileAsyncCore(GeoCanvas geoCanvas)
Parameters¶
geoCanvas
GeoCanvas
Returns¶
CommttingDrawing(OverlayRefreshType, LayerTileView)¶
protected void CommttingDrawing(OverlayRefreshType overlayRefreshType, LayerTileView layerTile)
Parameters¶
overlayRefreshType
OverlayRefreshType
layerTile
LayerTileView
DrawTileAsync(LayerTileView, OverlayRefreshType)¶
internal Task DrawTileAsync(LayerTileView layerTile, OverlayRefreshType overlayRefreshType)
Parameters¶
layerTile
LayerTileView
overlayRefreshType
OverlayRefreshType
Returns¶
ClearTile(LayerTileView)¶
internal void ClearTile(LayerTileView layerTile)
Parameters¶
layerTile
LayerTileView
GetBufferedExtent(RectangleShape, Double)¶
internal RectangleShape GetBufferedExtent(RectangleShape targetExtent, double resolution)
Parameters¶
targetExtent
RectangleShape
resolution
Double
Returns¶
RectangleShape
Events¶
MapMouseDown¶
This event will be fired when Mouse pressed Down on the Map.
public event EventHandler<MapMouseDownInteractiveOverlayEventArgs> MapMouseDown;
MapMouseMove¶
This event will be fired when Mouse moved on the Map.
public event EventHandler<MapMouseMoveInteractiveOverlayEventArgs> MapMouseMove;
MapMouseUp¶
This event will be fired when Mouse released up on the Map.
public event EventHandler<MapMouseUpInteractiveOverlayEventArgs> MapMouseUp;
MapMouseClick¶
This event will be fired when Mouse clicked(mouse up and mouse down in the same postion) on the Map.
public event EventHandler<MapMouseClickInteractiveOverlayEventArgs> MapMouseClick;
MapMouseDoubleClick¶
This event will be fired when Mouse double clicked on the Map.
public event EventHandler<MapMouseDoubleClickInteractiveOverlayEventArgs> MapMouseDoubleClick;
MapMouseWheel¶
This event will be fired when Mouse wheel on the Map.
public event EventHandler<MapMouseWheelInteractiveOverlayEventArgs> MapMouseWheel;
MapMouseLeave¶
Occurs when mouse leave the map canvas.
public event EventHandler<MapMouseLeaveInteractiveOverlayEventArgs> MapMouseLeave;
MapMouseEnter¶
Occurs when mouse enter the map canvas.
public event EventHandler<MapMouseEnterInteractiveOverlayEventArgs> MapMouseEnter;
MapKeyDown¶
Occurs when key down on the map canvas.
public event EventHandler<MapKeyDownInteractiveOverlayEventArgs> MapKeyDown;
MapKeyUp¶
Occurs when key up on the map canvas.
public event EventHandler<MapKeyUpInteractiveOverlayEventArgs> MapKeyUp;
Drawing¶
This event raises before the overlay is drawing.
public event EventHandler<DrawingOverlayEventArgs> Drawing;
Drawn¶
This event raises after the overlay is drawn.
public event EventHandler<DrawnOverlayEventArgs> Drawn;
DrawingAttribution¶
public event EventHandler<DrawingAttributionOverlayEventArgs> DrawingAttribution;
DrawnAttribution¶
public event EventHandler<DrawnAttributionOverlayEventArgs> DrawnAttribution;
ThrowingException¶
public event EventHandler<ThrowingExceptionOverlayEventArgs> ThrowingException;