diff --git a/docs/pages/classes/dymaptic.GeoBlazor.Core.Components.Layers.Graphic.md b/docs/pages/classes/dymaptic.GeoBlazor.Core.Components.Layers.Graphic.md index bc636d0b..3f0f27e7 100644 --- a/docs/pages/classes/dymaptic.GeoBlazor.Core.Components.Layers.Graphic.md +++ b/docs/pages/classes/dymaptic.GeoBlazor.Core.Components.Layers.Graphic.md @@ -84,6 +84,10 @@ public dymaptic.GeoBlazor.Core.Objects.AttributesDictionary Attributes { get; se #### Property Value [AttributesDictionary](dymaptic.GeoBlazor.Core.Objects.AttributesDictionary.html 'dymaptic.GeoBlazor.Core.Objects.AttributesDictionary') +### Remarks +This collection should only be set via the constructor or as a markup parameter/attribute. To add or remove +members, use the methods defined in [AttributesDictionary](dymaptic.GeoBlazor.Core.Objects.AttributesDictionary.html 'dymaptic.GeoBlazor.Core.Objects.AttributesDictionary') + ## Graphic.Geometry Property diff --git a/docs/pages/classes/dymaptic.GeoBlazor.Core.Components.Views.MapView.md b/docs/pages/classes/dymaptic.GeoBlazor.Core.Components.Views.MapView.md index 5d4c4779..cc699a82 100644 --- a/docs/pages/classes/dymaptic.GeoBlazor.Core.Components.Views.MapView.md +++ b/docs/pages/classes/dymaptic.GeoBlazor.Core.Components.Views.MapView.md @@ -3,2176 +3,2160 @@ layout: default title: MapView parent: Classes --- -#### [dymaptic.GeoBlazor.Core](index.html 'index') -### [dymaptic.GeoBlazor.Core.Components.Views](index.html#dymaptic.GeoBlazor.Core.Components.Views 'dymaptic.GeoBlazor.Core.Components.Views') - -## MapView Class - -The Top-Level Map Component Container. -A MapView displays a 2D view of a Map instance. An instance of MapView must be created to render a Map (along with -its operational and base layers) in 2D. To render a map and its layers in 3D, see the documentation for SceneView. -For a general overview of views, see View. -ArcGIS JS API - -```csharp -public class MapView : dymaptic.GeoBlazor.Core.Components.MapComponent -``` - -Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [Microsoft.AspNetCore.Components.ComponentBase](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.ComponentBase 'Microsoft.AspNetCore.Components.ComponentBase') 🡒 [MapComponent](dymaptic.GeoBlazor.Core.Components.MapComponent.html 'dymaptic.GeoBlazor.Core.Components.MapComponent') 🡒 MapView - -Derived -↳ [SceneView](dymaptic.GeoBlazor.Core.Components.Views.SceneView.html 'dymaptic.GeoBlazor.Core.Components.Views.SceneView') - -### Example -Sample - Navigation -### Fields - - - -## MapView.ExtentChangedInJs Field - -A boolean flag to indicate that the map extent has been modified in JavaScript, and therefore should not be -modifiable by markup until [Refresh()](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.Refresh() 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Refresh()') is called - -```csharp -public bool ExtentChangedInJs; -``` - -#### Field Value -[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') -### Properties - - - -## MapView.AllowDefaultEsriLogin Property - -Allows maps to be rendered without an Api or OAuth Token, which will trigger a default esri login popup. - -```csharp -public System.Nullable AllowDefaultEsriLogin { get; set; } -``` - -#### Property Value -[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - - - -## MapView.AuthenticationManager Property - -Handles OAuth authentication - -```csharp -public dymaptic.GeoBlazor.Core.Model.AuthenticationManager AuthenticationManager { get; set; } -``` - -#### Property Value -[AuthenticationManager](dymaptic.GeoBlazor.Core.Model.AuthenticationManager.html 'dymaptic.GeoBlazor.Core.Model.AuthenticationManager') - - - -## MapView.Center Property - -The Center point of the view, equivalent to setting Latitude/Longitude - -```csharp -public dymaptic.GeoBlazor.Core.Components.Geometries.Point? Center { get; set; } -``` - -#### Property Value -[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - - - -## MapView.Class Property - -Inline html/css class selector for applying css - -```csharp -public string Class { get; set; } -``` - -#### Property Value -[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - - - -## MapView.Configuration Property - -A set of key/value application configuration properties, that can be populated from `appsettings.json, environment -variables, or other sources. - -```csharp -public Microsoft.Extensions.Configuration.IConfiguration Configuration { get; set; } -``` - -#### Property Value -[Microsoft.Extensions.Configuration.IConfiguration](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.Extensions.Configuration.IConfiguration 'Microsoft.Extensions.Configuration.IConfiguration') - - - -## MapView.EventRateLimitInMilliseconds Property - -Set this parameter to limit the rate at which recurring events are returned. Applies to [OnDrag](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnDrag 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnDrag'), -[OnPointerMove](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnPointerMove 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnPointerMove'), [OnMouseWheel](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnMouseWheel 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnMouseWheel'), [OnResize](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnResize 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnResize'), and -[OnExtentChanged](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnExtentChanged 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnExtentChanged') - -```csharp -public System.Nullable EventRateLimitInMilliseconds { get; set; } -``` - -#### Property Value -[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - - - -## MapView.Graphics Property - -The collection of [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')s in the view. These are directly on the view itself, not in a -[GraphicsLayer](dymaptic.GeoBlazor.Core.Components.Layers.GraphicsLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.GraphicsLayer'). - -```csharp -public System.Collections.Generic.IReadOnlyCollection Graphics { get; set; } -``` - -#### Property Value -[System.Collections.Generic.IReadOnlyCollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1 'System.Collections.Generic.IReadOnlyCollection`1')[Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1 'System.Collections.Generic.IReadOnlyCollection`1') - - - -## MapView.GraphicSerializationChunkSize Property - -Optional setting to control the number of graphics that are serialized in a single chunk. Tuning this value might help with performance when adding large graphic sets. - -```csharp -public System.Nullable GraphicSerializationChunkSize { get; set; } -``` - -#### Property Value -[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - - - -## MapView.IsMaui Property - -Boolean flag to identify if GeoBlazor is running in Blazor Hybrid (MAUI) mode - -```csharp -public bool IsMaui { get; } -``` - -#### Property Value -[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') - - - -## MapView.IsServer Property - -Boolean flag to identify if GeoBlazor is running in Blazor Server mode - -```csharp -public bool IsServer { get; } -``` - -#### Property Value -[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') - - - -## MapView.IsWebAssembly Property - -Boolean flag to identify if GeoBlazor is running in Blazor WebAssembly (client) mode - -```csharp -public bool IsWebAssembly { get; } -``` - -#### Property Value -[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') - - - -## MapView.Latitude Property - -The Latitude for the Center point of the view - -```csharp -public System.Nullable Latitude { get; set; } -``` - -#### Property Value -[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - - - -## MapView.LoadOnRender Property - -Boolean flag that can be set to false to prevent the MapView from automatically rendering with the Blazor -components. - -```csharp -public bool LoadOnRender { get; set; } -``` - -#### Property Value -[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') - - - -## MapView.Longitude Property - -The Longitude for the Center point of the view - -```csharp -public System.Nullable Longitude { get; set; } -``` - -#### Property Value -[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - - - -## MapView.Map Property - -An instance of a [Map](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.Map 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Map') object to display in the view. - -```csharp -public virtual dymaptic.GeoBlazor.Core.Components.Map? Map { get; set; } -``` - -#### Property Value -[Map](dymaptic.GeoBlazor.Core.Components.Map.html 'dymaptic.GeoBlazor.Core.Components.Map') - - - -## MapView.OnBlur Property - -Handler delegate for blur (lost focus) events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnBlur { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[BlurEvent](dymaptic.GeoBlazor.Core.Events.BlurEvent.html 'dymaptic.GeoBlazor.Core.Events.BlurEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnClick Property - -Handler delegate for click events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnClick { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnDoubleClick Property - -Handler delegate for double-click events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnDoubleClick { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnDrag Property - -Handler delegate for pointer drag events on the view, returns a [DragEvent](dymaptic.GeoBlazor.Core.Events.DragEvent.html 'dymaptic.GeoBlazor.Core.Events.DragEvent'). - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnDrag { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[DragEvent](dymaptic.GeoBlazor.Core.Events.DragEvent.html 'dymaptic.GeoBlazor.Core.Events.DragEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - -### Remarks -The real-time nature of this handler make it a challenge to use continuously over SignalR in Blazor Server. -In this scenario, you should write a custom JavaScript handler instead. - - - -## MapView.OnExtentChanged Property - -Handler delegate for the view's Extent changing. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnExtentChanged { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnFocus Property - -Handler delegate for focus events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnFocus { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[FocusEvent](dymaptic.GeoBlazor.Core.Events.FocusEvent.html 'dymaptic.GeoBlazor.Core.Events.FocusEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnHold Property - -Handler delegate for hold events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnHold { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnImmediateClick Property - -Handler delegate for immediate-click events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnImmediateClick { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnImmediateDoubleClick Property - -Handler delegate for immediate-double-click events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnImmediateDoubleClick { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnJavascriptErrorHandler Property - -Implement this handler in your calling code to catch and handle Javascript errors. - -```csharp -public System.Func? OnJavascriptErrorHandler { get; set; } -``` - -#### Property Value -[System.Func<](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')[JavascriptException](dymaptic.GeoBlazor.Core.Exceptions.JavascriptException.html 'dymaptic.GeoBlazor.Core.Exceptions.JavascriptException')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2') - - - -## MapView.OnKeyDown Property - -Handler delegate for key-down events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnKeyDown { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[KeyDownEvent](dymaptic.GeoBlazor.Core.Events.KeyDownEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyDownEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - -### Remarks -Fires after a keyboard key is pressed. - - - -## MapView.OnKeyUp Property - -Handler delegate for key-up events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnKeyUp { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[KeyUpEvent](dymaptic.GeoBlazor.Core.Events.KeyUpEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyUpEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - -### Remarks -Fires after a keyboard key is released. - - - -## MapView.OnLayerViewCreate Property - -Fires after each layer in the map has a corresponding LayerView created and rendered in the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnLayerViewCreate { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[LayerViewCreateEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnLayerViewCreateError Property - -Fires after a LayerView is destroyed and is no longer rendered in the view. This happens for example when a layer -is removed from the map of the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnLayerViewCreateError { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[LayerViewCreateErrorEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnLayerViewDestroy Property - -Fires after a LayerView is destroyed and is no longer rendered in the view. This happens for example when a layer -is removed from the map of the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnLayerViewDestroy { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[LayerViewDestroyEvent](dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnMapRendered Property - -Handler delegate for when the map view is fully rendered. Must return a [System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task'). - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnMapRendered { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback 'Microsoft.AspNetCore.Components.EventCallback') - - - -## MapView.OnMouseWheel Property - -Handler delegate for the view's Extent changing. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnMouseWheel { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[MouseWheelEvent](dymaptic.GeoBlazor.Core.Events.MouseWheelEvent.html 'dymaptic.GeoBlazor.Core.Events.MouseWheelEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnPointerDown Property - -Handler delegate for pointer down events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnPointerDown { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - -### Remarks -Fires after a mouse button is pressed, or a finger touches the display. - - - -## MapView.OnPointerEnter Property - -Handler delegate for pointer enter events on the view. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnPointerEnter { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - -### Remarks -Fires after a mouse cursor enters the view, or a display touch begins. - - - -## MapView.OnPointerLeave Property - -Handler delegate for pointer leave events on the view. Must take in a [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') and return a -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task'). - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnPointerLeave { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - -### Remarks -Fires after a mouse cursor leaves the view, or a display touch ends. - - - -## MapView.OnPointerMove Property - -Handler delegate for point move events on the view. Must take in a [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') and return a -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task'). - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnPointerMove { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - -### Remarks -The real-time nature of this handler make it a challenge to use continuously over SignalR in Blazor Server. -In this scenario, you should write a custom JavaScript handler instead. -See - - - Display - - Projection - - -code. - - - -## MapView.OnPointerUp Property - -Handler delegate for pointer up events on the view. Must take in a [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') and return a -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task'). - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnPointerUp { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - -### Remarks -Fires after a mouse button is released, or a display touch ends. - - - -## MapView.OnResize Property - -Handler delegate for the view's Extent changing. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnResize { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ResizeEvent](dymaptic.GeoBlazor.Core.Events.ResizeEvent.html 'dymaptic.GeoBlazor.Core.Events.ResizeEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnSpatialReferenceChanged Property - -Handler delegate for the view's Spatial Reference changing. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnSpatialReferenceChanged { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') - - - -## MapView.OnViewInitialized Property - -Event triggered when the JS view is created, but before the full map is rendered. - -```csharp -public Microsoft.AspNetCore.Components.EventCallback OnViewInitialized { get; set; } -``` - -#### Property Value -[Microsoft.AspNetCore.Components.EventCallback](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback 'Microsoft.AspNetCore.Components.EventCallback') - - - -## MapView.PromptForArcGISKey Property - -Provides an override for the default behavior of requiring an API key. By setting to "false", all calls to ArcGIS -services will trigger a sign-in popup. - -```csharp -public System.Nullable PromptForArcGISKey { get; set; } -``` - -#### Property Value -[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -### Remarks -Setting this to "false" is the same as setting [AllowDefaultEsriLogin](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.AllowDefaultEsriLogin 'dymaptic.GeoBlazor.Core.Components.Views.MapView.AllowDefaultEsriLogin') to "true". This is provided -simply for convenience of discovery. - - - -## MapView.PromptForOAuthLogin Property - -If you set an `AppId` in your configuration, setting this to true will cause the app to attempt to auto-login -using ArcGIS OAuth. - -```csharp -public System.Nullable PromptForOAuthLogin { get; set; } -``` - -#### Property Value -[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - - - -## MapView.Rotation Property - -The clockwise rotation of due north in relation to the top of the view in degrees. - -```csharp -public double Rotation { get; set; } -``` - -#### Property Value -[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - - - -## MapView.Scale Property - -Represents the map scale at the center of the view. - -```csharp -public System.Nullable Scale { get; set; } -``` - -#### Property Value -[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - - - -## MapView.Style Property - -Inline css styling attribute - -```csharp -public string Style { get; set; } -``` - -#### Property Value -[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - - - -## MapView.Widgets Property - -The collection of [Widget](dymaptic.GeoBlazor.Core.Components.Widgets.Widget.html 'dymaptic.GeoBlazor.Core.Components.Widgets.Widget')s in the view. - -```csharp -public System.Collections.Generic.IReadOnlyCollection Widgets { get; set; } -``` - -#### Property Value -[System.Collections.Generic.IReadOnlyCollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1 'System.Collections.Generic.IReadOnlyCollection`1')[Widget](dymaptic.GeoBlazor.Core.Components.Widgets.Widget.html 'dymaptic.GeoBlazor.Core.Components.Widgets.Widget')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1 'System.Collections.Generic.IReadOnlyCollection`1') - - - -## MapView.Zoom Property - -Represents the level of detail (LOD) at the center of the view. - -```csharp -public System.Nullable Zoom { get; set; } -``` - -#### Property Value -[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') -### Methods - - - -## MapView.AddGraphic(Graphic) Method - -Adds a [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') to the current view, or to a [GraphicsLayer](dymaptic.GeoBlazor.Core.Components.Layers.GraphicsLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.GraphicsLayer'). - -```csharp -public System.Threading.Tasks.Task AddGraphic(dymaptic.GeoBlazor.Core.Components.Layers.Graphic graphic); -``` -#### Parameters - - - -`graphic` [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') - -The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') to add. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.AddGraphics(IEnumerable, CancellationToken) Method - -Adds a collection of [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')s to the current view - -```csharp -public System.Threading.Tasks.Task AddGraphics(System.Collections.Generic.IEnumerable graphics, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken)); -``` -#### Parameters - - - -`graphics` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - - - -`cancellationToken` [System.Threading.CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.CancellationToken 'System.Threading.CancellationToken') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.AddLayer(Layer, bool) Method - -Adds a layer to the current Map - -```csharp -public System.Threading.Tasks.Task AddLayer(dymaptic.GeoBlazor.Core.Components.Layers.Layer layer, bool isBasemapLayer=false); -``` -#### Parameters - - - -`layer` [Layer](dymaptic.GeoBlazor.Core.Components.Layers.Layer.html 'dymaptic.GeoBlazor.Core.Components.Layers.Layer') - -The layer to add - - - -`isBasemapLayer` [System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') - -If true, adds the layer as a Basemap - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.ClearGraphics() Method - -Clears all graphics from the view. - -```csharp -public System.Threading.Tasks.Task ClearGraphics(); -``` - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.ClosePopup() Method - -Closes the popup by setting its visible property to false. Users can alternatively close the popup by directly -setting the visible property to false. - -```csharp -public System.Threading.Tasks.Task ClosePopup(); -``` - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.DisposeAsync() Method - -Implements the `IAsyncDisposable` pattern. - -```csharp -public override System.Threading.Tasks.ValueTask DisposeAsync(); -``` - -Implements [DisposeAsync()](https://docs.microsoft.com/en-us/dotnet/api/System.IAsyncDisposable.DisposeAsync 'System.IAsyncDisposable.DisposeAsync') - -#### Returns -[System.Threading.Tasks.ValueTask](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.ValueTask 'System.Threading.Tasks.ValueTask') - - - -## MapView.DrawRouteAndGetDirections(Symbol, string) Method - -A custom method to set up the interaction for clicking a start and end point, and have the view render a driving -route. Also returns a set of [Direction](dymaptic.GeoBlazor.Core.Objects.Direction.html 'dymaptic.GeoBlazor.Core.Objects.Direction')s for display. - -```csharp -public System.Threading.Tasks.Task DrawRouteAndGetDirections(dymaptic.GeoBlazor.Core.Components.Symbols.Symbol routeSymbol, string routeUrl); -``` -#### Parameters - - - -`routeSymbol` [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') - -The [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') used to render the route. - - - -`routeUrl` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - -A routing service url for calculating the route. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Direction](dymaptic.GeoBlazor.Core.Objects.Direction.html 'dymaptic.GeoBlazor.Core.Objects.Direction')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -A collection of [Direction](dymaptic.GeoBlazor.Core.Objects.Direction.html 'dymaptic.GeoBlazor.Core.Objects.Direction') steps to follow the route. - - - -## MapView.FindPlaces(AddressQuery, Symbol, PopupTemplate) Method - -A custom method to run an [AddressQuery](dymaptic.GeoBlazor.Core.Objects.AddressQuery.html 'dymaptic.GeoBlazor.Core.Objects.AddressQuery') against the current view, and display the results. - -```csharp -public System.Threading.Tasks.Task FindPlaces(dymaptic.GeoBlazor.Core.Objects.AddressQuery query, dymaptic.GeoBlazor.Core.Components.Symbols.Symbol displaySymbol, dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate popupTemplate); -``` -#### Parameters - - - -`query` [AddressQuery](dymaptic.GeoBlazor.Core.Objects.AddressQuery.html 'dymaptic.GeoBlazor.Core.Objects.AddressQuery') - -The [AddressQuery](dymaptic.GeoBlazor.Core.Objects.AddressQuery.html 'dymaptic.GeoBlazor.Core.Objects.AddressQuery') to run. - - - -`displaySymbol` [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') - -The [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') to use to render the results of the query. - - - -`popupTemplate` [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') - -A [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') for displaying Popups on rendered results. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.GetCenter() Method - -Returns the center [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') of the current view extent. - -```csharp -public System.Threading.Tasks.Task GetCenter(); -``` - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.GetExtent() Method - -Returns the current [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') of the view. - -```csharp -public System.Threading.Tasks.Task GetExtent(); -``` - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.GetId() Method - -JS-Invokable method to generate a new GUID Id - -```csharp -public string GetId(); -``` - -#### Returns -[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - - - -## MapView.GetId() Method - -JS-Invokable method to generate a new GUID Id - -```csharp -public string GetId(); -``` - -#### Returns -[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - - - -## MapView.GetPopupWidget() Method - -Retrieves the Popup Widget for the view. - -```csharp -public System.Threading.Tasks.Task GetPopupWidget(); -``` - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PopupWidget](dymaptic.GeoBlazor.Core.Components.Widgets.PopupWidget.html 'dymaptic.GeoBlazor.Core.Components.Widgets.PopupWidget')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.GetRotation() Method - -Returns the rotation of the current view. - -```csharp -public System.Threading.Tasks.Task> GetRotation(); -``` - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.GetScale() Method - -Returns the scale of the current view. - -```csharp -public System.Threading.Tasks.Task> GetScale(); -``` - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.GetSpatialReference() Method - -Returns the current [dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference 'dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference') of the view. - -```csharp -public System.Threading.Tasks.Task GetSpatialReference(); -``` - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.GetZoom() Method - -Returns the zoom level of the current view. - -```csharp -public System.Threading.Tasks.Task> GetZoom(); -``` - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.GoTo(Extent) Method - -Changes the view [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') and redraws. - -```csharp -public System.Threading.Tasks.Task GoTo(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The new [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') of the view. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.GoTo(IEnumerable) Method - -Changes the view [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') and redraws. - -```csharp -public virtual System.Threading.Tasks.Task GoTo(System.Collections.Generic.IEnumerable graphics); -``` -#### Parameters - - - -`graphics` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')s to zoom to. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.HitTest(Point, HitTestOptions) Method - -Returns [HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')s from each layer that intersects the specified screen coordinates. The results -are organized as an array of objects containing different result types. - -```csharp -public System.Threading.Tasks.Task HitTest(dymaptic.GeoBlazor.Core.Components.Geometries.Point screenPoint, dymaptic.GeoBlazor.Core.Events.HitTestOptions? options=null); -``` -#### Parameters - - - -`screenPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The screen point to check for hits. - - - -`options` [HitTestOptions](dymaptic.GeoBlazor.Core.Events.HitTestOptions.html 'dymaptic.GeoBlazor.Core.Events.HitTestOptions') - -Options to specify what is included in or excluded from the hitTest. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.HitTest(ClickEvent, HitTestOptions) Method - -Returns [HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')s from each layer that intersects the specified screen coordinates. The results -are organized as an array of objects containing different result types. - -```csharp -public System.Threading.Tasks.Task HitTest(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent, dymaptic.GeoBlazor.Core.Events.HitTestOptions? options=null); -``` -#### Parameters - - - -`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') - -The click event to test for hits. - - - -`options` [HitTestOptions](dymaptic.GeoBlazor.Core.Events.HitTestOptions.html 'dymaptic.GeoBlazor.Core.Events.HitTestOptions') - -Options to specify what is included in or excluded from the hitTest. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.HitTest(PointerEvent, HitTestOptions) Method - -Returns [HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')s from each layer that intersects the specified screen coordinates. The results -are organized as an array of objects containing different result types. - -```csharp -public System.Threading.Tasks.Task HitTest(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent, dymaptic.GeoBlazor.Core.Events.HitTestOptions? options=null); -``` -#### Parameters - - - -`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') - -The pointer event to test for hits. - - - -`options` [HitTestOptions](dymaptic.GeoBlazor.Core.Events.HitTestOptions.html 'dymaptic.GeoBlazor.Core.Events.HitTestOptions') - -Options to specify what is included in or excluded from the hitTest. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.Load() Method - -Manually loads and renders the MapView, if the consumer has also set [LoadOnRender](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.LoadOnRender 'dymaptic.GeoBlazor.Core.Components.Views.MapView.LoadOnRender') to false. -If [LoadOnRender](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.LoadOnRender 'dymaptic.GeoBlazor.Core.Components.Views.MapView.LoadOnRender') is true, this method will function the same as [Refresh()](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.Refresh() 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Refresh()'). - -```csharp -public void Load(); -``` - - - -## MapView.OnJavascriptBlur(BlurEvent) Method - -JS-Invokable method to return view blur (lost focus) events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptBlur(dymaptic.GeoBlazor.Core.Events.BlurEvent blurEvent); -``` -#### Parameters - - - -`blurEvent` [BlurEvent](dymaptic.GeoBlazor.Core.Events.BlurEvent.html 'dymaptic.GeoBlazor.Core.Events.BlurEvent') - -The [BlurEvent](dymaptic.GeoBlazor.Core.Events.BlurEvent.html 'dymaptic.GeoBlazor.Core.Events.BlurEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptClick(ClickEvent) Method - -JS-Invokable method to return view clicks. - -```csharp -public System.Threading.Tasks.Task OnJavascriptClick(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent); -``` -#### Parameters - - - -`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') - -The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - -### Remarks -Fires after a user clicks on the view. This event emits slightly slower than an immediate-click event to make sure -that a double-click event isn't triggered instead. The immediate-click event can be used for responding to a click -event without delay. - - - -## MapView.OnJavascriptDoubleClick(ClickEvent) Method - -JS-Invokable method to return view double-clicks. - -```csharp -public System.Threading.Tasks.Task OnJavascriptDoubleClick(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent); -``` -#### Parameters - - - -`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') - -The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptDrag(DragEvent) Method - -JS-Invokable method to return view drag events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptDrag(dymaptic.GeoBlazor.Core.Events.DragEvent dragEvent); -``` -#### Parameters - - - -`dragEvent` [DragEvent](dymaptic.GeoBlazor.Core.Events.DragEvent.html 'dymaptic.GeoBlazor.Core.Events.DragEvent') - -The [DragEvent](dymaptic.GeoBlazor.Core.Events.DragEvent.html 'dymaptic.GeoBlazor.Core.Events.DragEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptError(JavascriptError) Method - -Surfaces JavaScript errors to the .NET Code for debugging. - -```csharp -public void OnJavascriptError(dymaptic.GeoBlazor.Core.Exceptions.JavascriptError error); -``` -#### Parameters - - - -`error` [JavascriptError](dymaptic.GeoBlazor.Core.Exceptions.JavascriptError.html 'dymaptic.GeoBlazor.Core.Exceptions.JavascriptError') - -The original Javascript error. - -#### Exceptions - -[JavascriptException](dymaptic.GeoBlazor.Core.Exceptions.JavascriptException.html 'dymaptic.GeoBlazor.Core.Exceptions.JavascriptException') -Wraps the JS Error and throws a .NET Exception. - - - -## MapView.OnJavascriptExtentChanged(Extent, Point, double, double, Nullable, Nullable) Method - -JS-Invokable method to return when the map view Extent changes. - -```csharp -public virtual System.Threading.Tasks.Task OnJavascriptExtentChanged(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, dymaptic.GeoBlazor.Core.Components.Geometries.Point? center, double zoom, double scale, System.Nullable rotation=null, System.Nullable tilt=null); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - - - -`center` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - - - -`zoom` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - - - -`scale` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - - - -`rotation` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - - - -`tilt` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptFocus(FocusEvent) Method - -JS-Invokable method to return view focus events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptFocus(dymaptic.GeoBlazor.Core.Events.FocusEvent focusEvent); -``` -#### Parameters - - - -`focusEvent` [FocusEvent](dymaptic.GeoBlazor.Core.Events.FocusEvent.html 'dymaptic.GeoBlazor.Core.Events.FocusEvent') - -The [FocusEvent](dymaptic.GeoBlazor.Core.Events.FocusEvent.html 'dymaptic.GeoBlazor.Core.Events.FocusEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptHitTestResult(Guid, string) Method - -The callback method for returning a chunk of data from a Blazor Server hit test. - -```csharp -public void OnJavascriptHitTestResult(System.Guid eventId, string chunk); -``` -#### Parameters - - - -`eventId` [System.Guid](https://docs.microsoft.com/en-us/dotnet/api/System.Guid 'System.Guid') - -The hit test event id. - - - -`chunk` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - -A chunk of hit test data, to be combined with other data before deserialization. - - - -## MapView.OnJavascriptHold(ClickEvent) Method - -JS-Invokable method to return view hold events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptHold(dymaptic.GeoBlazor.Core.Events.ClickEvent holdEvent); -``` -#### Parameters - - - -`holdEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') - -The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptImmediateClick(ClickEvent) Method - -JS-Invokable method to return view immediate-clicks. - -```csharp -public System.Threading.Tasks.Task OnJavascriptImmediateClick(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent); -``` -#### Parameters - - - -`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') - -The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptImmediateDoubleClick(ClickEvent) Method - -JS-Invokable method to return view immediate-double-clicks. - -```csharp -public System.Threading.Tasks.Task OnJavascriptImmediateDoubleClick(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent); -``` -#### Parameters - - - -`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') - -The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptKeyDown(KeyDownEvent) Method - -JS-Invokable method to return view key-down events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptKeyDown(dymaptic.GeoBlazor.Core.Events.KeyDownEvent keyDownEvent); -``` -#### Parameters - - - -`keyDownEvent` [KeyDownEvent](dymaptic.GeoBlazor.Core.Events.KeyDownEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyDownEvent') - -The [KeyDownEvent](dymaptic.GeoBlazor.Core.Events.KeyDownEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyDownEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptKeyUp(KeyUpEvent) Method - -JS-Invokable method to return view key-up events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptKeyUp(dymaptic.GeoBlazor.Core.Events.KeyUpEvent keyUpEvent); -``` -#### Parameters - - - -`keyUpEvent` [KeyUpEvent](dymaptic.GeoBlazor.Core.Events.KeyUpEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyUpEvent') - -The [KeyUpEvent](dymaptic.GeoBlazor.Core.Events.KeyUpEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyUpEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptLayerCreateChunk(string, string, int) Method - -JS-Invokable method for internal use only. - -```csharp -public void OnJavascriptLayerCreateChunk(string layerUid, string chunk, int chunkIndex); -``` -#### Parameters - - - -`layerUid` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - - - -`chunk` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - - - -`chunkIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - - - -## MapView.OnJavascriptLayerViewCreate(LayerViewCreateInternalEvent) Method - -JS-Invokable method to return when a layer view is created. - -```csharp -public System.Threading.Tasks.Task OnJavascriptLayerViewCreate(dymaptic.GeoBlazor.Core.Events.LayerViewCreateInternalEvent layerViewCreateEvent); -``` -#### Parameters - - - -`layerViewCreateEvent` [LayerViewCreateInternalEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateInternalEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateInternalEvent') - -The new [LayerViewCreateEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateEvent') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptLayerViewCreateChunk(string, string, int) Method - -JS-Invokable method for internal use only. - -```csharp -public void OnJavascriptLayerViewCreateChunk(string layerUid, string chunk, int chunkIndex); -``` -#### Parameters - - - -`layerUid` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - - - -`chunk` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - - - -`chunkIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - - - -## MapView.OnJavascriptLayerViewCreateComplete(Nullable, string, IJSObjectReference, IJSObjectReference, bool) Method - -JS-Invokable method for internal use only. - -```csharp -public System.Threading.Tasks.Task OnJavascriptLayerViewCreateComplete(System.Nullable geoBlazorLayerId, string layerUid, Microsoft.JSInterop.IJSObjectReference layerRef, Microsoft.JSInterop.IJSObjectReference layerViewRef, bool isBasemapLayer); -``` -#### Parameters - - - -`geoBlazorLayerId` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Guid](https://docs.microsoft.com/en-us/dotnet/api/System.Guid 'System.Guid')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - - - -`layerUid` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - - - -`layerRef` [Microsoft.JSInterop.IJSObjectReference](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.JSInterop.IJSObjectReference 'Microsoft.JSInterop.IJSObjectReference') - - - -`layerViewRef` [Microsoft.JSInterop.IJSObjectReference](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.JSInterop.IJSObjectReference 'Microsoft.JSInterop.IJSObjectReference') - - - -`isBasemapLayer` [System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptLayerViewCreateError(LayerViewCreateErrorEvent) Method - -JS-Invokable method to return when a layer view is destroyed. - -```csharp -public System.Threading.Tasks.Task OnJavascriptLayerViewCreateError(dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent errorEvent); -``` -#### Parameters - - - -`errorEvent` [LayerViewCreateErrorEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptLayerViewDestroy(LayerViewDestroyEvent) Method - -JS-Invokable method to return when a layer view is destroyed. - -```csharp -public System.Threading.Tasks.Task OnJavascriptLayerViewDestroy(dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent layerViewDestroyEvent); -``` -#### Parameters - - - -`layerViewDestroyEvent` [LayerViewDestroyEvent](dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent') - -The destroyed [LayerViewDestroyEvent](dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptMouseWheel(MouseWheelEvent) Method - -JS-Invokable method to return when the mouse wheel is scrolled. - -```csharp -public System.Threading.Tasks.Task OnJavascriptMouseWheel(dymaptic.GeoBlazor.Core.Events.MouseWheelEvent mouseWheelEvent); -``` -#### Parameters - - - -`mouseWheelEvent` [MouseWheelEvent](dymaptic.GeoBlazor.Core.Events.MouseWheelEvent.html 'dymaptic.GeoBlazor.Core.Events.MouseWheelEvent') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptPointerDown(PointerEvent) Method - -JS-Invokable method to return view pointer down events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptPointerDown(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); -``` -#### Parameters - - - -`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') - -The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptPointerEnter(PointerEvent) Method - -JS-Invokable method to return view pointer enter events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptPointerEnter(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); -``` -#### Parameters - - - -`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') - -The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptPointerLeave(PointerEvent) Method - -JS-Invokable method to return view pointer leave events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptPointerLeave(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); -``` -#### Parameters - - - -`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') - -The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptPointerMove(PointerEvent) Method - -JS-Invokable method to return view pointer movement. - -```csharp -public System.Threading.Tasks.Task OnJavascriptPointerMove(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); -``` -#### Parameters - - - -`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') - -The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptPointerUp(PointerEvent) Method - -JS-Invokable method to return view pointer up events. - -```csharp -public System.Threading.Tasks.Task OnJavascriptPointerUp(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); -``` -#### Parameters - - - -`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') - -The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptResize(ResizeEvent) Method - -JS-Invokable method to return when the map view is resized in the window. - -```csharp -public System.Threading.Tasks.Task OnJavascriptResize(dymaptic.GeoBlazor.Core.Events.ResizeEvent resizeEvent); -``` -#### Parameters - - - -`resizeEvent` [ResizeEvent](dymaptic.GeoBlazor.Core.Events.ResizeEvent.html 'dymaptic.GeoBlazor.Core.Events.ResizeEvent') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJavascriptSpatialReferenceChanged(SpatialReference) Method - -JS-Invokable method to return when the map view Spatial Reference changes. - -```csharp -public System.Threading.Tasks.Task OnJavascriptSpatialReferenceChanged(dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference spatialReference); -``` -#### Parameters - - - -`spatialReference` [SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference') - -The new [dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference 'dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnJsViewInitialized() Method - -JS-Invokable callback that signifies when the view is created but not yet fully rendered. - -```csharp -public System.Threading.Tasks.Task OnJsViewInitialized(); -``` - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OnViewRendered() Method - -JS-Invokable method to return when the map view is fully rendered. - -```csharp -public System.Threading.Tasks.Task OnViewRendered(); -``` - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.OpenPopup(PopupOpenOptions) Method - -Opens the popup at the given location with content defined either explicitly with content or driven from the -PopupTemplate of input features. This method sets the popup's visible property to true. Users can alternatively -open the popup by directly setting the visible property to true. - -```csharp -public System.Threading.Tasks.Task OpenPopup(dymaptic.GeoBlazor.Core.Components.Widgets.PopupOpenOptions? options=null); -``` -#### Parameters - - - -`options` [PopupOpenOptions](dymaptic.GeoBlazor.Core.Components.Widgets.PopupOpenOptions.html 'dymaptic.GeoBlazor.Core.Components.Widgets.PopupOpenOptions') - -Defines the location and content of the popup when opened. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.QueryFeatures(Query, FeatureLayer, Symbol, PopupTemplate) Method - -A custom method to query a provided [FeatureLayer](dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer') on the current map view, and display the results. - -```csharp -public System.Threading.Tasks.Task QueryFeatures(dymaptic.GeoBlazor.Core.Objects.Query query, dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer featureLayer, dymaptic.GeoBlazor.Core.Components.Symbols.Symbol displaySymbol, dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate popupTemplate); -``` -#### Parameters - - - -`query` [Query](dymaptic.GeoBlazor.Core.Objects.Query.html 'dymaptic.GeoBlazor.Core.Objects.Query') - -The [Query](dymaptic.GeoBlazor.Core.Objects.Query.html 'dymaptic.GeoBlazor.Core.Objects.Query') to run. - - - -`featureLayer` [FeatureLayer](dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer') - -The [FeatureLayer](dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer') to query against. - - - -`displaySymbol` [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') - -The [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') to use to render the results of the query. - - - -`popupTemplate` [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') - -A [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') for displaying Popups on rendered results. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.Refresh() Method - -Provides a way to externally call `StateHasChanged` on the component. - -```csharp -public override void Refresh(); -``` - - - -## MapView.RegisterChildComponent(MapComponent) Method - -Called from [dymaptic.GeoBlazor.Core.Components.MapComponent.OnInitializedAsync](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.MapComponent.OnInitializedAsync 'dymaptic.GeoBlazor.Core.Components.MapComponent.OnInitializedAsync') to "Register" the current component with it's parent. - -```csharp -public override System.Threading.Tasks.Task RegisterChildComponent(dymaptic.GeoBlazor.Core.Components.MapComponent child); -``` -#### Parameters - - - -`child` [MapComponent](dymaptic.GeoBlazor.Core.Components.MapComponent.html 'dymaptic.GeoBlazor.Core.Components.MapComponent') - -The calling, child component to register - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - -#### Exceptions - -[InvalidChildElementException](dymaptic.GeoBlazor.Core.Exceptions.InvalidChildElementException.html 'dymaptic.GeoBlazor.Core.Exceptions.InvalidChildElementException') -Throws if the current child is not a valid sub-component to the parent. - - - -## MapView.RemoveGraphic(Graphic) Method - -Removes a graphic from the current view. - -```csharp -public System.Threading.Tasks.Task RemoveGraphic(dymaptic.GeoBlazor.Core.Components.Layers.Graphic graphic); -``` -#### Parameters - - - -`graphic` [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') - -The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') to remove. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.RemoveGraphics(IEnumerable) Method - -Removes a collection of graphics from the current view. - -```csharp -public System.Threading.Tasks.Task RemoveGraphics(System.Collections.Generic.IEnumerable graphics); -``` -#### Parameters - - - -`graphics` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')s to remove. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.RemoveLayer(Layer, bool) Method - -Removes a layer from the current Map - -```csharp -public System.Threading.Tasks.Task RemoveLayer(dymaptic.GeoBlazor.Core.Components.Layers.Layer layer, bool isBasemapLayer=false); -``` -#### Parameters - - - -`layer` [Layer](dymaptic.GeoBlazor.Core.Components.Layers.Layer.html 'dymaptic.GeoBlazor.Core.Components.Layers.Layer') - -The layer to remove - - - -`isBasemapLayer` [System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') - -If true, removes the layer as a Basemap - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.SetCenter(Point) Method - -Sets the center [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') of the current view. - -```csharp -public virtual System.Threading.Tasks.Task SetCenter(dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.SetConstraints(Constraints) Method - -Sets the [dymaptic.GeoBlazor.Core.Components.Views.MapView.Constraints](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Constraints 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Constraints') of the view. - -```csharp -public System.Threading.Tasks.Task SetConstraints(dymaptic.GeoBlazor.Core.Components.Constraints constraints); -``` -#### Parameters - - - -`constraints` [Constraints](dymaptic.GeoBlazor.Core.Components.Constraints.html 'dymaptic.GeoBlazor.Core.Components.Constraints') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.SetExtent(Extent) Method - -Sets the [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') of the view. - -```csharp -public virtual System.Threading.Tasks.Task SetExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.SetHighlightOptions(HighlightOptions) Method - -Sets the [dymaptic.GeoBlazor.Core.Components.Views.MapView.HighlightOptions](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.HighlightOptions 'dymaptic.GeoBlazor.Core.Components.Views.MapView.HighlightOptions') of the view. - -```csharp -public System.Threading.Tasks.Task SetHighlightOptions(dymaptic.GeoBlazor.Core.Objects.HighlightOptions highlightOptions); -``` -#### Parameters - - - -`highlightOptions` [HighlightOptions](dymaptic.GeoBlazor.Core.Objects.HighlightOptions.html 'dymaptic.GeoBlazor.Core.Objects.HighlightOptions') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.SetRotation(double) Method - -Sets the rotation of the current view. - -```csharp -public System.Threading.Tasks.Task SetRotation(double rotation); -``` -#### Parameters - - - -`rotation` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.SetScale(double) Method - -Sets the scale of the current view. - -```csharp -public virtual System.Threading.Tasks.Task SetScale(double scale); -``` -#### Parameters - - - -`scale` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.SetSpatialReference(SpatialReference) Method - -Sets the [dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference 'dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference') of the view. - -```csharp -public System.Threading.Tasks.Task SetSpatialReference(dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference spatialReference); -``` -#### Parameters - - - -`spatialReference` [SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.SetZoom(double) Method - -Sets the zoom level of the current view. - -```csharp -public virtual System.Threading.Tasks.Task SetZoom(double zoom); -``` -#### Parameters - - - -`zoom` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.ShowPopup(PopupTemplate, Point) Method - -Opens a Popup on a particular [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') of the map view. - -```csharp -public System.Threading.Tasks.Task ShowPopup(dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate template, dymaptic.GeoBlazor.Core.Components.Geometries.Point location); -``` -#### Parameters - - - -`template` [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') - -The [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') defining the Popup. - - - -`location` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') on which to display the Popup. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.ShowPopupWithGraphic(Graphic, PopupOptions) Method - -Opens a Popup with a custom [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') on a particular [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') of the map view. - -```csharp -public System.Threading.Tasks.Task ShowPopupWithGraphic(dymaptic.GeoBlazor.Core.Components.Layers.Graphic graphic, dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions options); -``` -#### Parameters - - - -`graphic` [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') - -The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') to display in the Popup - - - -`options` [PopupOptions](dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions.html 'dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions') - -A set of [PopupOptions](dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions.html 'dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions') that define the position and visible elements of the Popup. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.SolveServiceArea(string, double[], Symbol) Method - -A custom method to find and display Service Areas around a given point. - -```csharp -public System.Threading.Tasks.Task SolveServiceArea(string serviceAreaUrl, double[] driveTimeCutOffs, dymaptic.GeoBlazor.Core.Components.Symbols.Symbol serviceAreaSymbol); -``` -#### Parameters - - - -`serviceAreaUrl` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - -A url for a Service Area rest service. - - - -`driveTimeCutOffs` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') - -A collection of drivable distances, calculated in minutes - - - -`serviceAreaSymbol` [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') - -The [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') used to render the service areas. - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') - - - -## MapView.ToMap(ScreenPoint) Method - -Converts the given screen point to a map point. The screen point represents a point in terms of pixels relative to the top-left corner of the view. - -```csharp -public System.Threading.Tasks.Task ToMap(dymaptic.GeoBlazor.Core.Events.ScreenPoint screenPoint); -``` -#### Parameters - - - -`screenPoint` [ScreenPoint](dymaptic.GeoBlazor.Core.Events.ScreenPoint.html 'dymaptic.GeoBlazor.Core.Events.ScreenPoint') - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.ToScreen(Point) Method - -Converts the given map point to a screen point. The screen point represents a point in terms of pixels relative to the top-left corner of the view. - -```csharp -public System.Threading.Tasks.Task ToScreen(dymaptic.GeoBlazor.Core.Components.Geometries.Point mapPoint); -``` -#### Parameters - - - -`mapPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[ScreenPoint](dymaptic.GeoBlazor.Core.Events.ScreenPoint.html 'dymaptic.GeoBlazor.Core.Events.ScreenPoint')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## MapView.UnregisterChildComponent(MapComponent) Method - -Undoes the "Registration" of a child with its parent. - -```csharp -public override System.Threading.Tasks.Task UnregisterChildComponent(dymaptic.GeoBlazor.Core.Components.MapComponent child); -``` -#### Parameters - - - -`child` [MapComponent](dymaptic.GeoBlazor.Core.Components.MapComponent.html 'dymaptic.GeoBlazor.Core.Components.MapComponent') - -The child to unregister - -#### Returns -[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') +#### [dymaptic.GeoBlazor.Core](index.html 'index') +### [dymaptic.GeoBlazor.Core.Components.Views](index.html#dymaptic.GeoBlazor.Core.Components.Views 'dymaptic.GeoBlazor.Core.Components.Views') + +## MapView Class + +The Top-Level Map Component Container. +A MapView displays a 2D view of a Map instance. An instance of MapView must be created to render a Map (along with +its operational and base layers) in 2D. To render a map and its layers in 3D, see the documentation for SceneView. +For a general overview of views, see View. +ArcGIS JS API + +```csharp +public class MapView : dymaptic.GeoBlazor.Core.Components.MapComponent +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [Microsoft.AspNetCore.Components.ComponentBase](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.ComponentBase 'Microsoft.AspNetCore.Components.ComponentBase') 🡒 [MapComponent](dymaptic.GeoBlazor.Core.Components.MapComponent.html 'dymaptic.GeoBlazor.Core.Components.MapComponent') 🡒 MapView + +Derived +↳ [SceneView](dymaptic.GeoBlazor.Core.Components.Views.SceneView.html 'dymaptic.GeoBlazor.Core.Components.Views.SceneView') + +### Example +Sample - Navigation +### Fields + + + +## MapView.ExtentChangedInJs Field + +A boolean flag to indicate that the map extent has been modified in JavaScript, and therefore should not be +modifiable by markup until [Refresh()](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.Refresh() 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Refresh()') is called + +```csharp +public bool ExtentChangedInJs; +``` + +#### Field Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +### Properties + + + +## MapView.AllowDefaultEsriLogin Property + +Allows maps to be rendered without an Api or OAuth Token, which will trigger a default esri login popup. + +```csharp +public System.Nullable AllowDefaultEsriLogin { get; set; } +``` + +#### Property Value +[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + + + +## MapView.AuthenticationManager Property + +Handles OAuth authentication + +```csharp +public dymaptic.GeoBlazor.Core.Model.AuthenticationManager AuthenticationManager { get; set; } +``` + +#### Property Value +[AuthenticationManager](dymaptic.GeoBlazor.Core.Model.AuthenticationManager.html 'dymaptic.GeoBlazor.Core.Model.AuthenticationManager') + + + +## MapView.Center Property + +The Center point of the view, equivalent to setting Latitude/Longitude + +```csharp +public dymaptic.GeoBlazor.Core.Components.Geometries.Point? Center { get; set; } +``` + +#### Property Value +[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + + + +## MapView.Class Property + +Inline html/css class selector for applying css + +```csharp +public string Class { get; set; } +``` + +#### Property Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + + + +## MapView.Configuration Property + +A set of key/value application configuration properties, that can be populated from `appsettings.json, environment +variables, or other sources. + +```csharp +public Microsoft.Extensions.Configuration.IConfiguration Configuration { get; set; } +``` + +#### Property Value +[Microsoft.Extensions.Configuration.IConfiguration](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.Extensions.Configuration.IConfiguration 'Microsoft.Extensions.Configuration.IConfiguration') + + + +## MapView.EventRateLimitInMilliseconds Property + +Set this parameter to limit the rate at which recurring events are returned. Applies to [OnDrag](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnDrag 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnDrag'), +[OnPointerMove](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnPointerMove 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnPointerMove'), [OnMouseWheel](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnMouseWheel 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnMouseWheel'), [OnResize](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnResize 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnResize'), and +[OnExtentChanged](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.OnExtentChanged 'dymaptic.GeoBlazor.Core.Components.Views.MapView.OnExtentChanged') + +```csharp +public System.Nullable EventRateLimitInMilliseconds { get; set; } +``` + +#### Property Value +[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + + + +## MapView.Graphics Property + +The collection of [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')s in the view. These are directly on the view itself, not in a +[GraphicsLayer](dymaptic.GeoBlazor.Core.Components.Layers.GraphicsLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.GraphicsLayer'). + +```csharp +public System.Collections.Generic.IReadOnlyCollection Graphics { get; set; } +``` + +#### Property Value +[System.Collections.Generic.IReadOnlyCollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1 'System.Collections.Generic.IReadOnlyCollection`1')[Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1 'System.Collections.Generic.IReadOnlyCollection`1') + + + +## MapView.GraphicSerializationChunkSize Property + +Optional setting to control the number of graphics that are serialized in a single chunk. Tuning this value might help with performance when adding large graphic sets. + +```csharp +public System.Nullable GraphicSerializationChunkSize { get; set; } +``` + +#### Property Value +[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + + + +## MapView.IsMaui Property + +Boolean flag to identify if GeoBlazor is running in Blazor Hybrid (MAUI) mode + +```csharp +public bool IsMaui { get; } +``` + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') + + + +## MapView.IsServer Property + +Boolean flag to identify if GeoBlazor is running in Blazor Server mode + +```csharp +public bool IsServer { get; } +``` + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') + + + +## MapView.IsWebAssembly Property + +Boolean flag to identify if GeoBlazor is running in Blazor WebAssembly (client) mode + +```csharp +public bool IsWebAssembly { get; } +``` + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') + + + +## MapView.Latitude Property + +The Latitude for the Center point of the view + +```csharp +public System.Nullable Latitude { get; set; } +``` + +#### Property Value +[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + + + +## MapView.LoadOnRender Property + +Boolean flag that can be set to false to prevent the MapView from automatically rendering with the Blazor +components. + +```csharp +public bool LoadOnRender { get; set; } +``` + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') + + + +## MapView.Longitude Property + +The Longitude for the Center point of the view + +```csharp +public System.Nullable Longitude { get; set; } +``` + +#### Property Value +[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + + + +## MapView.Map Property + +An instance of a [Map](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.Map 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Map') object to display in the view. + +```csharp +public virtual dymaptic.GeoBlazor.Core.Components.Map? Map { get; set; } +``` + +#### Property Value +[Map](dymaptic.GeoBlazor.Core.Components.Map.html 'dymaptic.GeoBlazor.Core.Components.Map') + + + +## MapView.OnBlur Property + +Handler delegate for blur (lost focus) events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnBlur { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[BlurEvent](dymaptic.GeoBlazor.Core.Events.BlurEvent.html 'dymaptic.GeoBlazor.Core.Events.BlurEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnClick Property + +Handler delegate for click events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnClick { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnDoubleClick Property + +Handler delegate for double-click events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnDoubleClick { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnDrag Property + +Handler delegate for pointer drag events on the view, returns a [DragEvent](dymaptic.GeoBlazor.Core.Events.DragEvent.html 'dymaptic.GeoBlazor.Core.Events.DragEvent'). + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnDrag { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[DragEvent](dymaptic.GeoBlazor.Core.Events.DragEvent.html 'dymaptic.GeoBlazor.Core.Events.DragEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + +### Remarks +The real-time nature of this handler make it a challenge to use continuously over SignalR in Blazor Server. +In this scenario, you should write a custom JavaScript handler instead. + + + +## MapView.OnExtentChanged Property + +Handler delegate for the view's Extent changing. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnExtentChanged { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnFocus Property + +Handler delegate for focus events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnFocus { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[FocusEvent](dymaptic.GeoBlazor.Core.Events.FocusEvent.html 'dymaptic.GeoBlazor.Core.Events.FocusEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnHold Property + +Handler delegate for hold events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnHold { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnImmediateClick Property + +Handler delegate for immediate-click events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnImmediateClick { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnImmediateDoubleClick Property + +Handler delegate for immediate-double-click events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnImmediateDoubleClick { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnJavascriptErrorHandler Property + +Implement this handler in your calling code to catch and handle Javascript errors. + +```csharp +public System.Func? OnJavascriptErrorHandler { get; set; } +``` + +#### Property Value +[System.Func<](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')[JavascriptException](dymaptic.GeoBlazor.Core.Exceptions.JavascriptException.html 'dymaptic.GeoBlazor.Core.Exceptions.JavascriptException')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2') + + + +## MapView.OnKeyDown Property + +Handler delegate for key-down events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnKeyDown { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[KeyDownEvent](dymaptic.GeoBlazor.Core.Events.KeyDownEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyDownEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + +### Remarks +Fires after a keyboard key is pressed. + + + +## MapView.OnKeyUp Property + +Handler delegate for key-up events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnKeyUp { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[KeyUpEvent](dymaptic.GeoBlazor.Core.Events.KeyUpEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyUpEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + +### Remarks +Fires after a keyboard key is released. + + + +## MapView.OnLayerViewCreate Property + +Fires after each layer in the map has a corresponding LayerView created and rendered in the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnLayerViewCreate { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[LayerViewCreateEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnLayerViewCreateError Property + +Fires after a LayerView is destroyed and is no longer rendered in the view. This happens for example when a layer +is removed from the map of the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnLayerViewCreateError { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[LayerViewCreateErrorEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnLayerViewDestroy Property + +Fires after a LayerView is destroyed and is no longer rendered in the view. This happens for example when a layer +is removed from the map of the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnLayerViewDestroy { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[LayerViewDestroyEvent](dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnMapRendered Property + +Handler delegate for when the map view is fully rendered. Must return a [System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task'). + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnMapRendered { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback 'Microsoft.AspNetCore.Components.EventCallback') + + + +## MapView.OnMouseWheel Property + +Handler delegate for the view's Extent changing. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnMouseWheel { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[MouseWheelEvent](dymaptic.GeoBlazor.Core.Events.MouseWheelEvent.html 'dymaptic.GeoBlazor.Core.Events.MouseWheelEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnPointerDown Property + +Handler delegate for pointer down events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnPointerDown { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + +### Remarks +Fires after a mouse button is pressed, or a finger touches the display. + + + +## MapView.OnPointerEnter Property + +Handler delegate for pointer enter events on the view. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnPointerEnter { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + +### Remarks +Fires after a mouse cursor enters the view, or a display touch begins. + + + +## MapView.OnPointerLeave Property + +Handler delegate for pointer leave events on the view. Must take in a [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') and return a +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task'). + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnPointerLeave { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + +### Remarks +Fires after a mouse cursor leaves the view, or a display touch ends. + + + +## MapView.OnPointerMove Property + +Handler delegate for point move events on the view. Must take in a [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') and return a +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task'). + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnPointerMove { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + +### Remarks +The real-time nature of this handler make it a challenge to use continuously over SignalR in Blazor Server. +In this scenario, you should write a custom JavaScript handler instead. +See + + Display + Projection + +code. + + + +## MapView.OnPointerUp Property + +Handler delegate for pointer up events on the view. Must take in a [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') and return a +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task'). + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnPointerUp { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + +### Remarks +Fires after a mouse button is released, or a display touch ends. + + + +## MapView.OnResize Property + +Handler delegate for the view's Extent changing. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnResize { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[ResizeEvent](dymaptic.GeoBlazor.Core.Events.ResizeEvent.html 'dymaptic.GeoBlazor.Core.Events.ResizeEvent')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnSpatialReferenceChanged Property + +Handler delegate for the view's Spatial Reference changing. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnSpatialReferenceChanged { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1')[SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback-1 'Microsoft.AspNetCore.Components.EventCallback`1') + + + +## MapView.OnViewInitialized Property + +Event triggered when the JS view is created, but before the full map is rendered. + +```csharp +public Microsoft.AspNetCore.Components.EventCallback OnViewInitialized { get; set; } +``` + +#### Property Value +[Microsoft.AspNetCore.Components.EventCallback](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback 'Microsoft.AspNetCore.Components.EventCallback') + + + +## MapView.PromptForArcGISKey Property + +Provides an override for the default behavior of requiring an API key. By setting to "false", all calls to ArcGIS +services will trigger a sign-in popup. + +```csharp +public System.Nullable PromptForArcGISKey { get; set; } +``` + +#### Property Value +[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +### Remarks +Setting this to "false" is the same as setting [AllowDefaultEsriLogin](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.AllowDefaultEsriLogin 'dymaptic.GeoBlazor.Core.Components.Views.MapView.AllowDefaultEsriLogin') to "true". This is provided +simply for convenience of discovery. + + + +## MapView.PromptForOAuthLogin Property + +If you set an `AppId` in your configuration, setting this to true will cause the app to attempt to auto-login +using ArcGIS OAuth. + +```csharp +public System.Nullable PromptForOAuthLogin { get; set; } +``` + +#### Property Value +[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + + + +## MapView.Rotation Property + +The clockwise rotation of due north in relation to the top of the view in degrees. + +```csharp +public double Rotation { get; set; } +``` + +#### Property Value +[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + + + +## MapView.Scale Property + +Represents the map scale at the center of the view. + +```csharp +public System.Nullable Scale { get; set; } +``` + +#### Property Value +[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + + + +## MapView.Style Property + +Inline css styling attribute + +```csharp +public string Style { get; set; } +``` + +#### Property Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + + + +## MapView.Widgets Property + +The collection of [Widget](dymaptic.GeoBlazor.Core.Components.Widgets.Widget.html 'dymaptic.GeoBlazor.Core.Components.Widgets.Widget')s in the view. + +```csharp +public System.Collections.Generic.IReadOnlyCollection Widgets { get; set; } +``` + +#### Property Value +[System.Collections.Generic.IReadOnlyCollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1 'System.Collections.Generic.IReadOnlyCollection`1')[Widget](dymaptic.GeoBlazor.Core.Components.Widgets.Widget.html 'dymaptic.GeoBlazor.Core.Components.Widgets.Widget')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1 'System.Collections.Generic.IReadOnlyCollection`1') + + + +## MapView.Zoom Property + +Represents the level of detail (LOD) at the center of the view. + +```csharp +public System.Nullable Zoom { get; set; } +``` + +#### Property Value +[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') +### Methods + + + +## MapView.AddGraphic(Graphic) Method + +Adds a [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') to the current view, or to a [GraphicsLayer](dymaptic.GeoBlazor.Core.Components.Layers.GraphicsLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.GraphicsLayer'). + +```csharp +public System.Threading.Tasks.Task AddGraphic(dymaptic.GeoBlazor.Core.Components.Layers.Graphic graphic); +``` +#### Parameters + + + +`graphic` [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') + +The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') to add. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.AddGraphics(IEnumerable, CancellationToken) Method + +Adds a collection of [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')s to the current view + +```csharp +public System.Threading.Tasks.Task AddGraphics(System.Collections.Generic.IEnumerable graphics, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken)); +``` +#### Parameters + + + +`graphics` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + + + +`cancellationToken` [System.Threading.CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.CancellationToken 'System.Threading.CancellationToken') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.AddLayer(Layer, bool) Method + +Adds a layer to the current Map + +```csharp +public System.Threading.Tasks.Task AddLayer(dymaptic.GeoBlazor.Core.Components.Layers.Layer layer, bool isBasemapLayer=false); +``` +#### Parameters + + + +`layer` [Layer](dymaptic.GeoBlazor.Core.Components.Layers.Layer.html 'dymaptic.GeoBlazor.Core.Components.Layers.Layer') + +The layer to add + + + +`isBasemapLayer` [System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') + +If true, adds the layer as a Basemap + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.ClearGraphics() Method + +Clears all graphics from the view. + +```csharp +public System.Threading.Tasks.Task ClearGraphics(); +``` + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.ClosePopup() Method + +Closes the popup by setting its visible property to false. Users can alternatively close the popup by directly +setting the visible property to false. + +```csharp +public System.Threading.Tasks.Task ClosePopup(); +``` + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.DisposeAsync() Method + +Implements the `IAsyncDisposable` pattern. + +```csharp +public override System.Threading.Tasks.ValueTask DisposeAsync(); +``` + +Implements [DisposeAsync()](https://docs.microsoft.com/en-us/dotnet/api/System.IAsyncDisposable.DisposeAsync 'System.IAsyncDisposable.DisposeAsync') + +#### Returns +[System.Threading.Tasks.ValueTask](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.ValueTask 'System.Threading.Tasks.ValueTask') + + + +## MapView.DrawRouteAndGetDirections(Symbol, string) Method + +A custom method to set up the interaction for clicking a start and end point, and have the view render a driving +route. Also returns a set of [Direction](dymaptic.GeoBlazor.Core.Objects.Direction.html 'dymaptic.GeoBlazor.Core.Objects.Direction')s for display. + +```csharp +public System.Threading.Tasks.Task DrawRouteAndGetDirections(dymaptic.GeoBlazor.Core.Components.Symbols.Symbol routeSymbol, string routeUrl); +``` +#### Parameters + + + +`routeSymbol` [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') + +The [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') used to render the route. + + + +`routeUrl` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +A routing service url for calculating the route. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Direction](dymaptic.GeoBlazor.Core.Objects.Direction.html 'dymaptic.GeoBlazor.Core.Objects.Direction')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +A collection of [Direction](dymaptic.GeoBlazor.Core.Objects.Direction.html 'dymaptic.GeoBlazor.Core.Objects.Direction') steps to follow the route. + + + +## MapView.FindPlaces(AddressQuery, Symbol, PopupTemplate) Method + +A custom method to run an [AddressQuery](dymaptic.GeoBlazor.Core.Objects.AddressQuery.html 'dymaptic.GeoBlazor.Core.Objects.AddressQuery') against the current view, and display the results. + +```csharp +public System.Threading.Tasks.Task FindPlaces(dymaptic.GeoBlazor.Core.Objects.AddressQuery query, dymaptic.GeoBlazor.Core.Components.Symbols.Symbol displaySymbol, dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate popupTemplate); +``` +#### Parameters + + + +`query` [AddressQuery](dymaptic.GeoBlazor.Core.Objects.AddressQuery.html 'dymaptic.GeoBlazor.Core.Objects.AddressQuery') + +The [AddressQuery](dymaptic.GeoBlazor.Core.Objects.AddressQuery.html 'dymaptic.GeoBlazor.Core.Objects.AddressQuery') to run. + + + +`displaySymbol` [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') + +The [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') to use to render the results of the query. + + + +`popupTemplate` [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') + +A [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') for displaying Popups on rendered results. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.GetCenter() Method + +Returns the center [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') of the current view extent. + +```csharp +public System.Threading.Tasks.Task GetCenter(); +``` + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.GetExtent() Method + +Returns the current [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') of the view. + +```csharp +public System.Threading.Tasks.Task GetExtent(); +``` + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.GetId() Method + +JS-Invokable method to generate a new GUID Id + +```csharp +public string GetId(); +``` + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + + + +## MapView.GetPopupWidget() Method + +Retrieves the Popup Widget for the view. + +```csharp +public System.Threading.Tasks.Task GetPopupWidget(); +``` + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PopupWidget](dymaptic.GeoBlazor.Core.Components.Widgets.PopupWidget.html 'dymaptic.GeoBlazor.Core.Components.Widgets.PopupWidget')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.GetRotation() Method + +Returns the rotation of the current view. + +```csharp +public System.Threading.Tasks.Task> GetRotation(); +``` + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.GetScale() Method + +Returns the scale of the current view. + +```csharp +public System.Threading.Tasks.Task> GetScale(); +``` + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.GetSpatialReference() Method + +Returns the current [dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference 'dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference') of the view. + +```csharp +public System.Threading.Tasks.Task GetSpatialReference(); +``` + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.GetZoom() Method + +Returns the zoom level of the current view. + +```csharp +public System.Threading.Tasks.Task> GetZoom(); +``` + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.GoTo(Extent) Method + +Changes the view [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') and redraws. + +```csharp +public System.Threading.Tasks.Task GoTo(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); +``` +#### Parameters + + + +`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') + +The new [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') of the view. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.GoTo(IEnumerable) Method + +Changes the view [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') and redraws. + +```csharp +public virtual System.Threading.Tasks.Task GoTo(System.Collections.Generic.IEnumerable graphics); +``` +#### Parameters + + + +`graphics` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')s to zoom to. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.HitTest(Point, HitTestOptions) Method + +Returns [HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')s from each layer that intersects the specified screen coordinates. The results +are organized as an array of objects containing different result types. + +```csharp +public System.Threading.Tasks.Task HitTest(dymaptic.GeoBlazor.Core.Components.Geometries.Point screenPoint, dymaptic.GeoBlazor.Core.Events.HitTestOptions? options=null); +``` +#### Parameters + + + +`screenPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The screen point to check for hits. + + + +`options` [HitTestOptions](dymaptic.GeoBlazor.Core.Events.HitTestOptions.html 'dymaptic.GeoBlazor.Core.Events.HitTestOptions') + +Options to specify what is included in or excluded from the hitTest. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.HitTest(ClickEvent, HitTestOptions) Method + +Returns [HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')s from each layer that intersects the specified screen coordinates. The results +are organized as an array of objects containing different result types. + +```csharp +public System.Threading.Tasks.Task HitTest(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent, dymaptic.GeoBlazor.Core.Events.HitTestOptions? options=null); +``` +#### Parameters + + + +`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') + +The click event to test for hits. + + + +`options` [HitTestOptions](dymaptic.GeoBlazor.Core.Events.HitTestOptions.html 'dymaptic.GeoBlazor.Core.Events.HitTestOptions') + +Options to specify what is included in or excluded from the hitTest. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.HitTest(PointerEvent, HitTestOptions) Method + +Returns [HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')s from each layer that intersects the specified screen coordinates. The results +are organized as an array of objects containing different result types. + +```csharp +public System.Threading.Tasks.Task HitTest(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent, dymaptic.GeoBlazor.Core.Events.HitTestOptions? options=null); +``` +#### Parameters + + + +`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') + +The pointer event to test for hits. + + + +`options` [HitTestOptions](dymaptic.GeoBlazor.Core.Events.HitTestOptions.html 'dymaptic.GeoBlazor.Core.Events.HitTestOptions') + +Options to specify what is included in or excluded from the hitTest. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[HitTestResult](dymaptic.GeoBlazor.Core.Events.HitTestResult.html 'dymaptic.GeoBlazor.Core.Events.HitTestResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.Load() Method + +Manually loads and renders the MapView, if the consumer has also set [LoadOnRender](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.LoadOnRender 'dymaptic.GeoBlazor.Core.Components.Views.MapView.LoadOnRender') to false. +If [LoadOnRender](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.LoadOnRender 'dymaptic.GeoBlazor.Core.Components.Views.MapView.LoadOnRender') is true, this method will function the same as [Refresh()](dymaptic.GeoBlazor.Core.Components.Views.MapView.html#dymaptic.GeoBlazor.Core.Components.Views.MapView.Refresh() 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Refresh()'). + +```csharp +public void Load(); +``` + + + +## MapView.OnJavascriptBlur(BlurEvent) Method + +JS-Invokable method to return view blur (lost focus) events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptBlur(dymaptic.GeoBlazor.Core.Events.BlurEvent blurEvent); +``` +#### Parameters + + + +`blurEvent` [BlurEvent](dymaptic.GeoBlazor.Core.Events.BlurEvent.html 'dymaptic.GeoBlazor.Core.Events.BlurEvent') + +The [BlurEvent](dymaptic.GeoBlazor.Core.Events.BlurEvent.html 'dymaptic.GeoBlazor.Core.Events.BlurEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptClick(ClickEvent) Method + +JS-Invokable method to return view clicks. + +```csharp +public System.Threading.Tasks.Task OnJavascriptClick(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent); +``` +#### Parameters + + + +`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') + +The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + +### Remarks +Fires after a user clicks on the view. This event emits slightly slower than an immediate-click event to make sure +that a double-click event isn't triggered instead. The immediate-click event can be used for responding to a click +event without delay. + + + +## MapView.OnJavascriptDoubleClick(ClickEvent) Method + +JS-Invokable method to return view double-clicks. + +```csharp +public System.Threading.Tasks.Task OnJavascriptDoubleClick(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent); +``` +#### Parameters + + + +`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') + +The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptDrag(DragEvent) Method + +JS-Invokable method to return view drag events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptDrag(dymaptic.GeoBlazor.Core.Events.DragEvent dragEvent); +``` +#### Parameters + + + +`dragEvent` [DragEvent](dymaptic.GeoBlazor.Core.Events.DragEvent.html 'dymaptic.GeoBlazor.Core.Events.DragEvent') + +The [DragEvent](dymaptic.GeoBlazor.Core.Events.DragEvent.html 'dymaptic.GeoBlazor.Core.Events.DragEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptError(JavascriptError) Method + +Surfaces JavaScript errors to the .NET Code for debugging. + +```csharp +public void OnJavascriptError(dymaptic.GeoBlazor.Core.Exceptions.JavascriptError error); +``` +#### Parameters + + + +`error` [JavascriptError](dymaptic.GeoBlazor.Core.Exceptions.JavascriptError.html 'dymaptic.GeoBlazor.Core.Exceptions.JavascriptError') + +The original Javascript error. + +#### Exceptions + +[JavascriptException](dymaptic.GeoBlazor.Core.Exceptions.JavascriptException.html 'dymaptic.GeoBlazor.Core.Exceptions.JavascriptException') +Wraps the JS Error and throws a .NET Exception. + + + +## MapView.OnJavascriptExtentChanged(Extent, Point, double, double, Nullable, Nullable) Method + +JS-Invokable method to return when the map view Extent changes. + +```csharp +public virtual System.Threading.Tasks.Task OnJavascriptExtentChanged(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, dymaptic.GeoBlazor.Core.Components.Geometries.Point? center, double zoom, double scale, System.Nullable rotation=null, System.Nullable tilt=null); +``` +#### Parameters + + + +`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') + + + +`center` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + + + +`zoom` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + + + +`scale` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + + + +`rotation` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + + + +`tilt` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptFocus(FocusEvent) Method + +JS-Invokable method to return view focus events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptFocus(dymaptic.GeoBlazor.Core.Events.FocusEvent focusEvent); +``` +#### Parameters + + + +`focusEvent` [FocusEvent](dymaptic.GeoBlazor.Core.Events.FocusEvent.html 'dymaptic.GeoBlazor.Core.Events.FocusEvent') + +The [FocusEvent](dymaptic.GeoBlazor.Core.Events.FocusEvent.html 'dymaptic.GeoBlazor.Core.Events.FocusEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptHitTestResult(Guid, string) Method + +The callback method for returning a chunk of data from a Blazor Server hit test. + +```csharp +public void OnJavascriptHitTestResult(System.Guid eventId, string chunk); +``` +#### Parameters + + + +`eventId` [System.Guid](https://docs.microsoft.com/en-us/dotnet/api/System.Guid 'System.Guid') + +The hit test event id. + + + +`chunk` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +A chunk of hit test data, to be combined with other data before deserialization. + + + +## MapView.OnJavascriptHold(ClickEvent) Method + +JS-Invokable method to return view hold events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptHold(dymaptic.GeoBlazor.Core.Events.ClickEvent holdEvent); +``` +#### Parameters + + + +`holdEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') + +The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptImmediateClick(ClickEvent) Method + +JS-Invokable method to return view immediate-clicks. + +```csharp +public System.Threading.Tasks.Task OnJavascriptImmediateClick(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent); +``` +#### Parameters + + + +`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') + +The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptImmediateDoubleClick(ClickEvent) Method + +JS-Invokable method to return view immediate-double-clicks. + +```csharp +public System.Threading.Tasks.Task OnJavascriptImmediateDoubleClick(dymaptic.GeoBlazor.Core.Events.ClickEvent clickEvent); +``` +#### Parameters + + + +`clickEvent` [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') + +The [ClickEvent](dymaptic.GeoBlazor.Core.Events.ClickEvent.html 'dymaptic.GeoBlazor.Core.Events.ClickEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptKeyDown(KeyDownEvent) Method + +JS-Invokable method to return view key-down events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptKeyDown(dymaptic.GeoBlazor.Core.Events.KeyDownEvent keyDownEvent); +``` +#### Parameters + + + +`keyDownEvent` [KeyDownEvent](dymaptic.GeoBlazor.Core.Events.KeyDownEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyDownEvent') + +The [KeyDownEvent](dymaptic.GeoBlazor.Core.Events.KeyDownEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyDownEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptKeyUp(KeyUpEvent) Method + +JS-Invokable method to return view key-up events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptKeyUp(dymaptic.GeoBlazor.Core.Events.KeyUpEvent keyUpEvent); +``` +#### Parameters + + + +`keyUpEvent` [KeyUpEvent](dymaptic.GeoBlazor.Core.Events.KeyUpEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyUpEvent') + +The [KeyUpEvent](dymaptic.GeoBlazor.Core.Events.KeyUpEvent.html 'dymaptic.GeoBlazor.Core.Events.KeyUpEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptLayerCreateChunk(string, string, int) Method + +JS-Invokable method for internal use only. + +```csharp +public void OnJavascriptLayerCreateChunk(string layerUid, string chunk, int chunkIndex); +``` +#### Parameters + + + +`layerUid` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + + + +`chunk` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + + + +`chunkIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + + + +## MapView.OnJavascriptLayerViewCreate(LayerViewCreateInternalEvent) Method + +JS-Invokable method to return when a layer view is created. + +```csharp +public System.Threading.Tasks.Task OnJavascriptLayerViewCreate(dymaptic.GeoBlazor.Core.Events.LayerViewCreateInternalEvent layerViewCreateEvent); +``` +#### Parameters + + + +`layerViewCreateEvent` [LayerViewCreateInternalEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateInternalEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateInternalEvent') + +The new [LayerViewCreateEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateEvent') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptLayerViewCreateChunk(string, string, int) Method + +JS-Invokable method for internal use only. + +```csharp +public void OnJavascriptLayerViewCreateChunk(string layerUid, string chunk, int chunkIndex); +``` +#### Parameters + + + +`layerUid` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + + + +`chunk` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + + + +`chunkIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + + + +## MapView.OnJavascriptLayerViewCreateComplete(Nullable, string, IJSObjectReference, IJSObjectReference, bool) Method + +JS-Invokable method for internal use only. + +```csharp +public System.Threading.Tasks.Task OnJavascriptLayerViewCreateComplete(System.Nullable geoBlazorLayerId, string layerUid, Microsoft.JSInterop.IJSObjectReference layerRef, Microsoft.JSInterop.IJSObjectReference layerViewRef, bool isBasemapLayer); +``` +#### Parameters + + + +`geoBlazorLayerId` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Guid](https://docs.microsoft.com/en-us/dotnet/api/System.Guid 'System.Guid')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + + + +`layerUid` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + + + +`layerRef` [Microsoft.JSInterop.IJSObjectReference](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.JSInterop.IJSObjectReference 'Microsoft.JSInterop.IJSObjectReference') + + + +`layerViewRef` [Microsoft.JSInterop.IJSObjectReference](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.JSInterop.IJSObjectReference 'Microsoft.JSInterop.IJSObjectReference') + + + +`isBasemapLayer` [System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptLayerViewCreateError(LayerViewCreateErrorEvent) Method + +JS-Invokable method to return when a layer view is destroyed. + +```csharp +public System.Threading.Tasks.Task OnJavascriptLayerViewCreateError(dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent errorEvent); +``` +#### Parameters + + + +`errorEvent` [LayerViewCreateErrorEvent](dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewCreateErrorEvent') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptLayerViewDestroy(LayerViewDestroyEvent) Method + +JS-Invokable method to return when a layer view is destroyed. + +```csharp +public System.Threading.Tasks.Task OnJavascriptLayerViewDestroy(dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent layerViewDestroyEvent); +``` +#### Parameters + + + +`layerViewDestroyEvent` [LayerViewDestroyEvent](dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent') + +The destroyed [LayerViewDestroyEvent](dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent.html 'dymaptic.GeoBlazor.Core.Events.LayerViewDestroyEvent') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptMouseWheel(MouseWheelEvent) Method + +JS-Invokable method to return when the mouse wheel is scrolled. + +```csharp +public System.Threading.Tasks.Task OnJavascriptMouseWheel(dymaptic.GeoBlazor.Core.Events.MouseWheelEvent mouseWheelEvent); +``` +#### Parameters + + + +`mouseWheelEvent` [MouseWheelEvent](dymaptic.GeoBlazor.Core.Events.MouseWheelEvent.html 'dymaptic.GeoBlazor.Core.Events.MouseWheelEvent') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptPointerDown(PointerEvent) Method + +JS-Invokable method to return view pointer down events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptPointerDown(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); +``` +#### Parameters + + + +`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') + +The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptPointerEnter(PointerEvent) Method + +JS-Invokable method to return view pointer enter events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptPointerEnter(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); +``` +#### Parameters + + + +`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') + +The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptPointerLeave(PointerEvent) Method + +JS-Invokable method to return view pointer leave events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptPointerLeave(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); +``` +#### Parameters + + + +`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') + +The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptPointerMove(PointerEvent) Method + +JS-Invokable method to return view pointer movement. + +```csharp +public System.Threading.Tasks.Task OnJavascriptPointerMove(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); +``` +#### Parameters + + + +`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') + +The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptPointerUp(PointerEvent) Method + +JS-Invokable method to return view pointer up events. + +```csharp +public System.Threading.Tasks.Task OnJavascriptPointerUp(dymaptic.GeoBlazor.Core.Events.PointerEvent pointerEvent); +``` +#### Parameters + + + +`pointerEvent` [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') + +The [PointerEvent](dymaptic.GeoBlazor.Core.Events.PointerEvent.html 'dymaptic.GeoBlazor.Core.Events.PointerEvent') return meta object. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptResize(ResizeEvent) Method + +JS-Invokable method to return when the map view is resized in the window. + +```csharp +public System.Threading.Tasks.Task OnJavascriptResize(dymaptic.GeoBlazor.Core.Events.ResizeEvent resizeEvent); +``` +#### Parameters + + + +`resizeEvent` [ResizeEvent](dymaptic.GeoBlazor.Core.Events.ResizeEvent.html 'dymaptic.GeoBlazor.Core.Events.ResizeEvent') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJavascriptSpatialReferenceChanged(SpatialReference) Method + +JS-Invokable method to return when the map view Spatial Reference changes. + +```csharp +public System.Threading.Tasks.Task OnJavascriptSpatialReferenceChanged(dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference spatialReference); +``` +#### Parameters + + + +`spatialReference` [SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference') + +The new [dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference 'dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnJsViewInitialized() Method + +JS-Invokable callback that signifies when the view is created but not yet fully rendered. + +```csharp +public System.Threading.Tasks.Task OnJsViewInitialized(); +``` + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OnViewRendered() Method + +JS-Invokable method to return when the map view is fully rendered. + +```csharp +public System.Threading.Tasks.Task OnViewRendered(); +``` + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.OpenPopup(PopupOpenOptions) Method + +Opens the popup at the given location with content defined either explicitly with content or driven from the +PopupTemplate of input features. This method sets the popup's visible property to true. Users can alternatively +open the popup by directly setting the visible property to true. + +```csharp +public System.Threading.Tasks.Task OpenPopup(dymaptic.GeoBlazor.Core.Components.Widgets.PopupOpenOptions? options=null); +``` +#### Parameters + + + +`options` [PopupOpenOptions](dymaptic.GeoBlazor.Core.Components.Widgets.PopupOpenOptions.html 'dymaptic.GeoBlazor.Core.Components.Widgets.PopupOpenOptions') + +Defines the location and content of the popup when opened. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.QueryFeatures(Query, FeatureLayer, Symbol, PopupTemplate) Method + +A custom method to query a provided [FeatureLayer](dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer') on the current map view, and display the results. + +```csharp +public System.Threading.Tasks.Task QueryFeatures(dymaptic.GeoBlazor.Core.Objects.Query query, dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer featureLayer, dymaptic.GeoBlazor.Core.Components.Symbols.Symbol displaySymbol, dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate popupTemplate); +``` +#### Parameters + + + +`query` [Query](dymaptic.GeoBlazor.Core.Objects.Query.html 'dymaptic.GeoBlazor.Core.Objects.Query') + +The [Query](dymaptic.GeoBlazor.Core.Objects.Query.html 'dymaptic.GeoBlazor.Core.Objects.Query') to run. + + + +`featureLayer` [FeatureLayer](dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer') + +The [FeatureLayer](dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer.html 'dymaptic.GeoBlazor.Core.Components.Layers.FeatureLayer') to query against. + + + +`displaySymbol` [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') + +The [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') to use to render the results of the query. + + + +`popupTemplate` [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') + +A [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') for displaying Popups on rendered results. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.Refresh() Method + +Provides a way to externally call `StateHasChanged` on the component. + +```csharp +public override void Refresh(); +``` + + + +## MapView.RegisterChildComponent(MapComponent) Method + +Called from [dymaptic.GeoBlazor.Core.Components.MapComponent.OnInitializedAsync](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.MapComponent.OnInitializedAsync 'dymaptic.GeoBlazor.Core.Components.MapComponent.OnInitializedAsync') to "Register" the current component with it's parent. + +```csharp +public override System.Threading.Tasks.Task RegisterChildComponent(dymaptic.GeoBlazor.Core.Components.MapComponent child); +``` +#### Parameters + + + +`child` [MapComponent](dymaptic.GeoBlazor.Core.Components.MapComponent.html 'dymaptic.GeoBlazor.Core.Components.MapComponent') + +The calling, child component to register + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + +#### Exceptions + +[InvalidChildElementException](dymaptic.GeoBlazor.Core.Exceptions.InvalidChildElementException.html 'dymaptic.GeoBlazor.Core.Exceptions.InvalidChildElementException') +Throws if the current child is not a valid sub-component to the parent. + + + +## MapView.RemoveGraphic(Graphic) Method + +Removes a graphic from the current view. + +```csharp +public System.Threading.Tasks.Task RemoveGraphic(dymaptic.GeoBlazor.Core.Components.Layers.Graphic graphic); +``` +#### Parameters + + + +`graphic` [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') + +The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') to remove. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.RemoveGraphics(IEnumerable) Method + +Removes a collection of graphics from the current view. + +```csharp +public System.Threading.Tasks.Task RemoveGraphics(System.Collections.Generic.IEnumerable graphics); +``` +#### Parameters + + + +`graphics` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic')s to remove. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.RemoveLayer(Layer, bool) Method + +Removes a layer from the current Map + +```csharp +public System.Threading.Tasks.Task RemoveLayer(dymaptic.GeoBlazor.Core.Components.Layers.Layer layer, bool isBasemapLayer=false); +``` +#### Parameters + + + +`layer` [Layer](dymaptic.GeoBlazor.Core.Components.Layers.Layer.html 'dymaptic.GeoBlazor.Core.Components.Layers.Layer') + +The layer to remove + + + +`isBasemapLayer` [System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') + +If true, removes the layer as a Basemap + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.SetCenter(Point) Method + +Sets the center [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') of the current view. + +```csharp +public virtual System.Threading.Tasks.Task SetCenter(dymaptic.GeoBlazor.Core.Components.Geometries.Point point); +``` +#### Parameters + + + +`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.SetConstraints(Constraints) Method + +Sets the [dymaptic.GeoBlazor.Core.Components.Views.MapView.Constraints](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Constraints 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Constraints') of the view. + +```csharp +public System.Threading.Tasks.Task SetConstraints(dymaptic.GeoBlazor.Core.Components.Constraints constraints); +``` +#### Parameters + + + +`constraints` [Constraints](dymaptic.GeoBlazor.Core.Components.Constraints.html 'dymaptic.GeoBlazor.Core.Components.Constraints') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.SetExtent(Extent) Method + +Sets the [dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent 'dymaptic.GeoBlazor.Core.Components.Views.MapView.Extent') of the view. + +```csharp +public virtual System.Threading.Tasks.Task SetExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); +``` +#### Parameters + + + +`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.SetHighlightOptions(HighlightOptions) Method + +Sets the [dymaptic.GeoBlazor.Core.Components.Views.MapView.HighlightOptions](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.HighlightOptions 'dymaptic.GeoBlazor.Core.Components.Views.MapView.HighlightOptions') of the view. + +```csharp +public System.Threading.Tasks.Task SetHighlightOptions(dymaptic.GeoBlazor.Core.Objects.HighlightOptions highlightOptions); +``` +#### Parameters + + + +`highlightOptions` [HighlightOptions](dymaptic.GeoBlazor.Core.Objects.HighlightOptions.html 'dymaptic.GeoBlazor.Core.Objects.HighlightOptions') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.SetRotation(double) Method + +Sets the rotation of the current view. + +```csharp +public System.Threading.Tasks.Task SetRotation(double rotation); +``` +#### Parameters + + + +`rotation` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.SetScale(double) Method + +Sets the scale of the current view. + +```csharp +public virtual System.Threading.Tasks.Task SetScale(double scale); +``` +#### Parameters + + + +`scale` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.SetSpatialReference(SpatialReference) Method + +Sets the [dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference](https://docs.microsoft.com/en-us/dotnet/api/dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference 'dymaptic.GeoBlazor.Core.Components.Views.MapView.SpatialReference') of the view. + +```csharp +public System.Threading.Tasks.Task SetSpatialReference(dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference spatialReference); +``` +#### Parameters + + + +`spatialReference` [SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.SetZoom(double) Method + +Sets the zoom level of the current view. + +```csharp +public virtual System.Threading.Tasks.Task SetZoom(double zoom); +``` +#### Parameters + + + +`zoom` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.ShowPopup(PopupTemplate, Point) Method + +Opens a Popup on a particular [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') of the map view. + +```csharp +public System.Threading.Tasks.Task ShowPopup(dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate template, dymaptic.GeoBlazor.Core.Components.Geometries.Point location); +``` +#### Parameters + + + +`template` [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') + +The [PopupTemplate](dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate.html 'dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate') defining the Popup. + + + +`location` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') on which to display the Popup. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.ShowPopupWithGraphic(Graphic, PopupOptions) Method + +Opens a Popup with a custom [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') on a particular [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') of the map view. + +```csharp +public System.Threading.Tasks.Task ShowPopupWithGraphic(dymaptic.GeoBlazor.Core.Components.Layers.Graphic graphic, dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions options); +``` +#### Parameters + + + +`graphic` [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') + +The [Graphic](dymaptic.GeoBlazor.Core.Components.Layers.Graphic.html 'dymaptic.GeoBlazor.Core.Components.Layers.Graphic') to display in the Popup + + + +`options` [PopupOptions](dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions.html 'dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions') + +A set of [PopupOptions](dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions.html 'dymaptic.GeoBlazor.Core.Components.Widgets.PopupOptions') that define the position and visible elements of the Popup. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.SolveServiceArea(string, double[], Symbol) Method + +A custom method to find and display Service Areas around a given point. + +```csharp +public System.Threading.Tasks.Task SolveServiceArea(string serviceAreaUrl, double[] driveTimeCutOffs, dymaptic.GeoBlazor.Core.Components.Symbols.Symbol serviceAreaSymbol); +``` +#### Parameters + + + +`serviceAreaUrl` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +A url for a Service Area rest service. + + + +`driveTimeCutOffs` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') + +A collection of drivable distances, calculated in minutes + + + +`serviceAreaSymbol` [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') + +The [Symbol](dymaptic.GeoBlazor.Core.Components.Symbols.Symbol.html 'dymaptic.GeoBlazor.Core.Components.Symbols.Symbol') used to render the service areas. + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + + +## MapView.ToMap(ScreenPoint) Method + +Converts the given screen point to a map point. The screen point represents a point in terms of pixels relative to the top-left corner of the view. + +```csharp +public System.Threading.Tasks.Task ToMap(dymaptic.GeoBlazor.Core.Events.ScreenPoint screenPoint); +``` +#### Parameters + + + +`screenPoint` [ScreenPoint](dymaptic.GeoBlazor.Core.Events.ScreenPoint.html 'dymaptic.GeoBlazor.Core.Events.ScreenPoint') + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.ToScreen(Point) Method + +Converts the given map point to a screen point. The screen point represents a point in terms of pixels relative to the top-left corner of the view. + +```csharp +public System.Threading.Tasks.Task ToScreen(dymaptic.GeoBlazor.Core.Components.Geometries.Point mapPoint); +``` +#### Parameters + + + +`mapPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[ScreenPoint](dymaptic.GeoBlazor.Core.Events.ScreenPoint.html 'dymaptic.GeoBlazor.Core.Events.ScreenPoint')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## MapView.UnregisterChildComponent(MapComponent) Method + +Undoes the "Registration" of a child with its parent. + +```csharp +public override System.Threading.Tasks.Task UnregisterChildComponent(dymaptic.GeoBlazor.Core.Components.MapComponent child); +``` +#### Parameters + + + +`child` [MapComponent](dymaptic.GeoBlazor.Core.Components.MapComponent.html 'dymaptic.GeoBlazor.Core.Components.MapComponent') + +The child to unregister + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') diff --git a/docs/pages/classes/dymaptic.GeoBlazor.Core.Model.GeometryEngine.md b/docs/pages/classes/dymaptic.GeoBlazor.Core.Model.GeometryEngine.md index b74d0af1..5d76660f 100644 --- a/docs/pages/classes/dymaptic.GeoBlazor.Core.Model.GeometryEngine.md +++ b/docs/pages/classes/dymaptic.GeoBlazor.Core.Model.GeometryEngine.md @@ -3,2981 +3,2199 @@ layout: default title: GeometryEngine parent: Classes --- -#### [dymaptic.GeoBlazor.Core](index.html 'index') -### [dymaptic.GeoBlazor.Core.Model](index.html#dymaptic.GeoBlazor.Core.Model 'dymaptic.GeoBlazor.Core.Model') - -## GeometryEngine Class - -A client-side geometry engine for testing, measuring, and analyzing the spatial relationship between two or more 2D -geometries. If more than one geometry is required for any of the methods below, all geometries must have the same -spatial reference for the methods to work as expected. -ArcGIS JS API - -```csharp -public class GeometryEngine : dymaptic.GeoBlazor.Core.Model.LogicComponent -``` - -Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [LogicComponent](dymaptic.GeoBlazor.Core.Model.LogicComponent.html 'dymaptic.GeoBlazor.Core.Model.LogicComponent') 🡒 GeometryEngine -### Constructors - - - -## GeometryEngine(IJSRuntime, AuthenticationManager) Constructor - -Default Constructor - -```csharp -public GeometryEngine(Microsoft.JSInterop.IJSRuntime jsRuntime, dymaptic.GeoBlazor.Core.Model.AuthenticationManager authenticationManager); -``` -#### Parameters - - - -`jsRuntime` [Microsoft.JSInterop.IJSRuntime](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.JSInterop.IJSRuntime 'Microsoft.JSInterop.IJSRuntime') - -Injected JavaScript Runtime reference - - - -`authenticationManager` [AuthenticationManager](dymaptic.GeoBlazor.Core.Model.AuthenticationManager.html 'dymaptic.GeoBlazor.Core.Model.AuthenticationManager') - -Injected Identity Manager reference -### Methods - - - -## GeometryEngine.AddPath(PolyLine, Point[]) Method - -Adds a path, or line segment, to the polyline. When added, the index of the path is incremented by one. - -```csharp -public System.Threading.Tasks.Task AddPath(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] points); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to add the path to. Will return a new modified copy. - - - -`points` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') - -The polyline path to add as an array of [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')s. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polyline with the added path. - - - -## GeometryEngine.AddPath(PolyLine, MapPath) Method - -Adds a path, or line segment, to the polyline. When added, the index of the path is incremented by one. - -```csharp -public System.Threading.Tasks.Task AddPath(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, dymaptic.GeoBlazor.Core.Objects.MapPath points); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to add the path to. Will return a new modified copy. - - - -`points` [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath') - -The polyline path to add as a [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath'). - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polyline with the added path. - - - -## GeometryEngine.AddRing(Polygon, Point[]) Method - -Adds a ring to the Polygon. The ring can be one of the following: an array of numbers or an array of points. When added the index of the ring is incremented by one. - -```csharp -public System.Threading.Tasks.Task AddRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] points); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to add the ring to. - - - -`points` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') - -A polygon ring. The first and last coordinates/points in the ring must be the same. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polygon with the added ring. - - - -## GeometryEngine.AddRing(Polygon, MapPath) Method - -Adds a ring to the Polygon. The ring can be one of the following: an array of numbers or an array of points. When added the index of the ring is incremented by one. - -```csharp -public System.Threading.Tasks.Task AddRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Objects.MapPath points); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to add the ring to. - - - -`points` [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath') - -A polygon ring. The first and last coordinates/points in the ring must be the same. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polygon with the added ring. - -<<<<<<< HEAD - - -## GeometryEngine.AddPath(PolyLine, Point[]) Method - -Adds a path, or line segment, to the polyline. When added, the index of the path is incremented by one. - -```csharp -public System.Threading.Tasks.Task AddPath(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] points); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to add the path to. Will return a new modified copy. - - - -`points` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') - -The polyline path to add as an array of [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')s. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polyline with the added path. - - - -## GeometryEngine.AddPath(PolyLine, MapPath) Method - -Adds a path, or line segment, to the polyline. When added, the index of the path is incremented by one. - -```csharp -public System.Threading.Tasks.Task AddPath(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, dymaptic.GeoBlazor.Core.Objects.MapPath points); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to add the path to. Will return a new modified copy. - - - -`points` [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath') - -The polyline path to add as a [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath'). - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polyline with the added path. - - - -## GeometryEngine.AddRing(Polygon, Point[]) Method - -Adds a ring to the Polygon. The ring can be one of the following: an array of numbers or an array of points. When added the index of the ring is incremented by one. - -```csharp -public System.Threading.Tasks.Task AddRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] points); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to add the ring to. - - - -`points` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') - -A polygon ring. The first and last coordinates/points in the ring must be the same. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polygon with the added ring. - - - -## GeometryEngine.AddRing(Polygon, MapPath) Method - -Adds a ring to the Polygon. The ring can be one of the following: an array of numbers or an array of points. When added the index of the ring is incremented by one. - -```csharp -public System.Threading.Tasks.Task AddRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Objects.MapPath points); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to add the ring to. - - - -`points` [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath') - -A polygon ring. The first and last coordinates/points in the ring must be the same. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polygon with the added ring. - -======= ->>>>>>> develop - - -## GeometryEngine.AreEqual(Geometry, Geometry) Method - -Indicates if two geometries are equal. - -```csharp -public System.Threading.Tasks.Task AreEqual(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); -``` -#### Parameters - - - -`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -First input geometry. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -Second input geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the two input geometries are equal. - -### Remarks -In ArcGIS for JS, this method is called `Equals`. However, this term has special meaning in .NET, so we have -renamed here. - - - -## GeometryEngine.Buffer(Geometry, double, Nullable) Method - -Creates planar (or Euclidean) buffer polygons at a specified distance around the input geometries. - -```csharp -public System.Threading.Tasks.Task Buffer(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double distance, System.Nullable unit=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The buffer input geometries. - - - -`distance` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The specified distance(s) for buffering. - - - -`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the distance(s). Defaults to the units of the input geometries. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The resulting buffer. - -### Remarks -The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution -when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial -reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer -geometries with a projected coordinate system other than Web Mercator. If you need to buffer geometries with a -geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer(). - - - -## GeometryEngine.Buffer(IEnumerable, IEnumerable, Nullable, Nullable) Method - -Creates planar (or Euclidean) buffer polygons at a specified distance around the input geometries. - -```csharp -public System.Threading.Tasks.Task Buffer(System.Collections.Generic.IEnumerable geometries, System.Collections.Generic.IEnumerable distances, System.Nullable unit=null, System.Nullable unionResults=null); -``` -#### Parameters - - - -`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The buffer input geometries. - - - -`distances` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the -distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one -distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of -three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The -value of the geometry array will be matched one to one with those in the distance array until the final value of -the distance array is reached, in which case that value will be applied to the remaining geometries. - - - -`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the distance(s). Defaults to the units of the input geometries. - - - -`unionResults` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Determines whether the output geometries should be unioned into a single polygon. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The resulting buffers. - -### Remarks -The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution -when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial -reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer -geometries with a projected coordinate system other than Web Mercator. If you need to buffer geometries with a -geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer(). - -<<<<<<< HEAD - - -## GeometryEngine.CenterExtentAt(Extent, Point) Method - -Centers the given extent to the given point, and returns a new extent. - -```csharp -public System.Threading.Tasks.Task CenterExtentAt(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The input extent. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The point to center the extent on. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The centered extent. - -======= ->>>>>>> develop - - -## GeometryEngine.Clip(Geometry, Extent) Method - -Calculates the clipped geometry from a target geometry by an envelope. - -```csharp -public System.Threading.Tasks.Task Clip(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to be clipped. - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The envelope used to clip. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Clipped geometry. - -<<<<<<< HEAD - - -## GeometryEngine.Clone(T) Method - -Creates a deep clone of the geometry. - -```csharp -public System.Threading.Tasks.Task Clone(T geometry) - where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry; -``` -#### Type parameters - - - -`T` -#### Parameters - - - -`geometry` [T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone_T_(T).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone(T).T') - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone_T_(T).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone(T).T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - -### Remarks -Unlike the Clone methods in the Geometry classes, this method does a loop through the ArcGIS JS SDK. Therefore, if you are having issues with unpopulated fields in the geometry, try using this method instead. - -======= ->>>>>>> develop - - -## GeometryEngine.Contains(Geometry, Geometry) Method - -Indicates if one geometry contains another geometry. - -```csharp -public System.Threading.Tasks.Task Contains(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry containerGeometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry insideGeometry); -``` -#### Parameters - - - -`containerGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry that is tested for the "contains" relationship to the other geometry. Think of this geometry as the -potential "container" of the insideGeometry. - - - -`insideGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry that is tested for the "within" relationship to the containerGeometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the containerGeometry contains the insideGeometry. - - - -## GeometryEngine.ConvexHull(Geometry) Method - -Calculates the convex hull of one or more geometries. A convex hull is the smallest convex polygon that encloses a -group of geometries or vertices. The input can be a single geometry (such as a polyline) or an array of any -geometry type. The hull is typically a polygon but can also be a polyline or a point in degenerate cases. - -```csharp -public System.Threading.Tasks.Task ConvexHull(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The input geometry used to calculate the convex hull. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns the convex hull of the input geometries. This is usually a polygon, but can also be a polyline (if the -input is a set of points or polylines forming a straight line), or a point (in degenerate cases). - - - -## GeometryEngine.ConvexHull(IEnumerable, Nullable) Method - -Calculates the convex hull of one or more geometries. A convex hull is the smallest convex polygon that encloses a -group of geometries or vertices. The input can be a single geometry (such as a polyline) or an array of any -geometry type. The hull is typically a polygon but can also be a polyline or a point in degenerate cases. - -```csharp -public System.Threading.Tasks.Task ConvexHull(System.Collections.Generic.IEnumerable geometries, System.Nullable merge=null); -``` -#### Parameters - - - -`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The input geometries used to calculate the convex hull. The input array can include various geometry types. - - - -`merge` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Indicates whether to merge the output into a single geometry (usually a polygon). - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns the convex hull of the input geometries. This is usually a polygon, but can also be a polyline (if the -input is a set of points or polylines forming a straight line), or a point (in degenerate cases). - - - -## GeometryEngine.Crosses(Geometry, Geometry) Method - -Indicates if one geometry crosses another geometry. - -```csharp -public System.Threading.Tasks.Task Crosses(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); -``` -#### Parameters - - - -`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to cross. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry being crossed. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if geometry1 crosses geometry2. - - - -## GeometryEngine.Cut(Geometry, PolyLine) Method - -Splits the input Polyline or Polygon where it crosses a cutting Polyline. For Polylines, all left cuts are grouped -together in the first Geometry. Right cuts and coincident cuts are grouped in the second Geometry and each -undefined cut, along with any uncut parts, are output as separate Polylines. For Polygons, all left cuts are -grouped in the first Polygon, all right cuts are grouped in the second Polygon, and each undefined cut, along with -any leftover parts after cutting, are output as a separate Polygon. If no cuts are returned then the array will be -empty. An undefined cut will only be produced if a left cut or right cut was produced and there was a part left -over after cutting, or a cut is bounded to the left and right of the cutter. - -```csharp -public System.Threading.Tasks.Task Cut(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine cutter); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to be cut. - - - -`cutter` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to cut the geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an array of geometries created by cutting the input geometry with the cutter. - - - -## GeometryEngine.Densify(Geometry, double, Nullable) Method - -Densify geometries by plotting points between existing vertices. - -```csharp -public System.Threading.Tasks.Task Densify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxSegmentLength, System.Nullable maxSegmentLengthUnit=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to be densified. - - - -`maxSegmentLength` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The maximum segment length allowed. Must be a positive value. - - - -`maxSegmentLengthUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit for maxSegmentLength. Defaults to the units of the input geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The densified geometry. - - - -## GeometryEngine.Difference(Geometry, Geometry) Method - -Creates the difference of two geometries. The resultant geometry is the portion of inputGeometry not in the -subtractor. The dimension of the subtractor has to be equal to or greater than that of the inputGeometry. - -```csharp -public System.Threading.Tasks.Task Difference(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry subtractor); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The input geometry to subtract from. - - - -`subtractor` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry being subtracted from inputGeometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns the geometry of inputGeometry minus the subtractor geometry. - - - -## GeometryEngine.Difference(IEnumerable, Geometry) Method - -Creates the difference of two geometries. The resultant geometry is the portion of inputGeometry not in the -subtractor. The dimension of the subtractor has to be equal to or greater than that of the inputGeometry. - -```csharp -public System.Threading.Tasks.Task Difference(System.Collections.Generic.IEnumerable geometries, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry subtractor); -``` -#### Parameters - - - -`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The input geometries to subtract from. - - - -`subtractor` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry being subtracted from inputGeometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns the geometry of inputGeometry minus the subtractor geometry. - - - -## GeometryEngine.Disjoint(Geometry, Geometry) Method - -Indicates if one geometry is disjoint (doesn't intersect in any way) with another geometry. - -```csharp -public System.Threading.Tasks.Task Disjoint(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); -``` -#### Parameters - - - -`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The base geometry that is tested for the "disjoint" relationship to the other geometry. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The comparison geometry that is tested for the "disjoint" relationship to the other geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if geometry1 and geometry2 are disjoint (don't intersect in any way). - - - -## GeometryEngine.Distance(Geometry, Geometry, Nullable) Method - -Calculates the shortest planar distance between two geometries. Distance is reported in the linear units specified -by distanceUnit or, if distanceUnit is null, the units of the spatialReference of input geometry. - -```csharp -public System.Threading.Tasks.Task Distance(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Nullable distanceUnit=null); -``` -#### Parameters - - - -`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -First input geometry. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -Second input geometry. - - - -`distanceUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the return value. Defaults to the units of the input geometries. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Distance between the two input geometries. - -<<<<<<< HEAD - - -## GeometryEngine.Expand(Extent, double) Method - -Expands the extent by the given factor. For example, a value of 1.5 will expand the extent to be 50 percent larger than the original extent. - -```csharp -public System.Threading.Tasks.Task Expand(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, double factor); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The input extent. - - - -`factor` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The factor by which to expand the extent. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The expanded extent. - -======= ->>>>>>> develop - - -## GeometryEngine.ExtendedSpatialReferenceInfo(SpatialReference) Method - -Returns an object containing additional information about the input spatial reference. - -```csharp -public System.Threading.Tasks.Task ExtendedSpatialReferenceInfo(dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference spatialReference); -``` -#### Parameters - - - -`spatialReference` [SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference') - -The input spatial reference. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[SpatialReferenceInfo](dymaptic.GeoBlazor.Core.Objects.SpatialReferenceInfo.html 'dymaptic.GeoBlazor.Core.Objects.SpatialReferenceInfo')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Resolves to a [SpatialReferenceInfo](dymaptic.GeoBlazor.Core.Objects.SpatialReferenceInfo.html 'dymaptic.GeoBlazor.Core.Objects.SpatialReferenceInfo') object. - - - -## GeometryEngine.FlipHorizontal(Geometry, Point) Method - -Flips a geometry on the horizontal axis. Can optionally be flipped around a point. - -```csharp -public System.Threading.Tasks.Task FlipHorizontal(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point? flipOrigin=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The input geometry to be flipped. - - - -`flipOrigin` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -Point to flip the geometry around. Defaults to the centroid of the geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The flipped geometry. - - - -## GeometryEngine.FlipVertical(Geometry, Point) Method - -Flips a geometry on the vertical axis. Can optionally be flipped around a point. - -```csharp -public System.Threading.Tasks.Task FlipVertical(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point? flipOrigin=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The input geometry to be flipped. - - - -`flipOrigin` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -Point to flip the geometry around. Defaults to the centroid of the geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The flipped geometry. - -<<<<<<< HEAD - - -## GeometryEngine.FromArcGisJson(string) Method - -Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function. - -```csharp -public System.Threading.Tasks.Task FromArcGisJson(string json) - where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry; -``` -#### Type parameters - - - -`T` -#### Parameters - - - -`json` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - -A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.FromArcGisJson_T_(string).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.FromArcGisJson(string).T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new geometry instance. - -======= ->>>>>>> develop - - -## GeometryEngine.Generalize(Geometry, double, Nullable, Nullable) Method - -Performs the generalize operation on the geometries in the cursor. Point and Multipoint geometries are left -unchanged. Envelope is converted to a Polygon and then generalized. - -```csharp -public System.Threading.Tasks.Task Generalize(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxDeviation, System.Nullable removeDegenerateParts=null, System.Nullable maxDeviationUnit=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The input geometry to be generalized. - - - -`maxDeviation` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The maximum allowed deviation from the generalized geometry to the original geometry. - - - -`removeDegenerateParts` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -When true the degenerate parts of the geometry will be removed from the output (may be undesired for drawing). - - - -`maxDeviationUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit for maxDeviation. Defaults to the units of the input geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The generalized geometry. - - - -## GeometryEngine.GeodesicArea(Polygon, Nullable) Method - -Calculates the area of the input geometry. As opposed to planarArea(), geodesicArea takes into account the -curvature of the earth when performing this calculation. Therefore, when using input geometries with a spatial -reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate areas using -geodesicArea(). If the input geometries have a projected coordinate system other than Web Mercator, use -planarArea() instead. - -```csharp -public System.Threading.Tasks.Task GeodesicArea(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon geometry, System.Nullable unit=null); -``` -#### Parameters - - - -`geometry` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The input polygon - - - -`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[ArealUnit](dymaptic.GeoBlazor.Core.Objects.ArealUnit.html 'dymaptic.GeoBlazor.Core.Objects.ArealUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the return value. Defaults to the units of the input geometries. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Area of the input geometry. - -### Remarks -This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. - - - -## GeometryEngine.GeodesicBuffer(Geometry, double, Nullable) Method - -Creates geodesic buffer polygons at a specified distance around the input geometries. When calculating distances, -this method takes the curvature of the earth into account, which provides highly accurate results when dealing with -very large geometries and/or geometries that spatially vary on a global scale where one projected coordinate system -could not accurately plot coordinates and measure distances for all the geometries. - -```csharp -public System.Threading.Tasks.Task GeodesicBuffer(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double distance, System.Nullable unit=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The buffer input geometru - - - -`distance` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The specified distance for buffering. - - - -`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the distance. Defaults to the units of the input geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The resulting buffers - -### Remarks -This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. In general, if your input -geometries are assigned one of those two spatial references, you should always use geodesicBuffer() to obtain the -most accurate results for those geometries. If needing to buffer points assigned a projected coordinate system -other than Web Mercator, use buffer() instead. If the input geometries have a geographic coordinate system other -than WGS84 (wkid: 4326), use geometryService.buffer(). - - - -## GeometryEngine.GeodesicBuffer(IEnumerable, IEnumerable, Nullable, Nullable) Method - -Creates geodesic buffer polygons at a specified distance around the input geometries. When calculating distances, -this method takes the curvature of the earth into account, which provides highly accurate results when dealing with -very large geometries and/or geometries that spatially vary on a global scale where one projected coordinate system -could not accurately plot coordinates and measure distances for all the geometries. - -```csharp -public System.Threading.Tasks.Task GeodesicBuffer(System.Collections.Generic.IEnumerable geometries, System.Collections.Generic.IEnumerable distances, System.Nullable unit=null, System.Nullable unionResults=null); -``` -#### Parameters - - - -`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The buffer input geometries - - - -`distances` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the -distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one -distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of -three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The -value of the geometry array will be matched one to one with those in the distance array until the final value of -the distance array is reached, in which case that value will be applied to the remaining geometries. - - - -`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the distance(s). Defaults to the units of the input geometries. - - - -`unionResults` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Determines whether the output geometries should be unioned into a single polygon. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The resulting buffers - -### Remarks -This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. In general, if your input -geometries are assigned one of those two spatial references, you should always use geodesicBuffer() to obtain the -most accurate results for those geometries. If needing to buffer points assigned a projected coordinate system -other than Web Mercator, use buffer() instead. If the input geometries have a geographic coordinate system other -than WGS84 (wkid: 4326), use geometryService.buffer(). - - - -## GeometryEngine.GeodesicDensify(Geometry, double, Nullable) Method - -Returns a geodesically densified version of the input geometry. Use this function to draw the line(s) of the -geometry along great circles. - -```csharp -public System.Threading.Tasks.Task GeodesicDensify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxSegmentLength, System.Nullable maxSegmentLenghtUnit=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -A polyline or polygon to densify. - - - -`maxSegmentLength` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The maximum segment length allowed (in meters if a maxSegmentLengthUnit is not provided). This must be a positive -value. - - - -`maxSegmentLenghtUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit for maxSegmentLength. If not provided, the unit will default to meters. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns the densified geometry. - - - -## GeometryEngine.GeodesicLength(Geometry, Nullable) Method - -Calculates the length of the input geometry. As opposed to planarLength(), geodesicLength() takes into account the -curvature of the earth when performing this calculation. Therefore, when using input geometries with a spatial -reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate lengths using -geodesicLength(). If the input geometries have a projected coordinate system other than Web Mercator, use -planarLength() instead. - -```csharp -public System.Threading.Tasks.Task GeodesicLength(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Nullable unit=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The input geometry. - - - -`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the return value. Defaults to the units of the input geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Length of the input geometry. - -### Remarks -This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. - -<<<<<<< HEAD - - -## GeometryEngine.GetPoint(Polygon, int, int) Method - -Returns a point specified by a ring and point in the ring. - -```csharp -public System.Threading.Tasks.Task GetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to get the point from. - - - -`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring containing the desired point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the desired point within the ring. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns the point at the specified ring index and point index. - - - -## GeometryEngine.GetPoint(PolyLine, int, int) Method - -Returns a point specified by a path and point in the path. - -```csharp -public System.Threading.Tasks.Task GetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to get the point from. - - - -`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path in the polyline. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point in the path. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns the point along the Polyline located in the given path and point indices. - - - -## GeometryEngine.InsertPoint(Polygon, int, int, Point) Method - -Inserts a new point into the polygon. - -```csharp -public System.Threading.Tasks.Task InsertPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to insert the point into. - - - -`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring in which to insert the point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point to insert within the ring. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The point to insert into the polygon. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polygon with the inserted point. - - - -## GeometryEngine.InsertPoint(PolyLine, int, int, Point) Method - -Inserts a new point into a polyline and returns the modified line. - -```csharp -public System.Threading.Tasks.Task InsertPoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to insert the point into. - - - -`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path in which to insert a point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the inserted point in the path. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The point to insert into the polyline. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polyline with the inserted point. - -======= ->>>>>>> develop - - -## GeometryEngine.Intersect(Geometry, Geometry) Method - -Creates new geometries from the intersections between two geometries. If the input geometries have different -dimensions (i.e. point = 0; polyline = 1; polygon = 2), then the result's dimension will be equal to the lowest -dimension of the inputs. - -```csharp -public System.Threading.Tasks.Task Intersect(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); -``` -#### Parameters - - - -`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The input geometry. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to intersect with geometry1. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The intersections of the geometries. - - - -## GeometryEngine.Intersect(IEnumerable, Geometry) Method - -Creates new geometries from the intersections between two geometries. If the input geometries have different -dimensions (i.e. point = 0; polyline = 1; polygon = 2), then the result's dimension will be equal to the lowest -dimension of the inputs. The table below describes the expected output for various combinations of geometry types. - -```csharp -public System.Threading.Tasks.Task Intersect(System.Collections.Generic.IEnumerable geometries1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); -``` -#### Parameters - - - -`geometries1` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The input array of geometries. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to intersect with geometries1. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The intersections of the geometries. - - - -## GeometryEngine.Intersects(Geometry, Geometry) Method - -Indicates if one geometry intersects another geometry. - -```csharp -public System.Threading.Tasks.Task Intersects(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); -``` -#### Parameters - - - -`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry that is tested for the intersects relationship to the other geometry. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry being intersected. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the input geometries intersect each other. - -<<<<<<< HEAD - - -## GeometryEngine.IsClockwise(Polygon, Point[]) Method - -Checks if a Polygon ring is clockwise - -```csharp -public System.Threading.Tasks.Task IsClockwise(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] ring); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to check the ring on. - - - -`ring` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') - -A polygon ring defined as an array of [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')s. The first and last coordinates/points in the ring must be the same. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the ring is clockwise and false for counterclockwise. - - - -## GeometryEngine.IsClockwise(Polygon, MapPath) Method - -Checks if a Polygon ring is clockwise - -```csharp -public System.Threading.Tasks.Task IsClockwise(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Objects.MapPath ring); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to check the ring on. - - - -`ring` [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath') - -A polygon ring defined as a [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath'). The first and last coordinates/points in the ring must be the same. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the ring is clockwise and false for counterclockwise. - -======= ->>>>>>> develop - - -## GeometryEngine.IsSimple(Geometry) Method - -Indicates if the given geometry is topologically simple. In a simplified geometry, no polygon rings or polyline -paths will overlap, and no self-intersection will occur. - -```csharp -public System.Threading.Tasks.Task IsSimple(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The input geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the geometry is topologically simple. - - - -## GeometryEngine.NearestCoordinate(Geometry, Point) Method - -Finds the coordinate of the geometry that is closest to the specified point. - -```csharp -public System.Threading.Tasks.Task NearestCoordinate(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point inputPoint); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to consider. - - - -`inputPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The point used to search the nearest coordinate in the geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[NearestPointResult](dymaptic.GeoBlazor.Core.Objects.NearestPointResult.html 'dymaptic.GeoBlazor.Core.Objects.NearestPointResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object containing the nearest coordinate. - - - -## GeometryEngine.NearestVertex(Geometry, Point) Method - -Finds the vertex on the geometry nearest to the specified point. - -```csharp -public System.Threading.Tasks.Task NearestVertex(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point inputPoint); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to consider. - - - -`inputPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The point used to search the nearest vertex in the geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[NearestPointResult](dymaptic.GeoBlazor.Core.Objects.NearestPointResult.html 'dymaptic.GeoBlazor.Core.Objects.NearestPointResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object containing the nearest vertex. - - - -## GeometryEngine.NearestVertices(Geometry, Point, double, int) Method - -Finds all vertices in the given distance from the specified point, sorted from the closest to the furthest and -returns them as an array of Objects. - -```csharp -public System.Threading.Tasks.Task NearestVertices(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point inputPoint, double searchRadius, int maxVertexCountToReturn); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to consider. - - - -`inputPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The point from which to measure. - - - -`searchRadius` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The distance to search from the inputPoint in the units of the view's spatial reference. - - - -`maxVertexCountToReturn` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The maximum number of vertices to return. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[NearestPointResult](dymaptic.GeoBlazor.Core.Objects.NearestPointResult.html 'dymaptic.GeoBlazor.Core.Objects.NearestPointResult')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -An array of objects containing the nearest vertices within the given searchRadius. - -<<<<<<< HEAD - - -## GeometryEngine.NormalizeExtent(Extent) Method - -Returns an array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline. - -```csharp -public System.Threading.Tasks.Task NormalizeExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The input extent. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -An array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline. - - - -## GeometryEngine.NormalizePoint(Point) Method - -Modifies the point geometry in-place by shifting the X-coordinate to within +/- 180 span in map units. - -```csharp -public System.Threading.Tasks.Task NormalizePoint(dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The input point. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a point with a normalized x-value. - -======= ->>>>>>> develop - - -## GeometryEngine.Offset(Geometry, double, Nullable, Nullable, Nullable, Nullable) Method - -The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is -similar to buffering, but produces a one-sided result. - -```csharp -public System.Threading.Tasks.Task Offset(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double offsetDistance, System.Nullable offsetUnit=null, System.Nullable joinType=null, System.Nullable bevelRatio=null, System.Nullable flattenError=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to offset. - - - -`offsetDistance` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The planar distance to offset from the input geometry. If offsetDistance > 0, then the offset geometry is -constructed to the right of the oriented input geometry, if offsetDistance = 0, then there is no change in the -geometries, otherwise it is constructed to the left. For a simple polygon, the orientation of outer rings is -clockwise and for inner rings it is counter clockwise. So the "right side" of a simple polygon is always its -inside. - - - -`offsetUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the offset distance. Defaults to the units of the input geometries. - - - -`joinType` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[JoinType](dymaptic.GeoBlazor.Core.Model.JoinType.html 'dymaptic.GeoBlazor.Core.Model.JoinType')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -The [JoinType](dymaptic.GeoBlazor.Core.Model.JoinType.html 'dymaptic.GeoBlazor.Core.Model.JoinType') - - - -`bevelRatio` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Applicable when joinType = 'miter'; bevelRatio is multiplied by the offset distance and the result determines how -far a mitered offset intersection can be located before it is beveled. - - - -`flattenError` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Applicable when joinType = 'round'; flattenError determines the maximum distance of the resulting segments compared -to the true circular arc. The algorithm never produces more than around 180 vertices for each round join. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The offset geometry. - - - -## GeometryEngine.Offset(IEnumerable, double, Nullable, Nullable, Nullable, Nullable) Method - -The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is -similar to buffering, but produces a one-sided result. - -```csharp -public System.Threading.Tasks.Task Offset(System.Collections.Generic.IEnumerable geometries, double offsetDistance, System.Nullable offsetUnit=null, System.Nullable joinType=null, System.Nullable bevelRatio=null, System.Nullable flattenError=null); -``` -#### Parameters - - - -`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -The geometries to offset. - - - -`offsetDistance` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The planar distance to offset from the input geometry. If offsetDistance > 0, then the offset geometry is -constructed to the right of the oriented input geometry, if offsetDistance = 0, then there is no change in the -geometries, otherwise it is constructed to the left. For a simple polygon, the orientation of outer rings is -clockwise and for inner rings it is counter clockwise. So the "right side" of a simple polygon is always its -inside. - - - -`offsetUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the offset distance. Defaults to the units of the input geometries. - - - -`joinType` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[JoinType](dymaptic.GeoBlazor.Core.Model.JoinType.html 'dymaptic.GeoBlazor.Core.Model.JoinType')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -The [JoinType](dymaptic.GeoBlazor.Core.Model.JoinType.html 'dymaptic.GeoBlazor.Core.Model.JoinType') - - - -`bevelRatio` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Applicable when joinType = 'miter'; bevelRatio is multiplied by the offset distance and the result determines how -far a mitered offset intersection can be located before it is beveled. - - - -`flattenError` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Applicable when joinType = 'round'; flattenError determines the maximum distance of the resulting segments compared -to the true circular arc. The algorithm never produces more than around 180 vertices for each round join. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The offset geometries. - -<<<<<<< HEAD - - -## GeometryEngine.OffsetExtent(Extent, double, double, double) Method - -Modifies the extent geometry in-place with X and Y offsets in map units. - -```csharp -public System.Threading.Tasks.Task OffsetExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, double dx, double dy, double dz=0.0); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The input extent. - - - -`dx` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The offset distance in map units for the X-coordinate. - - - -`dy` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The offset distance in map units for the Y-coordinate. - - - -`dz` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The offset distance in map units for the Z-coordinate. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - -======= ->>>>>>> develop - - -## GeometryEngine.Overlaps(Geometry, Geometry) Method - -Indicates if one geometry overlaps another geometry. - -```csharp -public System.Threading.Tasks.Task Overlaps(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); -``` -#### Parameters - - - -`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The base geometry that is tested for the "overlaps" relationship with the other geometry. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The comparison geometry that is tested for the "overlaps" relationship with the other geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the two geometries overlap. - - - -## GeometryEngine.PlanarArea(Polygon, Nullable) Method - -Calculates the area of the input geometry. As opposed to geodesicArea(), planarArea() performs this calculation -using projected coordinates and does not take into account the earth's curvature. When using input geometries with -a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate areas using -geodesicArea(). If the input geometries have a projected coordinate system other than Web Mercator, use -planarArea() instead. - -```csharp -public System.Threading.Tasks.Task PlanarArea(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon geometry, System.Nullable unit=null); -``` -#### Parameters - - - -`geometry` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The input polygon. - - - -`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[ArealUnit](dymaptic.GeoBlazor.Core.Objects.ArealUnit.html 'dymaptic.GeoBlazor.Core.Objects.ArealUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the return value. Defaults to the units of the input geometries. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The area of the input geometry. - - - -## GeometryEngine.PlanarLength(Geometry, Nullable) Method - -Calculates the length of the input geometry. As opposed to geodesicLength(), planarLength() uses projected -coordinates and does not take into account the curvature of the earth when performing this calculation. When using -input geometries with a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to -calculate lengths using geodesicLength(). If the input geometries have a projected coordinate system other than Web -Mercator, use planarLength() instead. - -```csharp -public System.Threading.Tasks.Task PlanarLength(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Nullable unit=null); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The input geometry. - - - -`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') - -Measurement unit of the return value. Defaults to the units of the input geometries. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The length of the input geometry. - -<<<<<<< HEAD - - -## GeometryEngine.PolygonFromExtent(Extent) Method - -Converts the given Extent to a Polygon instance. This is useful for scenarios in which you would like to display an area of interest, which is typically defined by an Extent or bounding box, as a polygon with a fill symbol in the view. Some geoprocessing tools require input geometries to be of a Polygon type and not an Extent. - -```csharp -public System.Threading.Tasks.Task PolygonFromExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -An extent object to convert to a polygon. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -A polygon instance representing the given extent. - -======= ->>>>>>> develop - - -## GeometryEngine.Relate(Geometry, Geometry, string) Method - -Indicates if the given DE-9IM relation is true for the two geometries. - -```csharp -public System.Threading.Tasks.Task Relate(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, string relation); -``` -#### Parameters - - - -`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The first geometry for the relation. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The second geometry for the relation. - - - -`relation` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - -The Dimensionally Extended 9 Intersection Model (DE-9IM) matrix relation (encoded as a string) to test against the -relationship of the two geometries. This string contains the test result of each intersection represented in the -DE-9IM matrix. Each result is one character of the string and may be represented as either a number (maximum -dimension returned: 0,1,2), a Boolean value (T or F), or a mask character (for ignoring results: '*'). For example, -each of the following DE-9IM string codes are valid for testing whether a polygon geometry completely contains a -line geometry: TTTFFTFFT (Boolean), 'T******FF*' (ignore irrelevant intersections), or '102FF*FF*' (dimension -form). Each returns the same result. See -this article and - - - this - - ArcGIS help page - - -for more information about the DE-9IM model and how string codes are constructed. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the relation of the input geometries is accurate. - -<<<<<<< HEAD - - -## GeometryEngine.RemovePath(PolyLine, int) Method - -Removes a path from the Polyline. The index specifies which path to remove. - -```csharp -public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine PolyLine,dymaptic.GeoBlazor.Core.Components.Geometries.Point[] Path)> RemovePath(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int index); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to remove the path from. - - - -`index` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path to remove. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object with the modified polyline and the removed path. - - - -## GeometryEngine.RemovePoint(Polygon, int, int) Method - -Removes a point from the polygon at the given pointIndex within the ring identified by the given ringIndex. - -```csharp -public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon Polygon,dymaptic.GeoBlazor.Core.Components.Geometries.Point Point)> RemovePoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polyline to remove the point from. - - - -`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring containing the point to remove. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point to remove within the ring. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object with the modified polygon and the removed point. - - - -## GeometryEngine.RemovePoint(PolyLine, int, int) Method - -Removes a point from the polyline at the given pointIndex within the path identified by the given pathIndex. - -```csharp -public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine PolyLine,dymaptic.GeoBlazor.Core.Components.Geometries.Point Point)> RemovePoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to remove the point from. - - - -`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path in which to remove a point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point in the path to remove. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object with the modified polyline and the removed point. - - - -## GeometryEngine.RemoveRing(Polygon, int) Method - -Removes a ring from the Polygon. The index specifies which ring to remove. - -```csharp -public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon Polygon,dymaptic.GeoBlazor.Core.Components.Geometries.Point[] Ring)> RemoveRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int index); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to remove the ring from. - - - -`index` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring to remove. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object with the modified polygon and the removed ring. - -======= ->>>>>>> develop - - -## GeometryEngine.Rotate(Geometry, double, Point) Method - -Rotates a geometry counterclockwise by the specified number of degrees. Rotation is around the centroid, or a given -rotation point. - -```csharp -public System.Threading.Tasks.Task Rotate(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double angle, dymaptic.GeoBlazor.Core.Components.Geometries.Point rotationOrigin); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to rotate. - - - -`angle` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The rotation angle in degrees. - - - -`rotationOrigin` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -Point to rotate the geometry around. Defaults to the centroid of the geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The rotated geometry. - -<<<<<<< HEAD - - -## GeometryEngine.SetPoint(Polygon, int, int, Point) Method - -Updates a point in a polygon and returns the modified polygon. - -```csharp -public System.Threading.Tasks.Task SetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to update the point in. - - - -`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring containing the point to update. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point to update within the ring. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The new point to update the polygon with. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polygon with the updated point. - - - -## GeometryEngine.SetPoint(PolyLine, int, int, Point) Method - -Updates a point in a polyline and returns the modified polyline. - -```csharp -public System.Threading.Tasks.Task SetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to update the point in. - - - -`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path in which to update a point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point in the path to update. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The new point to update the polyline with. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polyline with the updated point. - -======= ->>>>>>> develop - - -## GeometryEngine.Simplify(Geometry) Method - -Performs the simplify operation on the geometry, which alters the given geometries to make their definitions -topologically legal with respect to their geometry type. At the end of a simplify operation, no polygon rings or -polyline paths will overlap, and no self-intersection will occur. - -```csharp -public System.Threading.Tasks.Task Simplify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry); -``` -#### Parameters - - - -`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to be simplified. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The simplified geometry. - - - -## GeometryEngine.SymmetricDifference(Geometry, Geometry) Method - -Creates the symmetric difference of two geometries. The symmetric difference includes the parts that are in either -of the sets, but not in both. - -```csharp -public System.Threading.Tasks.Task SymmetricDifference(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry leftGeometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry rightGeometry); -``` -#### Parameters - - - -`leftGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -One of the Geometry instances in the XOR operation. - - - -`rightGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -One of the Geometry instances in the XOR operation. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The symmetric differences of the two geometries. - - - -## GeometryEngine.SymmetricDifference(IEnumerable, Geometry) Method - -Creates the symmetric difference of two geometries. The symmetric difference includes the parts that are in either -of the sets, but not in both. - -```csharp -public System.Threading.Tasks.Task SymmetricDifference(System.Collections.Generic.IEnumerable leftGeometries, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry rightGeometry); -``` -#### Parameters - - - -`leftGeometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -One of the Geometry instances in the XOR operation. - - - -`rightGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -One of the Geometry instances in the XOR operation. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The symmetric differences of the two geometries. - -<<<<<<< HEAD - - -## GeometryEngine.ToArcGisJson(T) Method - -Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information. - -```csharp -public System.Threading.Tasks.Task ToArcGisJson(T geometry) - where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry; -``` -#### Type parameters - - - -`T` -#### Parameters - - - -`geometry` [T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.ToArcGisJson_T_(T).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.ToArcGisJson(T).T') - -The geometry to convert. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The ArcGIS portal JSON representation of an instance of this class. - -======= ->>>>>>> develop - - -## GeometryEngine.CenterExtentAt(Extent, Point) Method - -Centers the given extent to the given point, and returns a new extent. - -```csharp -public System.Threading.Tasks.Task CenterExtentAt(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The input extent. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The point to center the extent on. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The centered extent. - - - -## GeometryEngine.Clone(T) Method - -Creates a deep clone of the geometry. - -```csharp -public System.Threading.Tasks.Task Clone(T geometry) - where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry; -``` -#### Type parameters - - - -`T` -#### Parameters - - - -`geometry` [T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone_T_(T).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone(T).T') - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone_T_(T).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone(T).T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - -### Remarks -Unlike the Clone methods in the Geometry classes, this method does a loop through the ArcGIS JS SDK. Therefore, if you are having issues with unpopulated fields in the geometry, try using this method instead. - - - -## GeometryEngine.Expand(Extent, double) Method - -Expands the extent by the given factor. For example, a value of 1.5 will expand the extent to be 50 percent larger than the original extent. - -```csharp -public System.Threading.Tasks.Task Expand(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, double factor); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The input extent. - - - -`factor` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The factor by which to expand the extent. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The expanded extent. - - - -## GeometryEngine.FromArcGisJson(string) Method - -Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function. - -```csharp -public System.Threading.Tasks.Task FromArcGisJson(string json) - where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry; -``` -#### Type parameters - - - -`T` -#### Parameters - - - -`json` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') - -A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.FromArcGisJson_T_(string).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.FromArcGisJson(string).T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new geometry instance. - - - -## GeometryEngine.GetPoint(Polygon, int, int) Method - -Returns a point specified by a ring and point in the ring. - -```csharp -public System.Threading.Tasks.Task GetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to get the point from. - - - -`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring containing the desired point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the desired point within the ring. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns the point at the specified ring index and point index. - - - -## GeometryEngine.GetPoint(PolyLine, int, int) Method - -Returns a point specified by a path and point in the path. - -```csharp -public System.Threading.Tasks.Task GetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to get the point from. - - - -`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path in the polyline. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point in the path. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns the point along the Polyline located in the given path and point indices. - - - -## GeometryEngine.InsertPoint(Polygon, int, int, Point) Method - -Inserts a new point into the polygon. - -```csharp -public System.Threading.Tasks.Task InsertPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to insert the point into. - - - -`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring in which to insert the point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point to insert within the ring. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The point to insert into the polygon. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polygon with the inserted point. - - - -## GeometryEngine.InsertPoint(PolyLine, int, int, Point) Method - -Inserts a new point into a polyline and returns the modified line. - -```csharp -public System.Threading.Tasks.Task InsertPoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to insert the point into. - - - -`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path in which to insert a point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the inserted point in the path. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The point to insert into the polyline. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polyline with the inserted point. - - - -## GeometryEngine.IsClockwise(Polygon, Point[]) Method - -Checks if a Polygon ring is clockwise - -```csharp -public System.Threading.Tasks.Task IsClockwise(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] ring); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to check the ring on. - - - -`ring` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') - -A polygon ring defined as an array of [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')s. The first and last coordinates/points in the ring must be the same. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the ring is clockwise and false for counterclockwise. - - - -## GeometryEngine.IsClockwise(Polygon, MapPath) Method - -Checks if a Polygon ring is clockwise - -```csharp -public System.Threading.Tasks.Task IsClockwise(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Objects.MapPath ring); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to check the ring on. - - - -`ring` [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath') - -A polygon ring defined as a [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath'). The first and last coordinates/points in the ring must be the same. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if the ring is clockwise and false for counterclockwise. - - - -## GeometryEngine.NormalizeExtent(Extent) Method - -Returns an array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline. - -```csharp -public System.Threading.Tasks.Task NormalizeExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The input extent. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -An array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline. - - - -## GeometryEngine.NormalizePoint(Point) Method - -Modifies the point geometry in-place by shifting the X-coordinate to within +/- 180 span in map units. - -```csharp -public System.Threading.Tasks.Task NormalizePoint(dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The input point. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a point with a normalized x-value. - - - -## GeometryEngine.OffsetExtent(Extent, double, double, double) Method - -Modifies the extent geometry in-place with X and Y offsets in map units. - -```csharp -public System.Threading.Tasks.Task OffsetExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, double dx, double dy, double dz=0.0); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -The input extent. - - - -`dx` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The offset distance in map units for the X-coordinate. - - - -`dy` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The offset distance in map units for the Y-coordinate. - - - -`dz` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') - -The offset distance in map units for the Z-coordinate. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') - - - -## GeometryEngine.PolygonFromExtent(Extent) Method - -Converts the given Extent to a Polygon instance. This is useful for scenarios in which you would like to display an area of interest, which is typically defined by an Extent or bounding box, as a polygon with a fill symbol in the view. Some geoprocessing tools require input geometries to be of a Polygon type and not an Extent. - -```csharp -public System.Threading.Tasks.Task PolygonFromExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); -``` -#### Parameters - - - -`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') - -An extent object to convert to a polygon. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -A polygon instance representing the given extent. - - - -## GeometryEngine.RemovePath(PolyLine, int) Method - -Removes a path from the Polyline. The index specifies which path to remove. - -```csharp -public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine PolyLine,dymaptic.GeoBlazor.Core.Components.Geometries.Point[] Path)> RemovePath(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int index); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to remove the path from. - - - -`index` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path to remove. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object with the modified polyline and the removed path. - - - -## GeometryEngine.RemovePoint(Polygon, int, int) Method - -Removes a point from the polygon at the given pointIndex within the ring identified by the given ringIndex. - -```csharp -public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon Polygon,dymaptic.GeoBlazor.Core.Components.Geometries.Point Point)> RemovePoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polyline to remove the point from. - - - -`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring containing the point to remove. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point to remove within the ring. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object with the modified polygon and the removed point. - - - -## GeometryEngine.RemovePoint(PolyLine, int, int) Method - -Removes a point from the polyline at the given pointIndex within the path identified by the given pathIndex. - -```csharp -public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine PolyLine,dymaptic.GeoBlazor.Core.Components.Geometries.Point Point)> RemovePoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to remove the point from. - - - -`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path in which to remove a point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point in the path to remove. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object with the modified polyline and the removed point. - - - -## GeometryEngine.RemoveRing(Polygon, int) Method - -Removes a ring from the Polygon. The index specifies which ring to remove. - -```csharp -public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon Polygon,dymaptic.GeoBlazor.Core.Components.Geometries.Point[] Ring)> RemoveRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int index); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to remove the ring from. - - - -`index` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring to remove. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns an object with the modified polygon and the removed ring. - - - -## GeometryEngine.SetPoint(Polygon, int, int, Point) Method - -Updates a point in a polygon and returns the modified polygon. - -```csharp -public System.Threading.Tasks.Task SetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') - -The polygon to update the point in. - - - -`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the ring containing the point to update. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point to update within the ring. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The new point to update the polygon with. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polygon with the updated point. - - - -## GeometryEngine.SetPoint(PolyLine, int, int, Point) Method - -Updates a point in a polyline and returns the modified polyline. - -```csharp -public System.Threading.Tasks.Task SetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); -``` -#### Parameters - - - -`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') - -The polyline to update the point in. - - - -`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the path in which to update a point. - - - -`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') - -The index of the point in the path to update. - - - -`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') - -The new point to update the polyline with. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns a new polyline with the updated point. - - - -## GeometryEngine.ToArcGisJson(T) Method - -Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information. - -```csharp -public System.Threading.Tasks.Task ToArcGisJson(T geometry) - where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry; -``` -#### Type parameters - - - -`T` -#### Parameters - - - -`geometry` [T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.ToArcGisJson_T_(T).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.ToArcGisJson(T).T') - -The geometry to convert. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The ArcGIS portal JSON representation of an instance of this class. - - - -## GeometryEngine.Touches(Geometry, Geometry) Method - -Indicates if one geometry touches another geometry. - -```csharp -public System.Threading.Tasks.Task Touches(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); -``` -#### Parameters - - - -`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to test the "touches" relationship with the other geometry. - - - -`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The geometry to be touched. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -When true, geometry1 touches geometry2. - - - -## GeometryEngine.Union(Geometry[]) Method - -All inputs must be of the same type of geometries and share one spatial reference. - -```csharp -public System.Threading.Tasks.Task Union(params dymaptic.GeoBlazor.Core.Components.Geometries.Geometry[] geometries); -``` -#### Parameters - - - -`geometries` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') - -An array of Geometries to union. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The union of the geometries - - - -## GeometryEngine.Union(IEnumerable) Method - -All inputs must be of the same type of geometries and share one spatial reference. - -```csharp -public System.Threading.Tasks.Task Union(System.Collections.Generic.IEnumerable geometries); -``` -#### Parameters - - - -`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') - -An array of Geometries to union. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -The union of the geometries - - - -## GeometryEngine.Within(Geometry, Geometry) Method - -Indicates if one geometry is within another geometry. - -```csharp -public System.Threading.Tasks.Task Within(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry innerGeometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry outerGeometry); -``` -#### Parameters - - - -`innerGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The base geometry that is tested for the "within" relationship to the other geometry. - - - -`outerGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') - -The comparison geometry that is tested for the "contains" relationship to the other geometry. - -#### Returns -[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') -Returns true if innerGeometry is within outerGeometry. +#### [dymaptic.GeoBlazor.Core](index.html 'index') +### [dymaptic.GeoBlazor.Core.Model](index.html#dymaptic.GeoBlazor.Core.Model 'dymaptic.GeoBlazor.Core.Model') + +## GeometryEngine Class + +A client-side geometry engine for testing, measuring, and analyzing the spatial relationship between two or more 2D +geometries. If more than one geometry is required for any of the methods below, all geometries must have the same +spatial reference for the methods to work as expected. +ArcGIS JS API + +```csharp +public class GeometryEngine : dymaptic.GeoBlazor.Core.Model.LogicComponent +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [LogicComponent](dymaptic.GeoBlazor.Core.Model.LogicComponent.html 'dymaptic.GeoBlazor.Core.Model.LogicComponent') 🡒 GeometryEngine +### Constructors + + + +## GeometryEngine(IJSRuntime, AuthenticationManager) Constructor + +Default Constructor + +```csharp +public GeometryEngine(Microsoft.JSInterop.IJSRuntime jsRuntime, dymaptic.GeoBlazor.Core.Model.AuthenticationManager authenticationManager); +``` +#### Parameters + + + +`jsRuntime` [Microsoft.JSInterop.IJSRuntime](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.JSInterop.IJSRuntime 'Microsoft.JSInterop.IJSRuntime') + +Injected JavaScript Runtime reference + + + +`authenticationManager` [AuthenticationManager](dymaptic.GeoBlazor.Core.Model.AuthenticationManager.html 'dymaptic.GeoBlazor.Core.Model.AuthenticationManager') + +Injected Identity Manager reference +### Methods + + + +## GeometryEngine.AddPath(PolyLine, Point[]) Method + +Adds a path, or line segment, to the polyline. When added, the index of the path is incremented by one. + +```csharp +public System.Threading.Tasks.Task AddPath(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] points); +``` +#### Parameters + + + +`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') + +The polyline to add the path to. Will return a new modified copy. + + + +`points` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') + +The polyline path to add as an array of [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')s. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a new polyline with the added path. + + + +## GeometryEngine.AddPath(PolyLine, MapPath) Method + +Adds a path, or line segment, to the polyline. When added, the index of the path is incremented by one. + +```csharp +public System.Threading.Tasks.Task AddPath(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, dymaptic.GeoBlazor.Core.Objects.MapPath points); +``` +#### Parameters + + + +`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') + +The polyline to add the path to. Will return a new modified copy. + + + +`points` [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath') + +The polyline path to add as a [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath'). + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a new polyline with the added path. + + + +## GeometryEngine.AddRing(Polygon, Point[]) Method + +Adds a ring to the Polygon. The ring can be one of the following: an array of numbers or an array of points. When added the index of the ring is incremented by one. + +```csharp +public System.Threading.Tasks.Task AddRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] points); +``` +#### Parameters + + + +`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The polygon to add the ring to. + + + +`points` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') + +A polygon ring. The first and last coordinates/points in the ring must be the same. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a new polygon with the added ring. + + + +## GeometryEngine.AddRing(Polygon, MapPath) Method + +Adds a ring to the Polygon. The ring can be one of the following: an array of numbers or an array of points. When added the index of the ring is incremented by one. + +```csharp +public System.Threading.Tasks.Task AddRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Objects.MapPath points); +``` +#### Parameters + + + +`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The polygon to add the ring to. + + + +`points` [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath') + +A polygon ring. The first and last coordinates/points in the ring must be the same. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a new polygon with the added ring. + + + +## GeometryEngine.AreEqual(Geometry, Geometry) Method + +Indicates if two geometries are equal. + +```csharp +public System.Threading.Tasks.Task AreEqual(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); +``` +#### Parameters + + + +`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +First input geometry. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +Second input geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if the two input geometries are equal. + +### Remarks +In ArcGIS for JS, this method is called `Equals`. However, this term has special meaning in .NET, so we have +renamed here. + + + +## GeometryEngine.Buffer(Geometry, double, Nullable) Method + +Creates planar (or Euclidean) buffer polygons at a specified distance around the input geometries. + +```csharp +public System.Threading.Tasks.Task Buffer(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double distance, System.Nullable unit=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The buffer input geometries. + + + +`distance` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The specified distance(s) for buffering. + + + +`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the distance(s). Defaults to the units of the input geometries. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The resulting buffer. + +### Remarks +The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution +when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial +reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer +geometries with a projected coordinate system other than Web Mercator. If you need to buffer geometries with a +geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer(). + + + +## GeometryEngine.Buffer(IEnumerable, IEnumerable, Nullable, Nullable) Method + +Creates planar (or Euclidean) buffer polygons at a specified distance around the input geometries. + +```csharp +public System.Threading.Tasks.Task Buffer(System.Collections.Generic.IEnumerable geometries, System.Collections.Generic.IEnumerable distances, System.Nullable unit=null, System.Nullable unionResults=null); +``` +#### Parameters + + + +`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The buffer input geometries. + + + +`distances` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the +distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one +distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of +three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The +value of the geometry array will be matched one to one with those in the distance array until the final value of +the distance array is reached, in which case that value will be applied to the remaining geometries. + + + +`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the distance(s). Defaults to the units of the input geometries. + + + +`unionResults` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Determines whether the output geometries should be unioned into a single polygon. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The resulting buffers. + +### Remarks +The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution +when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial +reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer +geometries with a projected coordinate system other than Web Mercator. If you need to buffer geometries with a +geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer(). + + + +## GeometryEngine.CenterExtentAt(Extent, Point) Method + +Centers the given extent to the given point, and returns a new extent. + +```csharp +public System.Threading.Tasks.Task CenterExtentAt(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); +``` +#### Parameters + + + +`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') + +The input extent. + + + +`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The point to center the extent on. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The centered extent. + + + +## GeometryEngine.Clip(Geometry, Extent) Method + +Calculates the clipped geometry from a target geometry by an envelope. + +```csharp +public System.Threading.Tasks.Task Clip(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to be clipped. + + + +`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') + +The envelope used to clip. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Clipped geometry. + + + +## GeometryEngine.Clone(T) Method + +Creates a deep clone of the geometry. + +```csharp +public System.Threading.Tasks.Task Clone(T geometry) + where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry; +``` +#### Type parameters + + + +`T` +#### Parameters + + + +`geometry` [T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone_T_(T).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone(T).T') + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone_T_(T).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.Clone(T).T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + +### Remarks +Unlike the Clone methods in the Geometry classes, this method does a loop through the ArcGIS JS SDK. Therefore, if you are having issues with unpopulated fields in the geometry, try using this method instead. + + + +## GeometryEngine.Contains(Geometry, Geometry) Method + +Indicates if one geometry contains another geometry. + +```csharp +public System.Threading.Tasks.Task Contains(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry containerGeometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry insideGeometry); +``` +#### Parameters + + + +`containerGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry that is tested for the "contains" relationship to the other geometry. Think of this geometry as the +potential "container" of the insideGeometry. + + + +`insideGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry that is tested for the "within" relationship to the containerGeometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if the containerGeometry contains the insideGeometry. + + + +## GeometryEngine.ConvexHull(Geometry) Method + +Calculates the convex hull of one or more geometries. A convex hull is the smallest convex polygon that encloses a +group of geometries or vertices. The input can be a single geometry (such as a polyline) or an array of any +geometry type. The hull is typically a polygon but can also be a polyline or a point in degenerate cases. + +```csharp +public System.Threading.Tasks.Task ConvexHull(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The input geometry used to calculate the convex hull. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns the convex hull of the input geometries. This is usually a polygon, but can also be a polyline (if the +input is a set of points or polylines forming a straight line), or a point (in degenerate cases). + + + +## GeometryEngine.ConvexHull(IEnumerable, Nullable) Method + +Calculates the convex hull of one or more geometries. A convex hull is the smallest convex polygon that encloses a +group of geometries or vertices. The input can be a single geometry (such as a polyline) or an array of any +geometry type. The hull is typically a polygon but can also be a polyline or a point in degenerate cases. + +```csharp +public System.Threading.Tasks.Task ConvexHull(System.Collections.Generic.IEnumerable geometries, System.Nullable merge=null); +``` +#### Parameters + + + +`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The input geometries used to calculate the convex hull. The input array can include various geometry types. + + + +`merge` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Indicates whether to merge the output into a single geometry (usually a polygon). + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns the convex hull of the input geometries. This is usually a polygon, but can also be a polyline (if the +input is a set of points or polylines forming a straight line), or a point (in degenerate cases). + + + +## GeometryEngine.Crosses(Geometry, Geometry) Method + +Indicates if one geometry crosses another geometry. + +```csharp +public System.Threading.Tasks.Task Crosses(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); +``` +#### Parameters + + + +`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to cross. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry being crossed. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if geometry1 crosses geometry2. + + + +## GeometryEngine.Cut(Geometry, PolyLine) Method + +Splits the input Polyline or Polygon where it crosses a cutting Polyline. For Polylines, all left cuts are grouped +together in the first Geometry. Right cuts and coincident cuts are grouped in the second Geometry and each +undefined cut, along with any uncut parts, are output as separate Polylines. For Polygons, all left cuts are +grouped in the first Polygon, all right cuts are grouped in the second Polygon, and each undefined cut, along with +any leftover parts after cutting, are output as a separate Polygon. If no cuts are returned then the array will be +empty. An undefined cut will only be produced if a left cut or right cut was produced and there was a part left +over after cutting, or a cut is bounded to the left and right of the cutter. + +```csharp +public System.Threading.Tasks.Task Cut(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine cutter); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to be cut. + + + +`cutter` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') + +The polyline to cut the geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns an array of geometries created by cutting the input geometry with the cutter. + + + +## GeometryEngine.Densify(Geometry, double, Nullable) Method + +Densify geometries by plotting points between existing vertices. + +```csharp +public System.Threading.Tasks.Task Densify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxSegmentLength, System.Nullable maxSegmentLengthUnit=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to be densified. + + + +`maxSegmentLength` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The maximum segment length allowed. Must be a positive value. + + + +`maxSegmentLengthUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit for maxSegmentLength. Defaults to the units of the input geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The densified geometry. + + + +## GeometryEngine.Difference(Geometry, Geometry) Method + +Creates the difference of two geometries. The resultant geometry is the portion of inputGeometry not in the +subtractor. The dimension of the subtractor has to be equal to or greater than that of the inputGeometry. + +```csharp +public System.Threading.Tasks.Task Difference(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry subtractor); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The input geometry to subtract from. + + + +`subtractor` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry being subtracted from inputGeometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns the geometry of inputGeometry minus the subtractor geometry. + + + +## GeometryEngine.Difference(IEnumerable, Geometry) Method + +Creates the difference of two geometries. The resultant geometry is the portion of inputGeometry not in the +subtractor. The dimension of the subtractor has to be equal to or greater than that of the inputGeometry. + +```csharp +public System.Threading.Tasks.Task Difference(System.Collections.Generic.IEnumerable geometries, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry subtractor); +``` +#### Parameters + + + +`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The input geometries to subtract from. + + + +`subtractor` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry being subtracted from inputGeometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns the geometry of inputGeometry minus the subtractor geometry. + + + +## GeometryEngine.Disjoint(Geometry, Geometry) Method + +Indicates if one geometry is disjoint (doesn't intersect in any way) with another geometry. + +```csharp +public System.Threading.Tasks.Task Disjoint(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); +``` +#### Parameters + + + +`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The base geometry that is tested for the "disjoint" relationship to the other geometry. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The comparison geometry that is tested for the "disjoint" relationship to the other geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if geometry1 and geometry2 are disjoint (don't intersect in any way). + + + +## GeometryEngine.Distance(Geometry, Geometry, Nullable) Method + +Calculates the shortest planar distance between two geometries. Distance is reported in the linear units specified +by distanceUnit or, if distanceUnit is null, the units of the spatialReference of input geometry. + +```csharp +public System.Threading.Tasks.Task Distance(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Nullable distanceUnit=null); +``` +#### Parameters + + + +`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +First input geometry. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +Second input geometry. + + + +`distanceUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the return value. Defaults to the units of the input geometries. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Distance between the two input geometries. + + + +## GeometryEngine.Expand(Extent, double) Method + +Expands the extent by the given factor. For example, a value of 1.5 will expand the extent to be 50 percent larger than the original extent. + +```csharp +public System.Threading.Tasks.Task Expand(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, double factor); +``` +#### Parameters + + + +`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') + +The input extent. + + + +`factor` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The factor by which to expand the extent. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The expanded extent. + + + +## GeometryEngine.ExtendedSpatialReferenceInfo(SpatialReference) Method + +Returns an object containing additional information about the input spatial reference. + +```csharp +public System.Threading.Tasks.Task ExtendedSpatialReferenceInfo(dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference spatialReference); +``` +#### Parameters + + + +`spatialReference` [SpatialReference](dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference.html 'dymaptic.GeoBlazor.Core.Components.Geometries.SpatialReference') + +The input spatial reference. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[SpatialReferenceInfo](dymaptic.GeoBlazor.Core.Objects.SpatialReferenceInfo.html 'dymaptic.GeoBlazor.Core.Objects.SpatialReferenceInfo')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Resolves to a [SpatialReferenceInfo](dymaptic.GeoBlazor.Core.Objects.SpatialReferenceInfo.html 'dymaptic.GeoBlazor.Core.Objects.SpatialReferenceInfo') object. + + + +## GeometryEngine.FlipHorizontal(Geometry, Point) Method + +Flips a geometry on the horizontal axis. Can optionally be flipped around a point. + +```csharp +public System.Threading.Tasks.Task FlipHorizontal(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point? flipOrigin=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The input geometry to be flipped. + + + +`flipOrigin` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +Point to flip the geometry around. Defaults to the centroid of the geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The flipped geometry. + + + +## GeometryEngine.FlipVertical(Geometry, Point) Method + +Flips a geometry on the vertical axis. Can optionally be flipped around a point. + +```csharp +public System.Threading.Tasks.Task FlipVertical(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point? flipOrigin=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The input geometry to be flipped. + + + +`flipOrigin` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +Point to flip the geometry around. Defaults to the centroid of the geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The flipped geometry. + + + +## GeometryEngine.FromArcGisJson(string) Method + +Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function. + +```csharp +public System.Threading.Tasks.Task FromArcGisJson(string json) + where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry; +``` +#### Type parameters + + + +`T` +#### Parameters + + + +`json` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.FromArcGisJson_T_(string).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.FromArcGisJson(string).T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a new geometry instance. + + + +## GeometryEngine.Generalize(Geometry, double, Nullable, Nullable) Method + +Performs the generalize operation on the geometries in the cursor. Point and Multipoint geometries are left +unchanged. Envelope is converted to a Polygon and then generalized. + +```csharp +public System.Threading.Tasks.Task Generalize(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxDeviation, System.Nullable removeDegenerateParts=null, System.Nullable maxDeviationUnit=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The input geometry to be generalized. + + + +`maxDeviation` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The maximum allowed deviation from the generalized geometry to the original geometry. + + + +`removeDegenerateParts` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +When true the degenerate parts of the geometry will be removed from the output (may be undesired for drawing). + + + +`maxDeviationUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit for maxDeviation. Defaults to the units of the input geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The generalized geometry. + + + +## GeometryEngine.GeodesicArea(Polygon, Nullable) Method + +Calculates the area of the input geometry. As opposed to planarArea(), geodesicArea takes into account the +curvature of the earth when performing this calculation. Therefore, when using input geometries with a spatial +reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate areas using +geodesicArea(). If the input geometries have a projected coordinate system other than Web Mercator, use +planarArea() instead. + +```csharp +public System.Threading.Tasks.Task GeodesicArea(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon geometry, System.Nullable unit=null); +``` +#### Parameters + + + +`geometry` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The input polygon + + + +`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[ArealUnit](dymaptic.GeoBlazor.Core.Objects.ArealUnit.html 'dymaptic.GeoBlazor.Core.Objects.ArealUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the return value. Defaults to the units of the input geometries. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Area of the input geometry. + +### Remarks +This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. + + + +## GeometryEngine.GeodesicBuffer(Geometry, double, Nullable) Method + +Creates geodesic buffer polygons at a specified distance around the input geometries. When calculating distances, +this method takes the curvature of the earth into account, which provides highly accurate results when dealing with +very large geometries and/or geometries that spatially vary on a global scale where one projected coordinate system +could not accurately plot coordinates and measure distances for all the geometries. + +```csharp +public System.Threading.Tasks.Task GeodesicBuffer(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double distance, System.Nullable unit=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The buffer input geometru + + + +`distance` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The specified distance for buffering. + + + +`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the distance. Defaults to the units of the input geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The resulting buffers + +### Remarks +This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. In general, if your input +geometries are assigned one of those two spatial references, you should always use geodesicBuffer() to obtain the +most accurate results for those geometries. If needing to buffer points assigned a projected coordinate system +other than Web Mercator, use buffer() instead. If the input geometries have a geographic coordinate system other +than WGS84 (wkid: 4326), use geometryService.buffer(). + + + +## GeometryEngine.GeodesicBuffer(IEnumerable, IEnumerable, Nullable, Nullable) Method + +Creates geodesic buffer polygons at a specified distance around the input geometries. When calculating distances, +this method takes the curvature of the earth into account, which provides highly accurate results when dealing with +very large geometries and/or geometries that spatially vary on a global scale where one projected coordinate system +could not accurately plot coordinates and measure distances for all the geometries. + +```csharp +public System.Threading.Tasks.Task GeodesicBuffer(System.Collections.Generic.IEnumerable geometries, System.Collections.Generic.IEnumerable distances, System.Nullable unit=null, System.Nullable unionResults=null); +``` +#### Parameters + + + +`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The buffer input geometries + + + +`distances` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the +distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one +distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of +three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The +value of the geometry array will be matched one to one with those in the distance array until the final value of +the distance array is reached, in which case that value will be applied to the remaining geometries. + + + +`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the distance(s). Defaults to the units of the input geometries. + + + +`unionResults` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Determines whether the output geometries should be unioned into a single polygon. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The resulting buffers + +### Remarks +This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. In general, if your input +geometries are assigned one of those two spatial references, you should always use geodesicBuffer() to obtain the +most accurate results for those geometries. If needing to buffer points assigned a projected coordinate system +other than Web Mercator, use buffer() instead. If the input geometries have a geographic coordinate system other +than WGS84 (wkid: 4326), use geometryService.buffer(). + + + +## GeometryEngine.GeodesicDensify(Geometry, double, Nullable) Method + +Returns a geodesically densified version of the input geometry. Use this function to draw the line(s) of the +geometry along great circles. + +```csharp +public System.Threading.Tasks.Task GeodesicDensify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxSegmentLength, System.Nullable maxSegmentLengthUnit=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +A polyline or polygon to densify. + + + +`maxSegmentLength` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The maximum segment length allowed (in meters if a maxSegmentLengthUnit is not provided). This must be a positive +value. + + + +`maxSegmentLengthUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit for maxSegmentLength. If not provided, the unit will default to meters. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns the densified geometry. + + + +## GeometryEngine.GeodesicLength(Geometry, Nullable) Method + +Calculates the length of the input geometry. As opposed to planarLength(), geodesicLength() takes into account the +curvature of the earth when performing this calculation. Therefore, when using input geometries with a spatial +reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate lengths using +geodesicLength(). If the input geometries have a projected coordinate system other than Web Mercator, use +planarLength() instead. + +```csharp +public System.Threading.Tasks.Task GeodesicLength(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Nullable unit=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The input geometry. + + + +`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the return value. Defaults to the units of the input geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Length of the input geometry. + +### Remarks +This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. + + + +## GeometryEngine.GetPoint(Polygon, int, int) Method + +Returns a point specified by a ring and point in the ring. + +```csharp +public System.Threading.Tasks.Task GetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex); +``` +#### Parameters + + + +`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The polygon to get the point from. + + + +`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the ring containing the desired point. + + + +`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the desired point within the ring. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns the point at the specified ring index and point index. + + + +## GeometryEngine.GetPoint(PolyLine, int, int) Method + +Returns a point specified by a path and point in the path. + +```csharp +public System.Threading.Tasks.Task GetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex); +``` +#### Parameters + + + +`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') + +The polyline to get the point from. + + + +`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the path in the polyline. + + + +`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the point in the path. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns the point along the Polyline located in the given path and point indices. + + + +## GeometryEngine.InsertPoint(Polygon, int, int, Point) Method + +Inserts a new point into the polygon. + +```csharp +public System.Threading.Tasks.Task InsertPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); +``` +#### Parameters + + + +`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The polygon to insert the point into. + + + +`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the ring in which to insert the point. + + + +`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the point to insert within the ring. + + + +`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The point to insert into the polygon. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a new polygon with the inserted point. + + + +## GeometryEngine.InsertPoint(PolyLine, int, int, Point) Method + +Inserts a new point into a polyline and returns the modified line. + +```csharp +public System.Threading.Tasks.Task InsertPoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); +``` +#### Parameters + + + +`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') + +The polyline to insert the point into. + + + +`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the path in which to insert a point. + + + +`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the inserted point in the path. + + + +`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The point to insert into the polyline. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a new polyline with the inserted point. + + + +## GeometryEngine.Intersect(Geometry, Geometry) Method + +Creates new geometries from the intersections between two geometries. If the input geometries have different +dimensions (i.e. point = 0; polyline = 1; polygon = 2), then the result's dimension will be equal to the lowest +dimension of the inputs. + +```csharp +public System.Threading.Tasks.Task Intersect(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); +``` +#### Parameters + + + +`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The input geometry. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to intersect with geometry1. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The intersections of the geometries. + + + +## GeometryEngine.Intersect(IEnumerable, Geometry) Method + +Creates new geometries from the intersections between two geometries. If the input geometries have different +dimensions (i.e. point = 0; polyline = 1; polygon = 2), then the result's dimension will be equal to the lowest +dimension of the inputs. The table below describes the expected output for various combinations of geometry types. + +```csharp +public System.Threading.Tasks.Task Intersect(System.Collections.Generic.IEnumerable geometries1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); +``` +#### Parameters + + + +`geometries1` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The input array of geometries. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to intersect with geometries1. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The intersections of the geometries. + + + +## GeometryEngine.Intersects(Geometry, Geometry) Method + +Indicates if one geometry intersects another geometry. + +```csharp +public System.Threading.Tasks.Task Intersects(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); +``` +#### Parameters + + + +`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry that is tested for the intersects relationship to the other geometry. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry being intersected. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if the input geometries intersect each other. + + + +## GeometryEngine.IsClockwise(Polygon, Point[]) Method + +Checks if a Polygon ring is clockwise + +```csharp +public System.Threading.Tasks.Task IsClockwise(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] ring); +``` +#### Parameters + + + +`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The polygon to check the ring on. + + + +`ring` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') + +A polygon ring defined as an array of [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')s. The first and last coordinates/points in the ring must be the same. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if the ring is clockwise and false for counterclockwise. + + + +## GeometryEngine.IsClockwise(Polygon, MapPath) Method + +Checks if a Polygon ring is clockwise + +```csharp +public System.Threading.Tasks.Task IsClockwise(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Objects.MapPath ring); +``` +#### Parameters + + + +`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The polygon to check the ring on. + + + +`ring` [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath') + +A polygon ring defined as a [MapPath](dymaptic.GeoBlazor.Core.Objects.MapPath.html 'dymaptic.GeoBlazor.Core.Objects.MapPath'). The first and last coordinates/points in the ring must be the same. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if the ring is clockwise and false for counterclockwise. + + + +## GeometryEngine.IsSimple(Geometry) Method + +Indicates if the given geometry is topologically simple. In a simplified geometry, no polygon rings or polyline +paths will overlap, and no self-intersection will occur. + +```csharp +public System.Threading.Tasks.Task IsSimple(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The input geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if the geometry is topologically simple. + + + +## GeometryEngine.NearestCoordinate(Geometry, Point) Method + +Finds the coordinate of the geometry that is closest to the specified point. + +```csharp +public System.Threading.Tasks.Task NearestCoordinate(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point inputPoint); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to consider. + + + +`inputPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The point used to search the nearest coordinate in the geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[NearestPointResult](dymaptic.GeoBlazor.Core.Objects.NearestPointResult.html 'dymaptic.GeoBlazor.Core.Objects.NearestPointResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns an object containing the nearest coordinate. + + + +## GeometryEngine.NearestVertex(Geometry, Point) Method + +Finds the vertex on the geometry nearest to the specified point. + +```csharp +public System.Threading.Tasks.Task NearestVertex(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point inputPoint); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to consider. + + + +`inputPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The point used to search the nearest vertex in the geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[NearestPointResult](dymaptic.GeoBlazor.Core.Objects.NearestPointResult.html 'dymaptic.GeoBlazor.Core.Objects.NearestPointResult')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns an object containing the nearest vertex. + + + +## GeometryEngine.NearestVertices(Geometry, Point, double, int) Method + +Finds all vertices in the given distance from the specified point, sorted from the closest to the furthest and +returns them as an array of Objects. + +```csharp +public System.Threading.Tasks.Task NearestVertices(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point inputPoint, double searchRadius, int maxVertexCountToReturn); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to consider. + + + +`inputPoint` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The point from which to measure. + + + +`searchRadius` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The distance to search from the inputPoint in the units of the view's spatial reference. + + + +`maxVertexCountToReturn` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The maximum number of vertices to return. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[NearestPointResult](dymaptic.GeoBlazor.Core.Objects.NearestPointResult.html 'dymaptic.GeoBlazor.Core.Objects.NearestPointResult')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +An array of objects containing the nearest vertices within the given searchRadius. + + + +## GeometryEngine.NormalizeExtent(Extent) Method + +Returns an array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline. + +```csharp +public System.Threading.Tasks.Task NormalizeExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); +``` +#### Parameters + + + +`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') + +The input extent. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +An array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline. + + + +## GeometryEngine.NormalizePoint(Point) Method + +Modifies the point geometry in-place by shifting the X-coordinate to within +/- 180 span in map units. + +```csharp +public System.Threading.Tasks.Task NormalizePoint(dymaptic.GeoBlazor.Core.Components.Geometries.Point point); +``` +#### Parameters + + + +`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The input point. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a point with a normalized x-value. + + + +## GeometryEngine.Offset(Geometry, double, Nullable, Nullable, Nullable, Nullable) Method + +The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is +similar to buffering, but produces a one-sided result. + +```csharp +public System.Threading.Tasks.Task Offset(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double offsetDistance, System.Nullable offsetUnit=null, System.Nullable joinType=null, System.Nullable bevelRatio=null, System.Nullable flattenError=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to offset. + + + +`offsetDistance` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The planar distance to offset from the input geometry. If offsetDistance > 0, then the offset geometry is +constructed to the right of the oriented input geometry, if offsetDistance = 0, then there is no change in the +geometries, otherwise it is constructed to the left. For a simple polygon, the orientation of outer rings is +clockwise and for inner rings it is counter clockwise. So the "right side" of a simple polygon is always its +inside. + + + +`offsetUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the offset distance. Defaults to the units of the input geometries. + + + +`joinType` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[JoinType](dymaptic.GeoBlazor.Core.Model.JoinType.html 'dymaptic.GeoBlazor.Core.Model.JoinType')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +The [JoinType](dymaptic.GeoBlazor.Core.Model.JoinType.html 'dymaptic.GeoBlazor.Core.Model.JoinType') + + + +`bevelRatio` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Applicable when joinType = 'miter'; bevelRatio is multiplied by the offset distance and the result determines how +far a mitered offset intersection can be located before it is beveled. + + + +`flattenError` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Applicable when joinType = 'round'; flattenError determines the maximum distance of the resulting segments compared +to the true circular arc. The algorithm never produces more than around 180 vertices for each round join. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The offset geometry. + + + +## GeometryEngine.Offset(IEnumerable, double, Nullable, Nullable, Nullable, Nullable) Method + +The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is +similar to buffering, but produces a one-sided result. + +```csharp +public System.Threading.Tasks.Task Offset(System.Collections.Generic.IEnumerable geometries, double offsetDistance, System.Nullable offsetUnit=null, System.Nullable joinType=null, System.Nullable bevelRatio=null, System.Nullable flattenError=null); +``` +#### Parameters + + + +`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +The geometries to offset. + + + +`offsetDistance` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The planar distance to offset from the input geometry. If offsetDistance > 0, then the offset geometry is +constructed to the right of the oriented input geometry, if offsetDistance = 0, then there is no change in the +geometries, otherwise it is constructed to the left. For a simple polygon, the orientation of outer rings is +clockwise and for inner rings it is counter clockwise. So the "right side" of a simple polygon is always its +inside. + + + +`offsetUnit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the offset distance. Defaults to the units of the input geometries. + + + +`joinType` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[JoinType](dymaptic.GeoBlazor.Core.Model.JoinType.html 'dymaptic.GeoBlazor.Core.Model.JoinType')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +The [JoinType](dymaptic.GeoBlazor.Core.Model.JoinType.html 'dymaptic.GeoBlazor.Core.Model.JoinType') + + + +`bevelRatio` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Applicable when joinType = 'miter'; bevelRatio is multiplied by the offset distance and the result determines how +far a mitered offset intersection can be located before it is beveled. + + + +`flattenError` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Applicable when joinType = 'round'; flattenError determines the maximum distance of the resulting segments compared +to the true circular arc. The algorithm never produces more than around 180 vertices for each round join. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The offset geometries. + + + +## GeometryEngine.OffsetExtent(Extent, double, double, double) Method + +Modifies the extent geometry in-place with X and Y offsets in map units. + +```csharp +public System.Threading.Tasks.Task OffsetExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, double dx, double dy, double dz=0.0); +``` +#### Parameters + + + +`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') + +The input extent. + + + +`dx` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The offset distance in map units for the X-coordinate. + + + +`dy` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The offset distance in map units for the Y-coordinate. + + + +`dz` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The offset distance in map units for the Z-coordinate. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') + + + +## GeometryEngine.Overlaps(Geometry, Geometry) Method + +Indicates if one geometry overlaps another geometry. + +```csharp +public System.Threading.Tasks.Task Overlaps(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); +``` +#### Parameters + + + +`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The base geometry that is tested for the "overlaps" relationship with the other geometry. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The comparison geometry that is tested for the "overlaps" relationship with the other geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if the two geometries overlap. + + + +## GeometryEngine.PlanarArea(Polygon, Nullable) Method + +Calculates the area of the input geometry. As opposed to geodesicArea(), planarArea() performs this calculation +using projected coordinates and does not take into account the earth's curvature. When using input geometries with +a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate areas using +geodesicArea(). If the input geometries have a projected coordinate system other than Web Mercator, use +planarArea() instead. + +```csharp +public System.Threading.Tasks.Task PlanarArea(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon geometry, System.Nullable unit=null); +``` +#### Parameters + + + +`geometry` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The input polygon. + + + +`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[ArealUnit](dymaptic.GeoBlazor.Core.Objects.ArealUnit.html 'dymaptic.GeoBlazor.Core.Objects.ArealUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the return value. Defaults to the units of the input geometries. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The area of the input geometry. + + + +## GeometryEngine.PlanarLength(Geometry, Nullable) Method + +Calculates the length of the input geometry. As opposed to geodesicLength(), planarLength() uses projected +coordinates and does not take into account the curvature of the earth when performing this calculation. When using +input geometries with a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to +calculate lengths using geodesicLength(). If the input geometries have a projected coordinate system other than Web +Mercator, use planarLength() instead. + +```csharp +public System.Threading.Tasks.Task PlanarLength(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Nullable unit=null); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The input geometry. + + + +`unit` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[LinearUnit](dymaptic.GeoBlazor.Core.Objects.LinearUnit.html 'dymaptic.GeoBlazor.Core.Objects.LinearUnit')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1') + +Measurement unit of the return value. Defaults to the units of the input geometries. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The length of the input geometry. + + + +## GeometryEngine.PolygonFromExtent(Extent) Method + +Converts the given Extent to a Polygon instance. This is useful for scenarios in which you would like to display an area of interest, which is typically defined by an Extent or bounding box, as a polygon with a fill symbol in the view. Some geoprocessing tools require input geometries to be of a Polygon type and not an Extent. + +```csharp +public System.Threading.Tasks.Task PolygonFromExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent); +``` +#### Parameters + + + +`extent` [Extent](dymaptic.GeoBlazor.Core.Components.Geometries.Extent.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Extent') + +An extent object to convert to a polygon. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +A polygon instance representing the given extent. + + + +## GeometryEngine.Relate(Geometry, Geometry, string) Method + +Indicates if the given DE-9IM relation is true for the two geometries. + +```csharp +public System.Threading.Tasks.Task Relate(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, string relation); +``` +#### Parameters + + + +`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The first geometry for the relation. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The second geometry for the relation. + + + +`relation` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The Dimensionally Extended 9 Intersection Model (DE-9IM) matrix relation (encoded as a string) to test against the +relationship of the two geometries. This string contains the test result of each intersection represented in the +DE-9IM matrix. Each result is one character of the string and may be represented as either a number (maximum +dimension returned: 0,1,2), a Boolean value (T or F), or a mask character (for ignoring results: '*'). For example, +each of the following DE-9IM string codes are valid for testing whether a polygon geometry completely contains a +line geometry: TTTFFTFFT (Boolean), 'T******FF*' (ignore irrelevant intersections), or '102FF*FF*' (dimension +form). Each returns the same result. See +this article and + + this + ArcGIS help page + +for more information about the DE-9IM model and how string codes are constructed. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if the relation of the input geometries is accurate. + + + +## GeometryEngine.RemovePath(PolyLine, int) Method + +Removes a path from the Polyline. The index specifies which path to remove. + +```csharp +public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine PolyLine,dymaptic.GeoBlazor.Core.Components.Geometries.Point[] Path)> RemovePath(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int index); +``` +#### Parameters + + + +`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') + +The polyline to remove the path from. + + + +`index` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the path to remove. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns an object with the modified polyline and the removed path. + + + +## GeometryEngine.RemovePoint(Polygon, int, int) Method + +Removes a point from the polygon at the given pointIndex within the ring identified by the given ringIndex. + +```csharp +public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon Polygon,dymaptic.GeoBlazor.Core.Components.Geometries.Point Point)> RemovePoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex); +``` +#### Parameters + + + +`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The polyline to remove the point from. + + + +`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the ring containing the point to remove. + + + +`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the point to remove within the ring. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns an object with the modified polygon and the removed point. + + + +## GeometryEngine.RemovePoint(PolyLine, int, int) Method + +Removes a point from the polyline at the given pointIndex within the path identified by the given pathIndex. + +```csharp +public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine PolyLine,dymaptic.GeoBlazor.Core.Components.Geometries.Point Point)> RemovePoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex); +``` +#### Parameters + + + +`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') + +The polyline to remove the point from. + + + +`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the path in which to remove a point. + + + +`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the point in the path to remove. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns an object with the modified polyline and the removed point. + + + +## GeometryEngine.RemoveRing(Polygon, int) Method + +Removes a ring from the Polygon. The index specifies which ring to remove. + +```csharp +public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon Polygon,dymaptic.GeoBlazor.Core.Components.Geometries.Point[] Ring)> RemoveRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int index); +``` +#### Parameters + + + +`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The polygon to remove the ring from. + + + +`index` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the ring to remove. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[<](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[,](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple 'System.ValueTuple')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns an object with the modified polygon and the removed ring. + + + +## GeometryEngine.Rotate(Geometry, double, Point) Method + +Rotates a geometry counterclockwise by the specified number of degrees. Rotation is around the centroid, or a given +rotation point. + +```csharp +public System.Threading.Tasks.Task Rotate(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double angle, dymaptic.GeoBlazor.Core.Components.Geometries.Point rotationOrigin); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to rotate. + + + +`angle` [System.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System.Double') + +The rotation angle in degrees. + + + +`rotationOrigin` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +Point to rotate the geometry around. Defaults to the centroid of the geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The rotated geometry. + + + +## GeometryEngine.SetPoint(Polygon, int, int, Point) Method + +Updates a point in a polygon and returns the modified polygon. + +```csharp +public System.Threading.Tasks.Task SetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); +``` +#### Parameters + + + +`polygon` [Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon') + +The polygon to update the point in. + + + +`ringIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the ring containing the point to update. + + + +`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the point to update within the ring. + + + +`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The new point to update the polygon with. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Polygon](dymaptic.GeoBlazor.Core.Components.Geometries.Polygon.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Polygon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a new polygon with the updated point. + + + +## GeometryEngine.SetPoint(PolyLine, int, int, Point) Method + +Updates a point in a polyline and returns the modified polyline. + +```csharp +public System.Threading.Tasks.Task SetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine polyLine, int pathIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point); +``` +#### Parameters + + + +`polyLine` [PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine') + +The polyline to update the point in. + + + +`pathIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the path in which to update a point. + + + +`pointIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The index of the point in the path to update. + + + +`point` [Point](dymaptic.GeoBlazor.Core.Components.Geometries.Point.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Point') + +The new point to update the polyline with. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[PolyLine](dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine.html 'dymaptic.GeoBlazor.Core.Components.Geometries.PolyLine')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns a new polyline with the updated point. + + + +## GeometryEngine.Simplify(Geometry) Method + +Performs the simplify operation on the geometry, which alters the given geometries to make their definitions +topologically legal with respect to their geometry type. At the end of a simplify operation, no polygon rings or +polyline paths will overlap, and no self-intersection will occur. + +```csharp +public System.Threading.Tasks.Task Simplify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry); +``` +#### Parameters + + + +`geometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to be simplified. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The simplified geometry. + + + +## GeometryEngine.SymmetricDifference(Geometry, Geometry) Method + +Creates the symmetric difference of two geometries. The symmetric difference includes the parts that are in either +of the sets, but not in both. + +```csharp +public System.Threading.Tasks.Task SymmetricDifference(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry leftGeometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry rightGeometry); +``` +#### Parameters + + + +`leftGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +One of the Geometry instances in the XOR operation. + + + +`rightGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +One of the Geometry instances in the XOR operation. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The symmetric differences of the two geometries. + + + +## GeometryEngine.SymmetricDifference(IEnumerable, Geometry) Method + +Creates the symmetric difference of two geometries. The symmetric difference includes the parts that are in either +of the sets, but not in both. + +```csharp +public System.Threading.Tasks.Task SymmetricDifference(System.Collections.Generic.IEnumerable leftGeometries, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry rightGeometry); +``` +#### Parameters + + + +`leftGeometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +One of the Geometry instances in the XOR operation. + + + +`rightGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +One of the Geometry instances in the XOR operation. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The symmetric differences of the two geometries. + + + +## GeometryEngine.ToArcGisJson(T) Method + +Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information. + +```csharp +public System.Threading.Tasks.Task ToArcGisJson(T geometry) + where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry; +``` +#### Type parameters + + + +`T` +#### Parameters + + + +`geometry` [T](dymaptic.GeoBlazor.Core.Model.GeometryEngine.html#dymaptic.GeoBlazor.Core.Model.GeometryEngine.ToArcGisJson_T_(T).T 'dymaptic.GeoBlazor.Core.Model.GeometryEngine.ToArcGisJson(T).T') + +The geometry to convert. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The ArcGIS portal JSON representation of an instance of this class. + + + +## GeometryEngine.Touches(Geometry, Geometry) Method + +Indicates if one geometry touches another geometry. + +```csharp +public System.Threading.Tasks.Task Touches(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2); +``` +#### Parameters + + + +`geometry1` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to test the "touches" relationship with the other geometry. + + + +`geometry2` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The geometry to be touched. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +When true, geometry1 touches geometry2. + + + +## GeometryEngine.Union(Geometry[]) Method + +All inputs must be of the same type of geometries and share one spatial reference. + +```csharp +public System.Threading.Tasks.Task Union(params dymaptic.GeoBlazor.Core.Components.Geometries.Geometry[] geometries); +``` +#### Parameters + + + +`geometries` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[[]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System.Array') + +An array of Geometries to union. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The union of the geometries + + + +## GeometryEngine.Union(IEnumerable) Method + +All inputs must be of the same type of geometries and share one spatial reference. + +```csharp +public System.Threading.Tasks.Task Union(System.Collections.Generic.IEnumerable geometries); +``` +#### Parameters + + + +`geometries` [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') + +An array of Geometries to union. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +The union of the geometries + + + +## GeometryEngine.Within(Geometry, Geometry) Method + +Indicates if one geometry is within another geometry. + +```csharp +public System.Threading.Tasks.Task Within(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry innerGeometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry outerGeometry); +``` +#### Parameters + + + +`innerGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The base geometry that is tested for the "within" relationship to the other geometry. + + + +`outerGeometry` [Geometry](dymaptic.GeoBlazor.Core.Components.Geometries.Geometry.html 'dymaptic.GeoBlazor.Core.Components.Geometries.Geometry') + +The comparison geometry that is tested for the "contains" relationship to the other geometry. + +#### Returns +[System.Threading.Tasks.Task<](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1')[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task-1 'System.Threading.Tasks.Task`1') +Returns true if innerGeometry is within outerGeometry. diff --git a/docs/pages/classes/dymaptic.GeoBlazor.Core.Objects.AttributesDictionary.md b/docs/pages/classes/dymaptic.GeoBlazor.Core.Objects.AttributesDictionary.md index 118f88a0..abea903a 100644 --- a/docs/pages/classes/dymaptic.GeoBlazor.Core.Objects.AttributesDictionary.md +++ b/docs/pages/classes/dymaptic.GeoBlazor.Core.Objects.AttributesDictionary.md @@ -81,20 +81,20 @@ public System.Collections.Generic.Dictionary.KeyCollection Keys { Event that is fired when an attribute is added, updated or removed ```csharp -public Microsoft.AspNetCore.Components.EventCallback OnChange { get; set; } +public System.Func? OnChange { get; set; } ``` #### Property Value -[Microsoft.AspNetCore.Components.EventCallback](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.AspNetCore.Components.EventCallback 'Microsoft.AspNetCore.Components.EventCallback') +[System.Func<](https://docs.microsoft.com/en-us/dotnet/api/System.Func-1 'System.Func`1')[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Func-1 'System.Func`1') ## AttributesDictionary.this[string] Property -Gets or the value associated with the specified key. +Gets or sets the value associated with the specified key. ```csharp -public object this[string key] { get; } +public object this[string key] { get; set; } ``` #### Parameters @@ -107,6 +107,9 @@ The key to get the value for #### Property Value [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') +### Remarks +Setter is obsolete and potentially unstable due to calling async from sync code. + ## AttributesDictionary.Values Property @@ -147,6 +150,26 @@ The value to add or update #### Returns [System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + + +## AttributesDictionary.AddOrUpdate(Dictionary) Method + +Updates the AttributesDictionary with new key/value pairs from a [System.Collections.Generic.Dictionary<>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2') + +```csharp +public System.Threading.Tasks.Task AddOrUpdate(System.Collections.Generic.Dictionary newEntries); +``` +#### Parameters + + + +`newEntries` [System.Collections.Generic.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2')[System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2') + +The new key/value pairs to add or update + +#### Returns +[System.Threading.Tasks.Task](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Tasks.Task 'System.Threading.Tasks.Task') + ## AttributesDictionary.Clear() Method diff --git a/samples/dymaptic.GeoBlazor.Core.Sample.Shared/Pages/Scene.razor b/samples/dymaptic.GeoBlazor.Core.Sample.Shared/Pages/Scene.razor index 15fc6b41..49d637c8 100644 --- a/samples/dymaptic.GeoBlazor.Core.Sample.Shared/Pages/Scene.razor +++ b/samples/dymaptic.GeoBlazor.Core.Sample.Shared/Pages/Scene.razor @@ -45,9 +45,9 @@ new TestObject("T1", "Test Object", 42, DateTime.UtcNow, false) + ZIndex="2000" Tilt="76" OnMapRendered="OnMapRendered"> - + @@ -63,26 +63,19 @@ @code { - private readonly double _latitude = 33.95; - private readonly double _longitude = -118.805; - - private readonly MapPath _mapRings = new(new MapPoint(-118.818984489994, 34.0137559967283), - new MapPoint(-118.806796597377, 34.0215816298725), - new MapPoint(-118.791432890735, 34.0163883241613), - new MapPoint(-118.79596686535, 34.008564864635), - new MapPoint(-118.808558110679, 34.0035027131376)); - private readonly Dictionary _graphicAttributes = new() + private async Task OnMapRendered() { - { "Name", "This is a Title" }, - { "Description", "And a Description" }, - { "Number", 1 }, - { "Date", DateTime.Now }, - { "Boolean", true }, - { "Object", new TestObject("T1", "Test Object", 42, DateTime.UtcNow, false) } - }; - - private Graphic? _polygonGraphic; - + if (_cSharpGraphic is null) + { + _cSharpGraphic = new Graphic(new Point(-118.83, 34.027), + new SimpleMarkerSymbol(color: new MapColor("green")), + new PopupTemplate("{Name}", + "{Description}
Number: {Number}
{Date}: {Date}
Bool: {Boolean}
Object: {Object}"), + _graphicAttributes); + await _graphicsLayer!.Add(_cSharpGraphic); + } + } + private async Task UpdateAttribute(ChangeEventArgs arg, string attributeName) { if (attributeName == "Date") @@ -92,6 +85,7 @@ var currentDate = (DateTime)_graphicAttributes["Date"]; var dt = new DateTime(newDate.Year, newDate.Month, newDate.Day, currentDate.Hour, currentDate.Minute, 0); await _polygonGraphic!.Attributes.AddOrUpdate(attributeName, dt); + await _cSharpGraphic!.Attributes.AddOrUpdate(attributeName, dt); } } else if (attributeName == "Time") @@ -101,13 +95,36 @@ var currentDate = (DateTime)_graphicAttributes["Date"]; var dt = new DateTime(currentDate.Year, currentDate.Month, currentDate.Day, newDate.Hour, newDate.Minute, 0); await _polygonGraphic!.Attributes.AddOrUpdate("Date", dt); + await _cSharpGraphic!.Attributes.AddOrUpdate("Date", dt); } } else { await _polygonGraphic!.Attributes.AddOrUpdate(attributeName, arg.Value!); + await _cSharpGraphic!.Attributes.AddOrUpdate(attributeName, arg.Value!); } } + + private readonly double _latitude = 33.95; + private readonly double _longitude = -118.805; + private readonly MapPath _mapRings = new(new MapPoint(-118.818984489994, 34.0137559967283), + new MapPoint(-118.806796597377, 34.0215816298725), + new MapPoint(-118.791432890735, 34.0163883241613), + new MapPoint(-118.79596686535, 34.008564864635), + new MapPoint(-118.808558110679, 34.0035027131376)); + private readonly Dictionary _graphicAttributes = new() + { + { "Name", "This is a Title" }, + { "Description", "And a Description" }, + { "Number", 1 }, + { "Date", DateTime.Now }, + { "Boolean", true }, + { "Object", new TestObject("T1", "Test Object", 42, DateTime.UtcNow, false) } + }; + + private Graphic? _polygonGraphic; + private Graphic? _cSharpGraphic; + private GraphicsLayer? _graphicsLayer; private record TestObject(string Name, string Description, int Number, DateTime Date, bool Boolean); } \ No newline at end of file diff --git a/src/dymaptic.GeoBlazor.Core/Components/Layers/Graphic.cs b/src/dymaptic.GeoBlazor.Core/Components/Layers/Graphic.cs index 5c3093ea..73c1b92f 100644 --- a/src/dymaptic.GeoBlazor.Core/Components/Layers/Graphic.cs +++ b/src/dymaptic.GeoBlazor.Core/Components/Layers/Graphic.cs @@ -58,7 +58,7 @@ public Graphic(Geometry? geometry = null, Symbol? symbol = null, PopupTemplate? Attributes = attributes; } #pragma warning restore BL0005 - Attributes.OnChange = EventCallback.Factory.Create(this, OnAttributesChanged); + Attributes.OnChange = OnAttributesChanged; ToSerializationRecord(); } @@ -81,6 +81,10 @@ public Graphic(Geometry? geometry = null, Symbol? symbol = null, PopupTemplate? /// /// Name-value pairs of fields and field values associated with the graphic. /// + /// + /// This collection should only be set via the constructor or as a markup parameter/attribute. To add or remove + /// members, use the methods defined in + /// [Parameter] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public AttributesDictionary Attributes { get; set; } = new(); @@ -316,11 +320,8 @@ public override async Task SetParametersAsync(ParameterView parameters) _updateAttributes = true; } - - if (!Attributes.OnChange.HasDelegate) - { - Attributes.OnChange = EventCallback.Factory.Create(this, OnAttributesChanged); - } + + Attributes.OnChange ??= OnAttributesChanged; } } } diff --git a/src/dymaptic.GeoBlazor.Core/Model/LogicComponent.cs b/src/dymaptic.GeoBlazor.Core/Model/LogicComponent.cs index a914bb9f..637d7672 100644 --- a/src/dymaptic.GeoBlazor.Core/Model/LogicComponent.cs +++ b/src/dymaptic.GeoBlazor.Core/Model/LogicComponent.cs @@ -75,10 +75,13 @@ public void OnJavascriptError(JavascriptError error) { var exception = new JavascriptException(error); +#pragma warning disable CS0618 if (OnJavascriptErrorHandler is not null) + { OnJavascriptErrorHandler?.Invoke(exception); } +#pragma warning restore CS0618 else { throw exception; diff --git a/src/dymaptic.GeoBlazor.Core/Objects/AttributesDictionary.cs b/src/dymaptic.GeoBlazor.Core/Objects/AttributesDictionary.cs index 69532bf7..49355250 100644 --- a/src/dymaptic.GeoBlazor.Core/Objects/AttributesDictionary.cs +++ b/src/dymaptic.GeoBlazor.Core/Objects/AttributesDictionary.cs @@ -98,7 +98,7 @@ public static explicit operator Dictionary(AttributesDictionary /// Event that is fired when an attribute is added, updated or removed /// [JsonIgnore] - public EventCallback OnChange { get; set; } + public Func? OnChange { get; set; } /// /// The number of attribute entries in the dictionary @@ -167,7 +167,29 @@ public async Task AddOrUpdate(string key, object value) { _backingDictionary[key] = value; - await OnChange.InvokeAsync(); + if (OnChange is not null) + { + await OnChange(); + } + } + + /// + /// Updates the AttributesDictionary with new key/value pairs from a + /// + /// + /// The new key/value pairs to add or update + /// + public async Task AddOrUpdate(Dictionary newEntries) + { + foreach (KeyValuePair kvp in newEntries) + { + _backingDictionary[kvp.Key] = kvp.Value; + } + + if (OnChange is not null) + { + await OnChange(); + } } /// @@ -180,7 +202,10 @@ public async Task Remove(string key) { _backingDictionary.Remove(key); - await OnChange.InvokeAsync(); + if (OnChange is not null) + { + await OnChange(); + } } /// @@ -190,7 +215,10 @@ public async Task Clear() { _backingDictionary.Clear(); - await OnChange.InvokeAsync(); + if (OnChange is not null) + { + await OnChange(); + } } /// @@ -266,12 +294,32 @@ internal AttributeSerializationRecord[] ToSerializationRecord() private readonly Dictionary _backingDictionary; /// - /// Gets or the value associated with the specified key. + /// Gets or sets the value associated with the specified key. /// + /// + /// Setter is obsolete and potentially unstable due to calling async from sync code. + /// /// /// The key to get the value for /// - public object this[string key] => _backingDictionary[key]; + public object this[string key] + { + get => _backingDictionary[key]; + [Obsolete("Use AddOrUpdate instead")] + set + { + if (_backingDictionary.ContainsKey(key) && _backingDictionary[key] == value) + { + return; + } + _backingDictionary[key] = value; + + if (OnChange is not null) + { + Task.Run(OnChange); + } + } + } } [ProtoContract(Name = "Attribute")] diff --git a/src/dymaptic.GeoBlazor.Core/dymaptic.GeoBlazor.Core.csproj b/src/dymaptic.GeoBlazor.Core/dymaptic.GeoBlazor.Core.csproj index 7b67735c..3a77ba5e 100644 --- a/src/dymaptic.GeoBlazor.Core/dymaptic.GeoBlazor.Core.csproj +++ b/src/dymaptic.GeoBlazor.Core/dymaptic.GeoBlazor.Core.csproj @@ -9,8 +9,8 @@ GeoBlazor MIT - 2.1.1-beta-1 - 2.1.1-beta-1 + 2.2.0-beta-2 + 2.2.0-beta-2 Tim Purdum, Christopher Moravec, Mara Stoica, Tim Rawson dymaptic ©2023 by dymaptic diff --git a/src/dymaptic.GeoBlazor.Core/package-lock.json b/src/dymaptic.GeoBlazor.Core/package-lock.json index 7f7ff2a3..d220e915 100644 --- a/src/dymaptic.GeoBlazor.Core/package-lock.json +++ b/src/dymaptic.GeoBlazor.Core/package-lock.json @@ -1,12 +1,12 @@ { "name": "dymaptic.GeoBlazor.Core", - "version": "2.1.1-beta-1", + "version": "2.2.0-beta-2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dymaptic.GeoBlazor.Core", - "version": "2.1.1-beta-1", + "version": "2.2.0-beta-2", "license": "ISC", "dependencies": { "@arcgis/core": "^4.26.5", diff --git a/src/dymaptic.GeoBlazor.Core/package.json b/src/dymaptic.GeoBlazor.Core/package.json index beba0edd..2b1bb8b1 100644 --- a/src/dymaptic.GeoBlazor.Core/package.json +++ b/src/dymaptic.GeoBlazor.Core/package.json @@ -1,6 +1,6 @@ { "name": "dymaptic.GeoBlazor.Core", - "version": "2.1.1-beta-1", + "version": "2.2.0-beta-2", "description": "https://www.geoblazor.com", "main": "arcGisInterop.js", "scripts": {