Skip to content

WmsOverlay

Namespace: ThinkGeo.UI.Maui

public class WmsOverlay : WebBasedTileOverlay`1, 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.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.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=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.ICollection`1[[Microsoft.Maui.IView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Collections.Generic.IEnumerable`1[[Microsoft.Maui.IView, Microsoft.Maui, Version=1.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.IAbsoluteLayout, System.IDisposable, ThinkGeo.Core.IWmsEntity

Inheritance Object → BindableObject → Element → NavigableElement → VisualElement → View → Layout → AbsoluteLayout → Overlay → TileOverlay → WebBasedTileOverlay<WmsAsyncLayer> → WmsOverlay
Implements INotifyPropertyChanged, IDynamicResourceHandler, IElementDefinition, INameScope, IElementController, IVisualTreeElement, IElement, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IControlsElement, IStyleSelectable, INavigationProxy, IAnimatable, IVisualElementController, IResourcesProvider, IStyleElement, IFlowDirectionController, IPropertyPropagationController, IVisualController, IWindowController, IView, ITransform, IControlsVisualElement, IStylable, IViewController, IGestureController, IGestureRecognizers, IPropertyMapperView, IHotReloadableView, IReplaceableView, IControlsView, ILayout, IContainer, IList<IView>, ICollection<IView>, IEnumerable<IView>, IEnumerable, ISafeAreaView, IPadding, ICrossPlatformLayout, IBindableLayout, IPaddingElement, IInputTransparentContainerElement, IAbsoluteLayout, IDisposable, IWmsEntity

Properties

Parameters

Gets a dictionary whose items will be passed to the WMS server as parameters.

public Dictionary<string, string> Parameters { get; }

Property Value

Dictionary<String, String>
A dictionary whose items will be passed to the WMS server as parameters.

IsTransparent

This property gets or sets whether the response map image's background color is transparent or not.

public bool IsTransparent { get; set; }

Property Value

Boolean

Exceptions

This property indicates the format in which the client wishes to be notified of service exceptions.

public string Exceptions { get; set; }

Property Value

String

Remarks:

Upon receiving a request that is invalid according to the OGC standard, the server shall issue a service exception report. The service report is meant to describe to the client application or its human user the reason(s) that the request is invalid.

CapabilitiesCacheTimeout

The timeout for Capabilities Cache, its 10 minutes by default

public TimeSpan CapabilitiesCacheTimeout { get; set; }

Property Value

TimeSpan

ActiveLayerNames

This property represents the available layers that can be requested from the client and shown on the map.

public Collection<string> ActiveLayerNames { get; }

Property Value

Collection<String>

Remarks:

When requesting a map, a client may specify the layers to be shown on the map.

ActiveStyleNames

This property represents the available styles that can be requested from the client and shown on the map.

public Collection<string> ActiveStyleNames { get; }

Property Value

Collection<String>

Remarks:

When requesting a map, a client may specify the styles to be shown on the map.

OutputFormat

This property gets or sets the desired output format for the map requested from the WMS.

public string OutputFormat { get; set; }

Property Value

String

Remarks:

When requesting a map, a client may specify the output format in which to show the map. Format are specified as MIME types such as "image/gif" or "image/png".

UserAgent

This property allows you to specify a custom user-agent request header when making requests to a Web Map Service (WMS) server. This header provides information about the client application or device and can be useful for server-side logging and analytics.

public string UserAgent { get; set; }

Property Value

String

AxisOrder

This property specifies the order in which the coordinate axes are arranged when making requests to a Web Map Service (WMS) server. It is used to define the spatial reference system for the layer.

public WmsAxisOrder AxisOrder { get; set; }

Property Value

WmsAxisOrder

Credentials

This property gets or sets the base authentication interface for retrieving credentials for Web Client authentication.

public ICredentials Credentials { get; set; }

Property Value

ICredentials

Crs

This property gets or sets the projected or geographic coordinate reference system to be used.

public string Crs { get; set; }

Property Value

String

Version

This property gets the version.

public string Version { get; }

Property Value

String

FastMode

This property gets or sets whether request and parse capabilities.

public bool FastMode { get; set; }

Property Value

Boolean

Uri

This property specifies the URI of the WMS server.

public Uri Uri { get; set; }

Property Value

Uri

Proxy

This property gets or sets the proxy used for requesting a Web Response.

public IWebProxy Proxy { get; set; }

Property Value

IWebProxy

WebBasedLayer

public WmsAsyncLayer WebBasedLayer { get; set; }

Property Value

WmsAsyncLayer

WebProxy

Gets or sets the Web Proxy for web service.

public IWebProxy WebProxy { get; set; }

Property Value

IWebProxy

TimeoutInSeconds

Gets or sets the length of time, in seconds, before the request times out.

public int TimeoutInSeconds { get; set; }

Property Value

Int32

TileWidth

Gets or sets the width of the tile.

public int TileWidth { get; }

Property Value

Int32
The width of the tile.

TileHeight

Gets or sets the height of the tile.

public int TileHeight { get; }

Property Value

Int32
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

Boolean
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.

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

String

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.

IsEmpty

This property gets if this overlay is empty or not.

public bool IsEmpty { get; }

Property Value

Boolean

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.

Children

public IList<IView> Children { get; }

Property Value

IList<IView>

Count

public int Count { get; }

Property Value

Int32

IsReadOnly

public bool IsReadOnly { get; }

Property Value

Boolean

Item

public IView Item { get; set; }

Property Value

IView

IsClippedToBounds

public bool IsClippedToBounds { get; set; }

Property Value

Boolean

Padding

public Thickness Padding { get; set; }

Property Value

Thickness

IgnoreSafeArea

public bool IgnoreSafeArea { get; set; }

Property Value

Boolean

CascadeInputTransparent

public bool CascadeInputTransparent { get; set; }

Property Value

Boolean

GestureRecognizers

public IList<IGestureRecognizer> GestureRecognizers { get; }

Property Value

IList<IGestureRecognizer>

HorizontalOptions

public LayoutOptions HorizontalOptions { get; set; }

Property Value

LayoutOptions

Margin

public Thickness Margin { get; set; }

Property Value

Thickness

VerticalOptions

public LayoutOptions VerticalOptions { get; set; }

Property Value

LayoutOptions

Visual

public IVisual Visual { get; set; }

Property Value

IVisual

FlowDirection

public FlowDirection FlowDirection { get; set; }

Property Value

FlowDirection

Window

public Window Window { get; }

Property Value

Window

AnchorX

public double AnchorX { get; set; }

Property Value

Double

AnchorY

public double AnchorY { get; set; }

Property Value

Double

BackgroundColor

public Color BackgroundColor { get; set; }

Property Value

Color

Background

public Brush Background { get; set; }

Property Value

Brush

Behaviors

public IList<Behavior> Behaviors { get; }

Property Value

IList<Behavior>

Bounds

public Rect Bounds { get; }

Property Value

Rect

Height

public double Height { get; }

Property Value

Double

HeightRequest

public double HeightRequest { get; set; }

Property Value

Double

InputTransparent

public bool InputTransparent { get; set; }

Property Value

Boolean

IsEnabled

public bool IsEnabled { get; set; }

Property Value

Boolean

IsFocused

public bool IsFocused { get; }

Property Value

Boolean

IsVisible

public bool IsVisible { get; set; }

Property Value

Boolean

MinimumHeightRequest

public double MinimumHeightRequest { get; set; }

Property Value

Double

MinimumWidthRequest

public double MinimumWidthRequest { get; set; }

Property Value

Double

MaximumHeightRequest

public double MaximumHeightRequest { get; set; }

Property Value

Double

MaximumWidthRequest

public double MaximumWidthRequest { get; set; }

Property Value

Double

Opacity

public double Opacity { get; set; }

Property Value

Double

Rotation

public double Rotation { get; set; }

Property Value

Double

RotationX

public double RotationX { get; set; }

Property Value

Double

RotationY

public double RotationY { get; set; }

Property Value

Double

Scale

public double Scale { get; set; }

Property Value

Double

ScaleX

public double ScaleX { get; set; }

Property Value

Double

ScaleY

public double ScaleY { get; set; }

Property Value

Double

TranslationX

public double TranslationX { get; set; }

Property Value

Double

TranslationY

public double TranslationY { get; set; }

Property Value

Double

Triggers

public IList<TriggerBase> Triggers { get; }

Property Value

IList<TriggerBase>

Width

public double Width { get; }

Property Value

Double

WidthRequest

public double WidthRequest { get; set; }

Property Value

Double

X

public double X { get; }

Property Value

Double

Y

public double Y { get; }

Property Value

Double

Clip

public Geometry Clip { get; set; }

Property Value

Geometry

Batched

public bool Batched { get; }

Property Value

Boolean

DisableLayout

public bool DisableLayout { get; set; }

Property Value

Boolean

IsInPlatformLayout

public bool IsInPlatformLayout { get; set; }

Property Value

Boolean

IsPlatformStateConsistent

public bool IsPlatformStateConsistent { get; set; }

Property Value

Boolean

IsPlatformEnabled

public bool IsPlatformEnabled { get; set; }

Property Value

Boolean

Resources

public ResourceDictionary Resources { get; set; }

Property Value

ResourceDictionary

Frame

public Rect Frame { get; set; }

Property Value

Rect

Handler

public IViewHandler Handler { get; set; }

Property Value

IViewHandler

Shadow

public Shadow Shadow { get; set; }

Property Value

Shadow

ZIndex

public int ZIndex { get; set; }

Property Value

Int32

DesiredSize

public Size DesiredSize { get; protected set; }

Property Value

Size

IsLoaded

public bool IsLoaded { get; }

Property Value

Boolean

public INavigation Navigation { get; internal set; }

Property Value

INavigation

Style

public Style Style { get; set; }

Property Value

Style

StyleClass

public IList<string> StyleClass { get; set; }

Property Value

IList<String>

class

public IList<string> class { get; set; }

Property Value

IList<String>

public NavigationProxy NavigationProxy { get; }

Property Value

NavigationProxy

AutomationId

public string AutomationId { get; set; }

Property Value

String

ClassId

public string ClassId { get; set; }

Property Value

String

Effects

public IList<Effect> Effects { get; }

Property Value

IList<Effect>

Id

public Guid Id { get; }

Property Value

Guid

StyleId

public string StyleId { get; set; }

Property Value

String

LogicalChildren

public ReadOnlyCollection<Element> LogicalChildren { get; }

Property Value

ReadOnlyCollection<Element>

RealParent

public Element RealParent { get; }

Property Value

Element

Parent

public Element Parent { get; set; }

Property Value

Element

EffectControlProvider

public IEffectControlProvider EffectControlProvider { get; set; }

Property Value

IEffectControlProvider

Handler

public IElementHandler Handler { get; set; }

Property Value

IElementHandler

Dispatcher

public IDispatcher Dispatcher { get; }

Property Value

IDispatcher

BindingContext

public object BindingContext { get; set; }

Property Value

Object

Constructors

WmsOverlay()

Constructor of WmsOverlay class.

public WmsOverlay()

WmsOverlay(Uri)

Constructor of WmsOverlay class.

public WmsOverlay(Uri uri)

Parameters

uri Uri
This parameter indicates the uri for the Wms server.

WmsOverlay(Uri, IWebProxy, String, WmsAxisOrder, String, Boolean)

Constructor of WmsOverlay class.

public WmsOverlay(Uri uri, IWebProxy proxy, string crs, WmsAxisOrder axisOrder, string version, bool fastMode)

Parameters

uri Uri
This parameter indicates the uri for the Wms server.

proxy IWebProxy
This parameter indicates the web proxy of the request

crs String
the projected or geographic coordinate reference system to be used.

axisOrder WmsAxisOrder
the axis order of the layer

version String
The version of the WMS, could be 1.3 or 1.1

fastMode Boolean
whether request and parse capabilities

Methods

GetServerLayers()

This method returns all layers at the server side.

public Collection<WmsServerLayer> GetServerLayers()

Returns

Collection<WmsServerLayer>
This method returns all layers at the server side.

Remarks:

None.

GetServerStyleNames()

This method returns the names of all styles at the server side.

public Collection<string> GetServerStyleNames()

Returns

Collection<String>
This method returns the names of all styles at the server side.

Remarks:

None.

GetServerOutputFormats()

This method returns the output format at the server side.

public Collection<string> GetServerOutputFormats()

Returns

Collection<String>
This method returns the output format at the server side.

Remarks:

None.

GetServerCrsCollection()

This method returns the projected or geographic coordinate reference systems to be used.

public Collection<string> GetServerCrsCollection()

Returns

Collection<String>

GetServerExceptionFormats()

This method returns the exception format at the server side.

public Collection<string> GetServerExceptionFormats()

Returns

Collection<String>
This method returns the exception format at the server side.

Remarks:

None.

GetServiceVersion()

This API gets the WMS server version of the service.

public string GetServiceVersion()

Returns

String
Returning a string reflecting the version of the service in WMS.

GetServerFeatureInfoFormats()

This API gets the WMS server FeatureInfo formats of the service.

public Collection<string> GetServerFeatureInfoFormats()

Returns

Collection<String>
This API returns the FeatureInfo formats supported on the server-side.

GetServerCapabilitiesXml()

This API gets the GetCapabilities document of the service.

public string GetServerCapabilitiesXml()

Returns

String
This API returns the GetCapabilities document of the service.

GetServiceBaseUrl()

This API gets the WMS base url of the service.

public string GetServiceBaseUrl()

Returns

String
Returns a string reflecting the WMS base url.

OpenAsyncCore(IMapView, CancellationToken)

protected Task OpenAsyncCore(IMapView mapView, CancellationToken cancellationToken)

Parameters

mapView IMapView

cancellationToken CancellationToken

Returns

Task

GetBoundingBoxCore()

This method returns the bounding box of WmsOverlay.

protected RectangleShape GetBoundingBoxCore()

Returns

RectangleShape

CloseAsyncCore(CancellationToken)

This method closes WmsOverlay and releases any resources it was using.

protected Task CloseAsyncCore(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task

GetTileCore()

protected TileView GetTileCore()

Returns

TileView

Events

SendingHttpRequest

public event EventHandler<SendingHttpRequestMessageEventArgs> SendingHttpRequest;

ReceivedHttpResponse

public event EventHandler<ReceivedHttpResponseMessageEventArgs> ReceivedHttpResponse;

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;

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;