Class MapControl
UI component that displays an interactive map
Assembly: Mapsui.UI.Maui.dll
Syntax
public class MapControl : ContentView, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IAnimatable, IViewController, IVisualElementController, IElementController, IGestureController, IGestureRecognizers, IPropertyMapperView, IHotReloadableView, IReplaceableView, ILayout, ILayoutController, IVisualTreeElement, IContentView, IView, IElement, ITransform, IPadding, ICrossPlatformLayout, IMapControl, IDisposable, INotifyPropertyChanged
Constructors
|
Edit this page
View Source
MapControl()
Declaration
Fields
|
Edit this page
View Source
MapProperty
Declaration
public static readonly BindableProperty MapProperty
Field Value
Properties
|
Edit this page
View Source
IsStaleTimeSpan
If finger position is not updated during the IsStaleTimeSpan period, the touch event is considered stale and is removed.
Touch input is not always reliable. This could be because of bugs in SkiaSharp, WinUI, iOS or Android, MAUI,
in hardware drivers, or hardware. To work around this we remove the touch events if they did not change after
some period. Making this period too short could remove valid events, making it too long would result in a longer
period of dangling ghost touches. You might want to tweak this value to your needs.
Declaration
public TimeSpan IsStaleTimeSpan { get; set; }
Property Value
|
Edit this page
View Source
Map
Declaration
public Map Map { get; set; }
Property Value
|
Edit this page
View Source
MaxTapGestureMovement
The movement allowed between a touch down and touch up in a touch gestures in device independent pixels.
Declaration
public int MaxTapGestureMovement { get; set; }
Property Value
|
Edit this page
View Source
UseFling
Use fling gesture to move the map. Default is true. Fling means that the map will continue to move for a
short time after the user has lifted the finger.
Declaration
public bool UseFling { get; set; }
Property Value
|
Edit this page
View Source
UseGPU
Declaration
public static bool UseGPU { get; set; }
Property Value
Methods
|
Edit this page
View Source
ClearTouchState()
Declaration
public void ClearTouchState()
|
Edit this page
View Source
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Declaration
|
Edit this page
View Source
Dispose(bool)
Declaration
protected virtual void Dispose(bool disposing)
Parameters
| Type |
Name |
Description |
| bool |
disposing |
|
|
Edit this page
View Source
~MapControl()
Declaration
|
Edit this page
View Source
ForceUpdate()
Force a update of control
Declaration
public void ForceUpdate()
|
Edit this page
View Source
GetMapInfo(ScreenPosition, IEnumerable<ILayer>)
Check, if a feature at a given screen position is hit.
Declaration
public MapInfo GetMapInfo(ScreenPosition screenPosition, IEnumerable<ILayer> layers)
Parameters
Returns
|
Edit this page
View Source
GetPixelDensity()
Returns the number of pixels per device independent unit
Declaration
public float? GetPixelDensity()
Returns
|
Edit this page
View Source
GetRemoteMapInfoAsync(ScreenPosition, Viewport, IEnumerable<ILayer>)
Declaration
protected Task<MapInfo> GetRemoteMapInfoAsync(ScreenPosition screenPosition, Viewport viewport, IEnumerable<ILayer> layers)
Parameters
Returns
|
Edit this page
View Source
Create a snapshot form map as PNG image
Declaration
public byte[] GetSnapshot(IEnumerable<ILayer>? layers = null, RenderFormat renderFormat = RenderFormat.Png, int quality = 100)
Parameters
| Type |
Name |
Description |
| IEnumerable<ILayer> |
layers |
Layers that should be included in snapshot
|
| RenderFormat |
renderFormat |
render format
|
| int |
quality |
default quality is 90 is applicable for webp and jpg
|
Returns
| Type |
Description |
| byte[] |
Byte array with snapshot in png format. If there are any problems than returns null.
|
|
Edit this page
View Source
InvalidateCanvas()
Declaration
public void InvalidateCanvas()
|
Edit this page
View Source
OnMapInfo(MapInfoEventArgs)
Declaration
protected void OnMapInfo(MapInfoEventArgs mapInfoEventArgs)
Parameters
|
Edit this page
View Source
OnMapPointerMoved(ScreenPosition, MPoint, GestureType)
Declaration
protected virtual bool OnMapPointerMoved(ScreenPosition screenPosition, MPoint worldPosition, GestureType gestureType)
Parameters
Returns
|
Edit this page
View Source
OnMapPointerPressed(ScreenPosition, MPoint)
Declaration
protected virtual bool OnMapPointerPressed(ScreenPosition screenPosition, MPoint worldPosition)
Parameters
Returns
|
Edit this page
View Source
OnMapPointerReleased(ScreenPosition, MPoint)
Declaration
protected virtual bool OnMapPointerReleased(ScreenPosition screenPosition, MPoint worldPosition)
Parameters
Returns
|
Edit this page
View Source
OnMapTapped(ScreenPosition, MPoint, GestureType)
Declaration
protected virtual bool OnMapTapped(ScreenPosition screenPosition, MPoint worldPosition, GestureType gestureType)
Parameters
Returns
|
Edit this page
View Source
OnPropertyChanged(string)
Method that is called when a bound property is changed.
Declaration
protected override void OnPropertyChanged(string propertyName = "")
Parameters
| Type |
Name |
Description |
| string |
propertyName |
The name of the bound property that changed.
|
Overrides
|
Edit this page
View Source
OpenInBrowser(string)
Declaration
public void OpenInBrowser(string url)
Parameters
| Type |
Name |
Description |
| string |
url |
|
|
Edit this page
View Source
Refresh(ChangeType)
Declaration
public void Refresh(ChangeType changeType = ChangeType.Discrete)
Parameters
|
Edit this page
View Source
RefreshData(ChangeType)
Refresh data of Map, but don't paint it
Declaration
public void RefreshData(ChangeType changeType = ChangeType.Discrete)
Parameters
|
Edit this page
View Source
RefreshGraphics()
Declaration
public void RefreshGraphics()
|
Edit this page
View Source
RunOnUIThread(Action)
Declaration
protected void RunOnUIThread(Action action)
Parameters
| Type |
Name |
Description |
| Action |
action |
|
|
Edit this page
View Source
SetMapRenderer(IMapRenderer)
Declaration
public void SetMapRenderer(IMapRenderer mapRenderer)
Parameters
|
Edit this page
View Source
Unsubscribe()
Unsubscribe from map events
Declaration
public void Unsubscribe()
Events
|
Edit this page
View Source
Info
Called whenever the map is clicked. The MapInfoEventArgs contain the features that were hit in
the layers that have IsMapInfoLayer set to true.
Declaration
public event EventHandler<MapInfoEventArgs>? Info
Event Type
|
Edit this page
View Source
MapPointerMoved
Event that is triggered when on pointer move. Can be a drag or hover.
Declaration
public event EventHandler<MapEventArgs>? MapPointerMoved
Event Type
|
Edit this page
View Source
MapPointerPressed
Event that is triggered when on pointer down.
Declaration
public event EventHandler<MapEventArgs>? MapPointerPressed
Event Type
|
Edit this page
View Source
MapPointerReleased
Event that is triggered when on pointer up.
Declaration
public event EventHandler<MapEventArgs>? MapPointerReleased
Event Type
|
Edit this page
View Source
MapTapped
Event that is triggered when the map is tapped. Can be a single tap, double tap or long press.
Declaration
public event EventHandler<MapEventArgs>? MapTapped
Event Type
|
Edit this page
View Source
PropertyChanged
Called whenever a property is changed
Declaration
public event PropertyChangedEventHandler? PropertyChanged
Event Type
Implements
Extension Methods