Monkey C provides access to the wearable’s available sensors, which may include the GPS, altimeter, thermometer, and supported ANT sensors.
API | Purpose | API Level |
---|---|---|
Position.Location |
Abstraction of a coordinate | 1.0.0 |
Position.enableLocationEvents() |
Allows enabling the GPS and receiving location update events to a callback.Requires the Position permission. |
1.0.0 |
Position.getInfo() |
Query the position information from the system | 1.0.0 |
A Position.Location
is an abstraction of a coordinate. It exposes the ability to retrieve the coordinates in radians or decimal degrees and then provides a method to convert to coordinate formats supported by the Garmin system. The Toybox.Position
module also exposes string parsing interface to convert from various coordinate formats to a Location
object.
To enable the GPS call the Position.enableLocationEvents()
method. To register a position listener, use the Object.method()
call to create a Lang.Method
callback:
function onPosition( info as Position.Info ) as Void {
Sys.println( "Position " + info.position.toGeoString( Position.GEO_DM ) );
}
function initializeListener() as Void {
Position.enableLocationEvents( Position.LOCATION_CONTINUOUS, method( :onPosition ) );
}
All of the location information will be sent in an Position.Info
object. You can also use Position.getInfo()
to retrieve an Info
instance.
For more, see the PositionSample
sample app distributed with the SDK.
There are times where you may want control over what positioning solution is used. The :configuration
option of Position.enableLocationEvents()
allows you to specify the which positioning solution you wish to use:
Configuration | GPS Solution | API Level |
---|---|---|
CONFIGURATION_GPS |
GPS L1 | 3.3.6 |
CONFIGURATION_GPS_GLONAS |
GPS L1, GLONASS | 3.3.6 |
CONFIGURATION_GPS_GALILEO |
GPS L1, GALILEO L1 | 3.3.6 |
CONFIGURATION_GPS_BEIDOU |
GPS L1, BEIDOU L1 | 3.3.6 |
CONFIGURATION_GPS_GLONASS_GALILEO_BEIDOU_L1 |
GPS L1, GLONASS, GALILEO L1, BEIDOU L1 | 3.3.6 |
CONFIGURATION_GPS_GLONASS_GALILEO_BEIDOU_L1 |
GPS L1, GLONASS, GALILEO L1, BEIDOU L1 | 3.3.6 |
CONFIGURATION_GPS_GLONASS_GALILEO_BEIDOU_L1_L5 |
GPS L1, GLONASS, GALILEO L1, BEIDOU L1, GPS L5, GALILEO L5, BEIDOU L5 | 3.3.6 |
CONFIGURATION_SAT_IQ |
Solution chosen dynamically for optimum power usage | 3.3.6 |
Not every device supports every GPS configuration. You can use Position.hasConfigurationSupport()
to determine if the device supports a specific configuration.