ProgressiveFeaturesTileOverlay¶
Namespace: ThinkGeo.UI.Maui
Provides a TileOverlay that progressively renders features as they stream in.
public class ProgressiveFeaturesTileOverlay : TileOverlay, System.ComponentModel.INotifyPropertyChanged, Microsoft.Maui.Controls.Internals.IDynamicResourceHandler, Microsoft.Maui.Controls.IElementDefinition, Microsoft.Maui.Controls.Internals.INameScope, Microsoft.Maui.Controls.IElementController, Microsoft.Maui.IVisualTreeElement, Microsoft.Maui.IElement, Microsoft.Maui.Controls.IEffectControlProvider, Microsoft.Maui.IToolTipElement, Microsoft.Maui.IContextFlyoutElement, Microsoft.Maui.Controls.IControlsElement, Microsoft.Maui.IHandlerDisconnectPolicies, Microsoft.Maui.Controls.StyleSheets.IStyleSelectable, Microsoft.Maui.Controls.Internals.INavigationProxy, Microsoft.Maui.Controls.IAnimatable, Microsoft.Maui.Controls.IVisualElementController, Microsoft.Maui.Controls.IResourcesProvider, Microsoft.Maui.Controls.IStyleElement, Microsoft.Maui.Controls.IFlowDirectionController, Microsoft.Maui.Controls.IPropertyPropagationController, Microsoft.Maui.Controls.IVisualController, Microsoft.Maui.Controls.IWindowController, Microsoft.Maui.IView, Microsoft.Maui.ITransform, Microsoft.Maui.Controls.IControlsVisualElement, Microsoft.Maui.IConstrainedView, Microsoft.Maui.Controls.StyleSheets.IStylable, Microsoft.Maui.Controls.IViewController, Microsoft.Maui.Controls.Internals.IGestureController, Microsoft.Maui.Controls.IGestureRecognizers, Microsoft.Maui.IPropertyMapperView, Microsoft.Maui.HotReload.IHotReloadableView, Microsoft.Maui.IReplaceableView, Microsoft.Maui.Controls.IControlsView, Microsoft.Maui.ILayout, Microsoft.Maui.IContainer, System.Collections.Generic.IList`1[[Microsoft.Maui.IView, Microsoft.Maui, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.ICollection`1[[Microsoft.Maui.IView, Microsoft.Maui, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.IEnumerable`1[[Microsoft.Maui.IView, Microsoft.Maui, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.IEnumerable, Microsoft.Maui.ISafeAreaView, Microsoft.Maui.IPadding, Microsoft.Maui.ICrossPlatformLayout, Microsoft.Maui.Controls.IBindableLayout, Microsoft.Maui.Controls.IPaddingElement, Microsoft.Maui.Controls.IInputTransparentContainerElement, Microsoft.Maui.ISafeAreaView2, Microsoft.Maui.ISafeAreaElement, Microsoft.Maui.IAbsoluteLayout, System.IDisposable
Inheritance object → BindableObject → Element → StyleableElement → NavigableElement → VisualElement → View → Layout → AbsoluteLayout → Overlay → TileOverlay → ProgressiveFeaturesTileOverlay
Implements INotifyPropertyChanged, IDynamicResourceHandler, IElementDefinition, INameScope, IElementController, IVisualTreeElement, IElement, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IControlsElement, IHandlerDisconnectPolicies, IStyleSelectable, INavigationProxy, IAnimatable, IVisualElementController, IResourcesProvider, IStyleElement, IFlowDirectionController, IPropertyPropagationController, IVisualController, IWindowController, IView, ITransform, IControlsVisualElement, IConstrainedView, IStylable, IViewController, IGestureController, IGestureRecognizers, IPropertyMapperView, IHotReloadableView, IReplaceableView, IControlsView, ILayout, IContainer, IList<IView>, ICollection<IView>, IEnumerable<IView>, IEnumerable, ISafeAreaView, IPadding, ICrossPlatformLayout, IBindableLayout, IPaddingElement, IInputTransparentContainerElement, ISafeAreaView2, ISafeAreaElement, IAbsoluteLayout, IDisposable
Fields¶
transientNamescope¶
public INameScope transientNamescope;
Properties¶
FeatureLayer¶
Gets or sets the progressive feature layer that supplies data for the overlay.
public ProgressiveFeatureLayer FeatureLayer { get; set; }
Property Value¶
DrawingBulkCount¶
Gets or sets the number of features to draw in each progressive batch.
public int DrawingBulkCount { get; set; }
Property Value¶
IsEmpty¶
Gets a value indicating whether the overlay contains a feature layer to render.
public bool IsEmpty { get; }
Property Value¶
TileWidth¶
Gets or sets the width of the tile.
public int TileWidth { get; set; }
Property Value¶
int
The width of the tile.
TileHeight¶
Gets or sets the height of the tile.
public int TileHeight { get; set; }
Property Value¶
int
The height of the tile.
IsCacheOnly¶
Gets or sets a value indicating whether this instance is cache only.
public bool IsCacheOnly { get; set; }
Property Value¶
bool
true if this instance is cache only; otherwise, false.
TileCache¶
Gets or sets the tile cache.
public RasterTileCache TileCache { get; set; }
Property Value¶
RasterTileCache
The tile cache.
TileType¶
Gets and sets the overlay is formed by multiple tiles or single tile.
public TileType TileType { get; set; }
Property Value¶
TileType
The type of the tile.
TileSnappingMode¶
Gets or sets the tile snapping mode.
public TileSnappingMode TileSnappingMode { get; set; }
Property Value¶
TileSnappingMode
The tile snapping mode. By default it's Snapping
Remarks:
TileSnappingMode.Snapping is the default value, and it's always recommended as it brings in better performance (less rendering, take good advantage of caching, etc.)
TransitionEffect¶
Gets or sets the tile transition effect.
public TransitionEffect TransitionEffect { get; set; }
Property Value¶
TransitionEffect
The tile snapping mode.
RenderingOptions¶
Gets or sets all Skia rendering options applied when tiles are drawn.
public RenderingOptions RenderingOptions { get; set; }
Property Value¶
RenderingOptions
ZoomLevelSet¶
Gets or sets the ZoomLevelSet for the TileOverlay. By default, this will snap to the scales defined in the ZoomLevelSet to fetch the internal data. To disable snapping, set TileSnappingMode to NoSnapping (not recommended).
public ZoomLevelSet ZoomLevelSet { get; set; }
Property Value¶
ZoomLevelSet
Remarks:
Ensure that the ZoomLevelSet scales align with those of the tile provider, especially when using third-party data.
Name¶
Gets or sets the name of this overlay.
public string Name { get; set; }
Property Value¶
DrawingExceptionMode¶
This property gets and sets the DrawingExceptionMode used when an exception occurs during drawing.
public DrawingExceptionMode DrawingExceptionMode { get; set; }
Property Value¶
DrawingExceptionMode
The drawing exception mode.
Children¶
public IList<IView> Children { get; }
Property Value¶
Count¶
public int Count { get; }
Property Value¶
IsReadOnly¶
public bool IsReadOnly { get; }
Property Value¶
Item¶
public IView Item { get; set; }
Property Value¶
IsClippedToBounds¶
public bool IsClippedToBounds { get; set; }
Property Value¶
Padding¶
public Thickness Padding { get; set; }
Property Value¶
SafeAreaEdges¶
public SafeAreaEdges SafeAreaEdges { get; set; }
Property Value¶
IgnoreSafeArea¶
public bool IgnoreSafeArea { get; set; }
Property Value¶
CascadeInputTransparent¶
public bool CascadeInputTransparent { get; set; }
Property Value¶
GestureRecognizers¶
public IList<IGestureRecognizer> GestureRecognizers { get; }
Property Value¶
HorizontalOptions¶
public LayoutOptions HorizontalOptions { get; set; }
Property Value¶
Margin¶
public Thickness Margin { get; set; }
Property Value¶
VerticalOptions¶
public LayoutOptions VerticalOptions { get; set; }
Property Value¶
Visual¶
public IVisual Visual { get; set; }
Property Value¶
FlowDirection¶
public FlowDirection FlowDirection { get; set; }
Property Value¶
Window¶
public Window Window { get; }
Property Value¶
AnchorX¶
public double AnchorX { get; set; }
Property Value¶
AnchorY¶
public double AnchorY { get; set; }
Property Value¶
BackgroundColor¶
public Color BackgroundColor { get; set; }
Property Value¶
Background¶
public Brush Background { get; set; }
Property Value¶
Behaviors¶
public IList<Behavior> Behaviors { get; }
Property Value¶
Bounds¶
public Rect Bounds { get; }
Property Value¶
Height¶
public double Height { get; }
Property Value¶
HeightRequest¶
public double HeightRequest { get; set; }
Property Value¶
InputTransparent¶
public bool InputTransparent { get; set; }
Property Value¶
IsEnabled¶
public bool IsEnabled { get; set; }
Property Value¶
IsFocused¶
public bool IsFocused { get; }
Property Value¶
IsVisible¶
public bool IsVisible { get; set; }
Property Value¶
MinimumHeightRequest¶
public double MinimumHeightRequest { get; set; }
Property Value¶
MinimumWidthRequest¶
public double MinimumWidthRequest { get; set; }
Property Value¶
MaximumHeightRequest¶
public double MaximumHeightRequest { get; set; }
Property Value¶
MaximumWidthRequest¶
public double MaximumWidthRequest { get; set; }
Property Value¶
Opacity¶
public double Opacity { get; set; }
Property Value¶
Rotation¶
public double Rotation { get; set; }
Property Value¶
RotationX¶
public double RotationX { get; set; }
Property Value¶
RotationY¶
public double RotationY { get; set; }
Property Value¶
Scale¶
public double Scale { get; set; }
Property Value¶
ScaleX¶
public double ScaleX { get; set; }
Property Value¶
ScaleY¶
public double ScaleY { get; set; }
Property Value¶
TranslationX¶
public double TranslationX { get; set; }
Property Value¶
TranslationY¶
public double TranslationY { get; set; }
Property Value¶
Triggers¶
public IList<TriggerBase> Triggers { get; }
Property Value¶
Width¶
public double Width { get; }
Property Value¶
WidthRequest¶
public double WidthRequest { get; set; }
Property Value¶
X¶
public double X { get; }
Property Value¶
Y¶
public double Y { get; }
Property Value¶
Clip¶
public Geometry Clip { get; set; }
Property Value¶
Batched¶
public bool Batched { get; }
Property Value¶
DisableLayout¶
public bool DisableLayout { get; set; }
Property Value¶
IsInPlatformLayout¶
public bool IsInPlatformLayout { get; set; }
Property Value¶
IsPlatformStateConsistent¶
public bool IsPlatformStateConsistent { get; set; }
Property Value¶
IsPlatformEnabled¶
public bool IsPlatformEnabled { get; set; }
Property Value¶
Resources¶
public ResourceDictionary Resources { get; set; }
Property Value¶
Frame¶
public Rect Frame { get; set; }
Property Value¶
Handler¶
public IViewHandler Handler { get; set; }
Property Value¶
Shadow¶
public Shadow Shadow { get; set; }
Property Value¶
ZIndex¶
public int ZIndex { get; set; }
Property Value¶
DesiredSize¶
public Size DesiredSize { get; protected set; }
Property Value¶
IsLoaded¶
public bool IsLoaded { get; }
Property Value¶
Navigation¶
public INavigation Navigation { get; internal set; }
Property Value¶
NavigationProxy¶
public NavigationProxy NavigationProxy { get; }
Property Value¶
Style¶
public Style Style { get; set; }
Property Value¶
StyleClass¶
public IList<string> StyleClass { get; set; }
Property Value¶
class¶
public IList<string> class { get; set; }
Property Value¶
AutomationId¶
public string AutomationId { get; set; }
Property Value¶
ClassId¶
public string ClassId { get; set; }
Property Value¶
Effects¶
public IList<Effect> Effects { get; }
Property Value¶
Id¶
public Guid Id { get; }
Property Value¶
StyleId¶
public string StyleId { get; set; }
Property Value¶
LogicalChildren¶
public ReadOnlyCollection<Element> LogicalChildren { get; }
Property Value¶
RealParent¶
public Element RealParent { get; }
Property Value¶
Parent¶
public Element Parent { get; set; }
Property Value¶
EffectControlProvider¶
public IEffectControlProvider EffectControlProvider { get; set; }
Property Value¶
Handler¶
public IElementHandler Handler { get; set; }
Property Value¶
Dispatcher¶
public IDispatcher Dispatcher { get; }
Property Value¶
BindingContext¶
public object BindingContext { get; set; }
Property Value¶
Constructors¶
ProgressiveFeaturesTileOverlay()¶
public ProgressiveFeaturesTileOverlay()
Methods¶
GetBoundingBoxCore()¶
Gets the bounding box that encompasses the data in the progressive feature layer.
protected RectangleShape GetBoundingBoxCore()
Returns¶
RectangleShape
The extent of the underlying feature layer.
OpenAsyncCore(IMapView, CancellationToken)¶
Opens the overlay and the underlying progressive feature layer.
protected Task OpenAsyncCore(IMapView mapView, CancellationToken cancellationToken)
Parameters¶
mapView IMapView
The map view associated with the overlay.
cancellationToken CancellationToken
Token used to cancel the operation.
Returns¶
Task
A task representing the asynchronous operation.
CloseAsyncCore(CancellationToken)¶
Closes the overlay and releases the resources used by the progressive feature layer.
protected Task CloseAsyncCore(CancellationToken cancellationToken)
Parameters¶
cancellationToken CancellationToken
Token used to cancel the operation.
Returns¶
Task
A task representing the asynchronous operation.
DrawAsyncCore(OverlayRefreshType, CancellationToken)¶
Draws the overlay by progressively requesting and rendering feature batches.
protected Task DrawAsyncCore(OverlayRefreshType refreshType, CancellationToken cancellationToken)
Parameters¶
refreshType OverlayRefreshType
Specifies the type of refresh requested.
cancellationToken CancellationToken
Token used to cancel the operation.
Returns¶
Task
A task representing the asynchronous operation.
GetTileCore()¶
Creates a tile that is used when rendering the overlay.
protected TileView GetTileCore()
Returns¶
TileView
A tile view configured for the current extent.
Events¶
DrawingTile¶
The event raised before Drawing a tile
public event EventHandler<DrawingTileTileOverlayEventArgs> DrawingTile;
PostedTile¶
The event raised after Posted a tile
public event EventHandler<PostedTileTileOverlayEventArgs> PostedTile;
CreatingSKTypefaceForCharacter¶
Raised when a tile needs to resolve a custom SKTypeface for a character that is missing in the default font set.
public event EventHandler<CreatingSKTypefaceForCharacterEventArgs> CreatingSKTypefaceForCharacter;
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;
ChildrenReordered¶
public event EventHandler ChildrenReordered;
Focused¶
public event EventHandler<FocusEventArgs> Focused;
MeasureInvalidated¶
public event EventHandler MeasureInvalidated;
SizeChanged¶
public event EventHandler SizeChanged;
Unfocused¶
public event EventHandler<FocusEventArgs> Unfocused;
BatchCommitted¶
public event EventHandler<EventArg<VisualElement>> BatchCommitted;
FocusChangeRequested¶
public event EventHandler<FocusRequestArgs> FocusChangeRequested;
Loaded¶
public event EventHandler Loaded;
Unloaded¶
public event EventHandler Unloaded;
ChildAdded¶
public event EventHandler<ElementEventArgs> ChildAdded;
ChildRemoved¶
public event EventHandler<ElementEventArgs> ChildRemoved;
DescendantAdded¶
public event EventHandler<ElementEventArgs> DescendantAdded;
DescendantRemoved¶
public event EventHandler<ElementEventArgs> DescendantRemoved;
ParentChanging¶
public event EventHandler<ParentChangingEventArgs> ParentChanging;
ParentChanged¶
public event EventHandler ParentChanged;
HandlerChanging¶
public event EventHandler<HandlerChangingEventArgs> HandlerChanging;
HandlerChanged¶
public event EventHandler HandlerChanged;
PropertyChanged¶
public event PropertyChangedEventHandler PropertyChanged;
PropertyChanging¶
public event PropertyChangingEventHandler PropertyChanging;
BindingContextChanged¶
public event EventHandler BindingContextChanged;