Search…
GPS

Overview

GPS is a class that retrieves GPS coordinates read from Android, WP8, and iOS native API. This class only retrieves data updating the internal fields. If you want to display that data, you may use the GPSView class.
If the GPS fails connecting to the satellites, and the phone has signal, you can use the cell tower location as a rough location. The precision varies between 50m to 3km, depending on the phone location. In this case, you can get the latitude and longitude using CellInfo.toCoordinates() on Android and Windows 32. This won’t work on other platforms. Don’t forget to turn on the GPS, going to somewhere similar to Settings / Security & Location / Enable GPS satellites. You won’t be able to use if if it’s off in the settings.

GPS class

Here is an example of GPS usage:
GPS_SAMPLE
1
new Thread()
2
{
3
public void run()
4
{
5
gps = new GPS();
6
for (int i = 0; i < 60*2 && gps.location[0] == 0; i++) // wait 60s
7
{
8
Vm.safeSleep(500);
9
try
10
{
11
gps.retrieveGPSData();
12
}
13
catch (Exception eee)
14
{
15
eee.printStackTrace();
16
break;
17
}
18
}
19
}
20
}.start();
Copied!

Atributes

Type
Name
Description
int
satellites
Number of satellites
double[]
location
Stores the location - latitude on first index (0) and longitude on second index (1).
double
direction
Stores the direction in degrees from the North.

methods

Type
Name
Description
boolean
retrieveGPSData()
Call this method to retrieve the data from the GPS, true if the data was retrieved, false if low signal.
void
stop()
Closes the underlying PortConnector or native api.
double
getLatitude()
Returns the latitude
double
getLongitude()
Returns the longitude

References

For more details, check out JavaDoc.