Calculate a geodesic path between two points and measure its distance.
      
  
    
Use case
A geodesic distance provides an accurate, real-world distance between two points. Visualizing flight paths between cities is a common example of a geodesic operation since the flight path between two airports takes into account the curvature of the earth, rather than following the planar path between those points, which appears as a straight line on a projected map.
How to use the sample
Tap anywhere on the map. A line graphic will display the geodesic line between the two points. In addition, text that indicates the geodesic distance between the two points will be updated. Tap elsewhere and a new line will be created.
How it works
- A 
Pointis created in New York City and displayed as aGraphic. - When a tap occurs on the 
MapView, a newPointis obtained from the mouse click. ThisPointis added as aGraphic. - A 
Polylineis created with the twoPointobjects. GeometryEngine.DensifyGeodeticis executed by passing in thePolylineobject, and the returnedGeometryis added as aGraphic.GeometryEngine.LengthGeodeticis executed by passing in the twoPointobjects, and the returned number is displayed on the screen.
Relevant API
- GeometryEngine.DensifyGeodetic
 - GeometryEngine.LengthGeodetic
 
About the data
The Imagery basemap provides the global context for the displayed geodesic line.
Tags
densify, distance, geodesic, geodetic
Sample Code
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="ArcGISRuntime.Samples.GeodesicOperations.GeodesicOperations"
             xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:forms="clr-namespace:Esri.ArcGISRuntime.Xamarin.Forms;assembly=Esri.ArcGISRuntime.Xamarin.Forms">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Label x:Name="ResultsLabel"
               Grid.Row="0"
               HorizontalTextAlignment="Center"
               TextColor="Red">
            Tap to set an end point.
        </Label>
        <forms:MapView x:Name="MyMapView" Grid.Row="1" />
    </Grid>
</ContentPage>