Show / Hide Table of Contents

Class NmeaLocationDataSource

An NMEA data source object.

Inheritance
Object
LocationDataSource
NmeaLocationDataSource
LocationDataSource.CreateDefault()
LocationDataSource.StartAsync()
LocationDataSource.StopAsync()
LocationDataSource.UpdateHeading(Double)
LocationDataSource.UpdateLocation(Location)
LocationDataSource.Status
LocationDataSource.Error
LocationDataSource.LocationChanged
LocationDataSource.HeadingChanged
LocationDataSource.StatusChanged
LocationDataSource.ErrorChanged
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Esri.ArcGISRuntime.Location
Assembly: Esri.ArcGISRuntime.dll
Syntax
public class NmeaLocationDataSource : LocationDataSource
Remarks

This object will parse specific NMEA messages pushed into it. Valid GGA, GSA, GST, GSV, RMC, VTG messages are parsed and, depending upon the message type and contents, a LocationChanged or SatellitesChanged may be raised. The LocationChanged will return a NmeaLocation object. The SatellitesChanged will return an array of NmeaSatelliteInfo objects. This data source is based on NMEA version 4.11 (November 2018).

The Apple AppStore has guidelines and restrictions for apps that communicate with MFi accessories (for example: an external GPS receiver). Apps that use NMEA data need to satisfy the Apple requirements to be accepted in the store. Apps need to declare support via PPID in their submission and the MFi provider needs to list the bundle ID so Apple can cross reference it. For more information see the site, MFi Program.

Make sure the NmeaDataStream property is assigned to an NMEA stream prior to starting the datasource.

Constructors

Name Description
NmeaLocationDataSource()

Initializes a new instance of the NmeaLocationDataSource class.

NmeaLocationDataSource(SpatialReference)

Initializes a new instance of the NmeaLocationDataSource class.

NmeaLocationDataSource(SpatialReference, SpatialReference)

Initializes a new instance of the NmeaLocationDataSource class.

NmeaLocationDataSource(SpatialReference, SpatialReference, DatumTransformation)

Initializes a new instance of the NmeaLocationDataSource class.

Properties

Name Description
NmeaDataStream

Gets or sets the NMEA datastream that this datasource is processing NMEA data from. This property must be set before starting the datasource, or if subclassing, during OnStartAsync().

OutputDatumTransformation

Gets the DatumTransformation to be used in the project operation.

OutputSpatialReference

Gets the spatial reference that'll be used to perform a project operation for the location.

ReceiverSpatialReference

Gets the SpatialReference that the GPS receiver is using for its reported NmeaLocation, the default is WGS84.

Methods

Name Description
FromBluetooth(RfcommDeviceService)

Creates a NMEA LocationDataSource based on a serial port.

FromSerialPort(DeviceInformation, Nullable<UInt32>)

Creates a NMEA LocationDataSource based on a serial port.

FromStreamCreator(Func<NmeaLocationDataSource, Task<Stream>>, Func<NmeaLocationDataSource, Task>)

Returns a NmeaLocationDataSource that will create the NMEA stream on StartAsync(), and destroy on StopAsync() using the provided start/stop methods.

OnStartAsync()

Called when location tracking has started

OnStopAsync()

Called when location tracking has stopped

Events

Name Description
SatellitesChanged

Raised when the satellite info has changed for the location data source.

Applies to

TargetVersions
.NET Standard 2.0100.10 - 100.14
.NET 6.0100.13 - 100.14
.NET 6.0 Windows100.13 - 100.14
.NET Framework100.10 - 100.14
.NET 5100.10 - 100.12
.NET Core 3.1100.10 - 100.12
Xamarin.Android100.10 - 100.14
Xamarin.iOS100.10 - 100.14
UWP100.10 - 100.14
In This Article
Back to top Copyright © 2021 Esri.