java.lang.Object | |
↳ | android.location.Location |
A data class representing a geographic location.
A location can consist of a latitude, longitude, timestamp, and other information such as bearing, altitude and velocity.
All locations generated by the LocationManager
are
guaranteed to have a valid latitude, longitude, and timestamp
(both UTC time and elapsed real-time since boot), all other
parameters are optional.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | FORMAT_DEGREES | Constant used to specify formatting of a latitude or longitude in the form "[+-]DDD.DDDDD where D indicates degrees. | |||||||||
int | FORMAT_MINUTES | Constant used to specify formatting of a latitude or longitude in the form "[+-]DDD:MM.MMMMM" where D indicates degrees and M indicates minutes of arc (1 minute = 1/60th of a degree). | |||||||||
int | FORMAT_SECONDS | Constant used to specify formatting of a latitude or longitude in the form "DDD:MM:SS.SSSSS" where D indicates degrees, M indicates minutes of arc, and S indicates seconds of arc (1 minute = 1/60th of a degree, 1 second = 1/3600th of a degree). |
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
android.os.Parcelable
|
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
CREATOR |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Construct a new Location with a named provider.
| |||||||||||
Construct a new Location object that is copied from an existing one.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns the approximate initial bearing in degrees East of true
North when traveling along the shortest path between this
location and the given location.
| |||||||||||
Converts a String in one of the formats described by
FORMAT_DEGREES, FORMAT_MINUTES, or FORMAT_SECONDS into a
double.
| |||||||||||
Converts a coordinate to a String representation.
| |||||||||||
Describe the kinds of special objects contained in this Parcelable's
marshalled representation.
| |||||||||||
Computes the approximate distance in meters between two
locations, and optionally the initial and final bearings of the
shortest path between them.
| |||||||||||
Returns the approximate distance in meters between this
location and the given location.
| |||||||||||
Get the estimated accuracy of this location, in meters.
| |||||||||||
Get the altitude if available, in meters above sea level.
| |||||||||||
Get the bearing, in degrees.
| |||||||||||
Return the time of this fix, in elapsed real-time since system boot.
| |||||||||||
Returns additional provider-specific information about the
location fix as a Bundle.
| |||||||||||
Get the latitude, in degrees.
| |||||||||||
Get the longitude, in degrees.
| |||||||||||
Returns the name of the provider that generated this fix.
| |||||||||||
Get the speed if it is available, in meters/second over ground.
| |||||||||||
Return the UTC time of this fix, in milliseconds since January 1, 1970.
| |||||||||||
True if this location has an accuracy.
| |||||||||||
True if this location has an altitude.
| |||||||||||
True if this location has a bearing.
| |||||||||||
True if this location has a speed.
| |||||||||||
Returns true if the Location came from a mock provider.
| |||||||||||
Remove the accuracy from this location.
| |||||||||||
Remove the altitude from this location.
| |||||||||||
Remove the bearing from this location.
| |||||||||||
Remove the speed from this location.
| |||||||||||
Clears the contents of the location.
| |||||||||||
Sets the contents of the location to the values from the given location.
| |||||||||||
Set the estimated accuracy of this location, meters.
| |||||||||||
Set the altitude, in meters above sea level.
| |||||||||||
Set the bearing, in degrees.
| |||||||||||
Set the time of this fix, in elapsed real-time since system boot.
| |||||||||||
Sets the extra information associated with this fix to the
given Bundle.
| |||||||||||
Set the latitude, in degrees.
| |||||||||||
Set the longitude, in degrees.
| |||||||||||
Sets the name of the provider that generated this fix.
| |||||||||||
Set the speed, in meters/second over ground.
| |||||||||||
Set the UTC time of this fix, in milliseconds since January 1,
1970.
| |||||||||||
Returns a string containing a concise, human-readable description of this
object.
| |||||||||||
Flatten this object in to a Parcel.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
android.os.Parcelable
|
Constant used to specify formatting of a latitude or longitude in the form "[+-]DDD.DDDDD where D indicates degrees.
Constant used to specify formatting of a latitude or longitude in the form "[+-]DDD:MM.MMMMM" where D indicates degrees and M indicates minutes of arc (1 minute = 1/60th of a degree).
Constant used to specify formatting of a latitude or longitude in the form "DDD:MM:SS.SSSSS" where D indicates degrees, M indicates minutes of arc, and S indicates seconds of arc (1 minute = 1/60th of a degree, 1 second = 1/3600th of a degree).
Construct a new Location with a named provider.
By default time, latitude and longitude are 0, and the location has no bearing, altitude, speed, accuracy or extras.
provider | the name of the provider that generated this location |
---|
Construct a new Location object that is copied from an existing one.
Returns the approximate initial bearing in degrees East of true North when traveling along the shortest path between this location and the given location. The shortest path is defined using the WGS84 ellipsoid. Locations that are (nearly) antipodal may produce meaningless results.
dest | the destination location |
---|
Converts a String in one of the formats described by FORMAT_DEGREES, FORMAT_MINUTES, or FORMAT_SECONDS into a double.
NullPointerException | if coordinate is null |
---|---|
IllegalArgumentException | if the coordinate is not in one of the valid formats. |
Converts a coordinate to a String representation. The outputType may be one of FORMAT_DEGREES, FORMAT_MINUTES, or FORMAT_SECONDS. The coordinate must be a valid double between -180.0 and 180.0.
IllegalArgumentException | if coordinate is less than -180.0, greater than 180.0, or is not a number. |
---|---|
IllegalArgumentException | if outputType is not one of FORMAT_DEGREES, FORMAT_MINUTES, or FORMAT_SECONDS. |
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
Computes the approximate distance in meters between two locations, and optionally the initial and final bearings of the shortest path between them. Distance and bearing are defined using the WGS84 ellipsoid.
The computed distance is stored in results[0]. If results has length 2 or greater, the initial bearing is stored in results[1]. If results has length 3 or greater, the final bearing is stored in results[2].
startLatitude | the starting latitude |
---|---|
startLongitude | the starting longitude |
endLatitude | the ending latitude |
endLongitude | the ending longitude |
results | an array of floats to hold the results |
IllegalArgumentException | if results is null or has length < 1 |
---|
Returns the approximate distance in meters between this location and the given location. Distance is defined using the WGS84 ellipsoid.
dest | the destination location |
---|
Get the estimated accuracy of this location, in meters.
We define accuracy as the radius of 68% confidence. In other words, if you draw a circle centered at this location's latitude and longitude, and with a radius equal to the accuracy, then there is a 68% probability that the true location is inside the circle.
In statistical terms, it is assumed that location errors are random with a normal distribution, so the 68% confidence circle represents one standard deviation. Note that in practice, location errors do not always follow such a simple distribution.
This accuracy estimation is only concerned with horizontal accuracy, and does not indicate the accuracy of bearing, velocity or altitude if those are included in this Location.
If this location does not have an accuracy, then 0.0 is returned.
All locations generated by the LocationManager
include
an accuracy.
Get the altitude if available, in meters above sea level.
If this location does not have an altitude then 0.0 is returned.
Get the bearing, in degrees.
Bearing is the horizontal direction of travel of this device, and is not related to the device orientation. It is guaranteed to be in the range (0.0, 360.0] if the device has a bearing.
If this location does not have a bearing then 0.0 is returned.
Return the time of this fix, in elapsed real-time since system boot.
This value can be reliably compared to
elapsedRealtimeNanos()
,
to calculate the age of a fix and to compare Location fixes. This
is reliable because elapsed real-time is guaranteed monotonic for
each system boot and continues to increment even when the system
is in deep sleep (unlike getTime()
.
All locations generated by the LocationManager
are guaranteed to have a valid elapsed real-time.
Returns additional provider-specific information about the location fix as a Bundle. The keys and values are determined by the provider. If no additional information is available, null is returned.
A number of common key/value pairs are listed below. Providers that use any of the keys on this list must provide the corresponding value as described below.
Get the latitude, in degrees.
All locations generated by the LocationManager
will have a valid latitude.
Get the longitude, in degrees.
All locations generated by the LocationManager
will have a valid longitude.
Returns the name of the provider that generated this fix.
Get the speed if it is available, in meters/second over ground.
If this location does not have a speed then 0.0 is returned.
Return the UTC time of this fix, in milliseconds since January 1, 1970.
Note that the UTC time on a device is not monotonic: it
can jump forwards or backwards unpredictably. So always use
getElapsedRealtimeNanos()
when calculating time deltas.
On the other hand, getTime()
is useful for presenting
a human readable time to the user, or for carefully comparing
location fixes across reboot or across devices.
All locations generated by the LocationManager
are guaranteed to have a valid UTC time, however remember that
the system time may have changed since the location was generated.
True if this location has an accuracy.
All locations generated by the LocationManager
have an
accuracy.
Returns true if the Location came from a mock provider.
Remove the accuracy from this location.
Following this call hasAccuracy()
will return false, and
getAccuracy()
will return 0.0.
Remove the altitude from this location.
Following this call hasAltitude()
will return false,
and getAltitude()
will return 0.0.
Remove the bearing from this location.
Following this call hasBearing()
will return false,
and getBearing()
will return 0.0.
Remove the speed from this location.
Following this call hasSpeed()
will return false,
and getSpeed()
will return 0.0.
Sets the contents of the location to the values from the given location.
Set the estimated accuracy of this location, meters.
See getAccuracy()
for the definition of accuracy.
Following this call hasAccuracy()
will return true.
Set the altitude, in meters above sea level.
Following this call hasAltitude()
will return true.
Set the bearing, in degrees.
Bearing is the horizontal direction of travel of this device, and is not related to the device orientation.
The input will be wrapped into the range (0.0, 360.0].
Set the time of this fix, in elapsed real-time since system boot.
time | elapsed real-time of fix, in nanoseconds since system boot. |
---|
Sets the extra information associated with this fix to the given Bundle.
Sets the name of the provider that generated this fix.
Set the speed, in meters/second over ground.
Following this call hasSpeed()
will return true.
Set the UTC time of this fix, in milliseconds since January 1, 1970.
time | UTC time of this fix, in milliseconds since January 1, 1970 |
---|
Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:
getClass().getName() + '@' + Integer.toHexString(hashCode())
See Writing a useful
toString
method
if you intend implementing your own toString
method.
Flatten this object in to a Parcel.
parcel | The Parcel in which the object should be written. |
---|---|
flags | Additional flags about how the object should be written.
May be 0 or PARCELABLE_WRITE_RETURN_VALUE .
|