Location
public
class
Location
extends Object
implements
Parcelable
java.lang.Object | |
↳ | android.location.Location |
A data class representing a geographic location. A location consists of a latitude, longitude, timestamp, accuracy, and other information such as bearing, altitude and velocity.
All locations generated through LocationManager
are guaranteed to have a valid
latitude, longitude, timestamp (both Unix epoch time and elapsed realtime since boot), and
accuracy. All other parameters are optional.
Note that Android provides the ability for applications to submit "mock" or faked
locations through LocationManager
, and that these locations can then be received by
applications using LocationManager to obtain location information. These locations can be
identified via the isMock()
API. Applications that wish to determine if a given location
represents the best estimate of the real position of the device as opposed to a fake location
coming from another application or the user should use this API. Keep in mind that the user may
have a good reason for mocking their location, and thus apps should generally reject mock
locations only when it is essential to their use case that only real locations are accepted.
Summary
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). |
Inherited constants |
---|
Fields | |
---|---|
public
static
final
Creator<Location> |
CREATOR
|
Public constructors | |
---|---|
Location(Location location)
Constructs a new location copied from the given location. |
|
Location(String provider)
Constructs a new location with a named provider. |
Public methods | |
---|---|
float
|
bearingTo(Location dest)
Returns the approximate initial bearing in degrees east of true north when traveling along the shortest path between this location and the given location. |
static
String
|
convert(double coordinate, int outputType)
Converts a latitude/longitude coordinate to a String representation. |
static
double
|
convert(String coordinate)
Converts a String in one of the formats described by |
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
static
void
|
distanceBetween(double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results)
Computes the approximate distance in meters between two locations, and optionally the initial and final bearings of the shortest path between them. |
float
|
distanceTo(Location dest)
Returns the approximate distance in meters between this location and the given location. |
void
|
dump(Printer pw, String prefix)
This method was deprecated
in API level 33.
Prefer to use |
boolean
|
equals(Object o)
Location equality is provided primarily for test purposes. |
float
|
getAccuracy()
Returns the estimated horizontal accuracy radius in meters of this location at the 68th percentile confidence level. |
double
|
getAltitude()
The altitude of this location in meters above the WGS84 reference ellipsoid. |
float
|
getBearing()
Returns the bearing at the time of this location in degrees. |
float
|
getBearingAccuracyDegrees()
Returns the estimated bearing accuracy in degrees of this location at the 68th percentile confidence level. |
long
|
getElapsedRealtimeAgeMillis(long referenceRealtimeMs)
A convenience method that returns the age of this location with respect to the given reference elapsed realtime. |
long
|
getElapsedRealtimeAgeMillis()
A convenience methods that returns the age of this location in milliseconds with respect to the current elapsed realtime. |
long
|
getElapsedRealtimeMillis()
Return the time of this fix in milliseconds of elapsed realtime since system boot. |
long
|
getElapsedRealtimeNanos()
Return the time of this fix in nanoseconds of elapsed realtime since system boot. |
double
|
getElapsedRealtimeUncertaintyNanos()
Get the uncertainty in nanoseconds of the precision of |
Bundle
|
getExtras()
Returns an optional bundle of additional information associated with this location. |
double
|
getLatitude()
Get the latitude in degrees. |
double
|
getLongitude()
Get the longitude in degrees. |
float
|
getMslAltitudeAccuracyMeters()
Returns the estimated Mean Sea Level altitude accuracy in meters of this location at the 68th percentile confidence level. |
double
|
getMslAltitudeMeters()
Returns the Mean Sea Level altitude of this location in meters. |
String
|
getProvider()
Returns the name of the provider associated with this location. |
float
|
getSpeed()
Returns the speed at the time of this location in meters per second. |
float
|
getSpeedAccuracyMetersPerSecond()
Returns the estimated speed accuracy in meters per second of this location at the 68th percentile confidence level. |
long
|
getTime()
Returns the Unix epoch time of this location fix, in milliseconds since the start of the Unix epoch (00:00:00 January 1, 1970 UTC). |
float
|
getVerticalAccuracyMeters()
Returns the estimated altitude accuracy in meters of this location at the 68th percentile confidence level. |
boolean
|
hasAccuracy()
Returns true if this location has a horizontal accuracy, false otherwise. |
boolean
|
hasAltitude()
Returns true if this location has an altitude, false otherwise. |
boolean
|
hasBearing()
True if this location has a bearing, false otherwise. |
boolean
|
hasBearingAccuracy()
Returns true if this location has a bearing accuracy, false otherwise. |
boolean
|
hasElapsedRealtimeUncertaintyNanos()
True if this location has an elapsed realtime uncertainty, false otherwise. |
boolean
|
hasMslAltitude()
Returns true if this location has a Mean Sea Level altitude, false otherwise. |
boolean
|
hasMslAltitudeAccuracy()
Returns true if this location has a Mean Sea Level altitude accuracy, false otherwise. |
boolean
|
hasSpeed()
True if this location has a speed, false otherwise. |
boolean
|
hasSpeedAccuracy()
Returns true if this location has a speed accuracy, false otherwise. |
boolean
|
hasVerticalAccuracy()
Returns true if this location has a vertical accuracy, false otherwise. |
int
|
hashCode()
Returns a hash code value for the object. |
boolean
|
isComplete()
Return true if this location is considered complete. |
boolean
|
isFromMockProvider()
This method was deprecated
in API level 31.
Prefer |
boolean
|
isMock()
Returns true if this location is marked as a mock location. |
void
|
removeAccuracy()
Remove the horizontal accuracy from this location. |
void
|
removeAltitude()
Removes the altitude from this location. |
void
|
removeBearing()
Remove the bearing from this location. |
void
|
removeBearingAccuracy()
Remove the bearing accuracy from this location. |
void
|
removeElapsedRealtimeUncertaintyNanos()
Removes the elapsed realtime uncertainty from this location. |
void
|
removeMslAltitude()
Removes the Mean Sea Level altitude from this location. |
void
|
removeMslAltitudeAccuracy()
Removes the Mean Sea Level altitude accuracy from this location. |
void
|
removeSpeed()
Remove the speed from this location. |
void
|
removeSpeedAccuracy()
Remove the speed accuracy from this location. |
void
|
removeVerticalAccuracy()
Remove the vertical accuracy from this location. |
void
|
reset()
Sets the provider to null, removes all optional fields, and sets the values of all other fields to zero. |
void
|
set(Location location)
Turns this location into a copy of the given location. |
void
|
setAccuracy(float horizontalAccuracyMeters)
Set the horizontal accuracy in meters of this location. |
void
|
setAltitude(double altitudeMeters)
Set the altitude of this location in meters above the WGS84 reference ellipsoid. |
void
|
setBearing(float bearingDegrees)
Set the bearing at the time of this location, in degrees. |
void
|
setBearingAccuracyDegrees(float bearingAccuracyDegrees)
Set the bearing accuracy in degrees of this location. |
void
|
setElapsedRealtimeNanos(long elapsedRealtimeNs)
Set the time of this location in nanoseconds of elapsed realtime since system boot. |
void
|
setElapsedRealtimeUncertaintyNanos(double elapsedRealtimeUncertaintyNs)
Sets the uncertainty in nanoseconds of the precision of the elapsed realtime timestamp at a 68% confidence level. |
void
|
setExtras(Bundle extras)
Sets the extra information associated with this fix to the given Bundle. |
void
|
setLatitude(double latitudeDegrees)
Set the latitude of this location. |
void
|
setLongitude(double longitudeDegrees)
Set the longitude of this location. |
void
|
setMock(boolean mock)
Sets whether this location is marked as a mock location. |
void
|
setMslAltitudeAccuracyMeters(float mslAltitudeAccuracyMeters)
Sets the Mean Sea Level altitude accuracy of this location in meters. |
void
|
setMslAltitudeMeters(double mslAltitudeMeters)
Sets the Mean Sea Level altitude of this location in meters. |
void
|
setProvider(String provider)
Sets the name of the provider associated with this location |
void
|
setSpeed(float speedMetersPerSecond)
Set the speed at the time of this location, in meters per second. |
void
|
setSpeedAccuracyMetersPerSecond(float speedAccuracyMeterPerSecond)
Set the speed accuracy of this location in meters per second. |
void
|
setTime(long timeMs)
Sets the Unix epoch time of this location fix, in milliseconds since the start of the Unix epoch (00:00:00 January 1 1970 UTC). |
void
|
setVerticalAccuracyMeters(float altitudeAccuracyMeters)
Set the altitude accuracy of this location in meters. |
String
|
toString()
Returns a string representation of the object. |
void
|
writeToParcel(Parcel parcel, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |
---|---|
Constants
FORMAT_DEGREES
public static final int FORMAT_DEGREES
Constant used to specify formatting of a latitude or longitude in the form "[+-]DDD.DDDDD where D indicates degrees.
Constant Value: 0 (0x00000000)
FORMAT_MINUTES
public static final 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).
Constant Value: 1 (0x00000001)
FORMAT_SECONDS
public static final 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).
Constant Value: 2 (0x00000002)
Fields
Public constructors
Location
public Location (Location location)
Constructs a new location copied from the given location.
Parameters | |
---|---|
location |
Location : This value cannot be null . |
Location
public Location (String provider)
Constructs a new location with a named provider. By default all values are zero, and no optional values are present.
Parameters | |
---|---|
provider |
String : the location provider name associated with this location
This value may be null . |
Public methods
bearingTo
public float bearingTo (Location dest)
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.
Parameters | |
---|---|
dest |
Location : the destination location
This value cannot be null . |
Returns | |
---|---|
float |
the initial bearing in degrees |
convert
public static String convert (double coordinate, int outputType)
Converts a latitude/longitude coordinate to a String representation. The outputType must be
one of FORMAT_DEGREES
, FORMAT_MINUTES
, or FORMAT_SECONDS
. The
coordinate must be a number between -180.0 and 180.0, inclusive. This conversion is performed
in a method that is dependent on the default locale, and so is not guaranteed to round-trip
with convert(java.lang.String)
.
Parameters | |
---|---|
coordinate |
double |
outputType |
int : Value is FORMAT_DEGREES , FORMAT_MINUTES , or FORMAT_SECONDS |
Returns | |
---|---|
String |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if coordinate is less than -180.0, greater than 180.0, or is not a number. |
IllegalArgumentException |
if outputType is not a recognized value. |
convert
public static double convert (String coordinate)
Converts a String in one of the formats described by FORMAT_DEGREES
,
FORMAT_MINUTES
, or FORMAT_SECONDS
into a double. This conversion is
performed in a locale agnostic method, and so is not guaranteed to round-trip with
convert(double, int)
.
Parameters | |
---|---|
coordinate |
String : This value cannot be null . |
Returns | |
---|---|
double |
Throws | |
---|---|
NullPointerException |
if coordinate is null |
IllegalArgumentException |
if the coordinate is not in one of the valid formats. |
describeContents
public int describeContents ()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of writeToParcel(android.os.Parcel, int)
,
the return value of this method must include the
CONTENTS_FILE_DESCRIPTOR
bit.
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled
by this Parcelable object instance.
Value is either 0 or CONTENTS_FILE_DESCRIPTOR |
distanceBetween
public static void distanceBetween (double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results)
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].
Parameters | |
---|---|
startLatitude |
double : the starting latitude
Value is between -90.0 and 90.0 inclusive |
startLongitude |
double : the starting longitude
Value is between -180.0 and 180.0 inclusive |
endLatitude |
double : the ending latitude
Value is between -90.0 and 90.0 inclusive |
endLongitude |
double : the ending longitude
Value is between -180.0 and 180.0 inclusive |
results |
float : an array of floats to hold the results |
Throws | |
---|---|
IllegalArgumentException |
if results is null or has length < 1 |
distanceTo
public float distanceTo (Location dest)
Returns the approximate distance in meters between this location and the given location. Distance is defined using the WGS84 ellipsoid.
Parameters | |
---|---|
dest |
Location : the destination location
This value cannot be null . |
Returns | |
---|---|
float |
the approximate distance in meters Value is 0.0 or greater |
dump
public void dump (Printer pw, String prefix)
This method was deprecated
in API level 33.
Prefer to use toString()
along with whatever custom formatting is
required instead of this method. It is not this class's job to manage print representations.
Dumps location information to the given Printer.
Parameters | |
---|---|
pw |
Printer : This value cannot be null . |
prefix |
String : This value may be null . |
equals
public boolean equals (Object o)
Location equality is provided primarily for test purposes. Comparing locations for equality in production may indicate incorrect assumptions, and should be avoided whenever possible.
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation
on non-null object references:
- It is reflexive: for any non-null reference value
x
,x.equals(x)
should returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters | |
---|---|
o |
Object : This value may be null . |
Returns | |
---|---|
boolean |
true if this object is the same as the obj
argument; false otherwise. |
getAccuracy
public float getAccuracy ()
Returns the estimated horizontal accuracy radius in meters of this location at the 68th percentile confidence level. This means that there is a 68% chance that the true location of the device is within a distance of this uncertainty of the reported location. Another way of putting this is that if a circle with a radius equal to this accuracy is drawn around the reported location, there is a 68% chance that the true location falls within this circle. This accuracy value is only valid for horizontal positioning, and not vertical positioning.
This is only valid if hasAccuracy()
is true. All locations generated by the
LocationManager
include horizontal accuracy.
Returns | |
---|---|
float |
horizontal accuracy of this location Value is 0.0 or greater |
getAltitude
public double getAltitude ()
The altitude of this location in meters above the WGS84 reference ellipsoid.
This is only valid if hasAltitude()
is true.
Returns | |
---|---|
double |
altitude of this location |
getBearing
public float getBearing ()
Returns the bearing at the time of this location in degrees. Bearing is the horizontal direction of travel of this device and is unrelated to the device orientation. The bearing is guaranteed to be in the range [0, 360).
This is only valid if hasBearing()
is true.
Returns | |
---|---|
float |
bearing at the time of this location Value is between 0.0 and 360.0 inclusive |
getBearingAccuracyDegrees
public float getBearingAccuracyDegrees ()
Returns the estimated bearing accuracy in degrees of this location at the 68th percentile
confidence level. This means that there is 68% chance that the true bearing at the
time of this location falls within getBearing()
()} +/- this uncertainty.
This is only valid if hasBearingAccuracy()
()} is true.
Returns | |
---|---|
float |
bearing accuracy in degrees of this location Value is 0.0 or greater |
getElapsedRealtimeAgeMillis
public long getElapsedRealtimeAgeMillis (long referenceRealtimeMs)
A convenience method that returns the age of this location with respect to the given reference elapsed realtime.
Parameters | |
---|---|
referenceRealtimeMs |
long : reference realtime in milliseconds
Value is 0 or greater |
Returns | |
---|---|
long |
age of this location in milliseconds |
getElapsedRealtimeAgeMillis
public long getElapsedRealtimeAgeMillis ()
A convenience methods that returns the age of this location in milliseconds with respect to the current elapsed realtime.
Returns | |
---|---|
long |
age of this location in milliseconds Value is 0 or greater |
getElapsedRealtimeMillis
public long getElapsedRealtimeMillis ()
Return the time of this fix in milliseconds of elapsed realtime since system boot.
Returns | |
---|---|
long |
elapsed realtime of this location in milliseconds Value is 0 or greater |
See also:
getElapsedRealtimeNanos
public long getElapsedRealtimeNanos ()
Return the time of this fix in nanoseconds of elapsed realtime since system boot.
This value can be compared with SystemClock.elapsedRealtimeNanos()
to
reliably order or compare locations. This is reliable because elapsed realtime is guaranteed
to be monotonic and continues to increment even when the system is in deep sleep (unlike
getTime()
). However, since elapsed realtime is with reference to system boot, it does
not make sense to use this value to order or compare locations across boot cycles or devices.
All locations generated by the LocationManager
are guaranteed to have a valid
elapsed realtime set.
Returns | |
---|---|
long |
elapsed realtime of this location in nanoseconds Value is 0 or greater |
getElapsedRealtimeUncertaintyNanos
public double getElapsedRealtimeUncertaintyNanos ()
Get the uncertainty in nanoseconds of the precision of getElapsedRealtimeNanos()
at
the 68th percentile confidence level. This means that there is 68% chance that the true
elapsed realtime of this location is within getElapsedRealtimeNanos()
+/- this
uncertainty.
This is only valid if hasElapsedRealtimeUncertaintyNanos()
is true.
Returns | |
---|---|
double |
uncertainty in nanoseconds of the elapsed realtime of this location Value is 0.0 or greater |
getExtras
public Bundle getExtras ()
Returns an optional bundle of additional information associated with this location. The keys and values within the bundle are determined by the location provider.
Common key/value pairs are listed below. There is no guarantee that these key/value pairs will be present for any location.
- satellites - the number of satellites used to derive a GNSS fix. This key was deprecated
in API 34 because the information can be obtained through more accurate means, such as by
referencing
GnssStatus.usedInFix
.
Returns | |
---|---|
Bundle |
This value may be null . |
getLatitude
public double getLatitude ()
Get the latitude in degrees. All locations generated by the LocationManager
will have
a valid latitude.
Returns | |
---|---|
double |
latitude of this location Value is between -90.0 and 90.0 inclusive |
getLongitude
public double getLongitude ()
Get the longitude in degrees. All locations generated by the LocationManager
will
have a valid longitude.
Returns | |
---|---|
double |
longitude of this location Value is between -180.0 and 180.0 inclusive |
getMslAltitudeAccuracyMeters
public float getMslAltitudeAccuracyMeters ()
Returns the estimated Mean Sea Level altitude accuracy in meters of this location at the 68th
percentile confidence level. This means that there is 68% chance that the true Mean Sea Level
altitude of this location falls within getMslAltitudeMeters()
+/- this uncertainty.
This is only valid if hasMslAltitudeAccuracy()
is true.
Returns | |
---|---|
float |
Value is 0.0 or greater |
getMslAltitudeMeters
public double getMslAltitudeMeters ()
Returns the Mean Sea Level altitude of this location in meters.
This is only valid if hasMslAltitude()
is true.
Returns | |
---|---|
double |
getProvider
public String getProvider ()
Returns the name of the provider associated with this location.
Returns | |
---|---|
String |
the name of the provider
This value may be null . |
getSpeed
public float getSpeed ()
Returns the speed at the time of this location in meters per second. Note that the speed
returned here may be more accurate than would be obtained simply by calculating
distance / time
for sequential positions, such as if the Doppler measurements from
GNSS satellites are taken into account.
This is only valid if hasSpeed()
is true.
Returns | |
---|---|
float |
speed at the time of this location Value is 0.0 or greater |
getSpeedAccuracyMetersPerSecond
public float getSpeedAccuracyMetersPerSecond ()
Returns the estimated speed accuracy in meters per second of this location at the 68th
percentile confidence level. This means that there is 68% chance that the true speed at the
time of this location falls within getSpeed()
()} +/- this uncertainty.
This is only valid if hasSpeedAccuracy()
is true.
Returns | |
---|---|
float |
vertical accuracy of this location Value is 0.0 or greater |
getTime
public long getTime ()
Returns the Unix epoch time of this location fix, in milliseconds since the start of the Unix epoch (00:00:00 January 1, 1970 UTC).
There is no guarantee that different locations have times set from the same clock.
Locations derived from the LocationManager.GPS_PROVIDER
are guaranteed to have their
time originate from the clock in use by the satellite constellation that provided the fix.
Locations derived from other providers may use any clock to set their time, though it is most
common to use the device's Unix epoch time system clock (which may be incorrect).
Note that the device's Unix epoch time system clock is not monotonic; it can jump forwards
or backwards unpredictably and may be changed at any time by the user, so this time should
not be used to order or compare locations. Prefer getElapsedRealtimeNanos()
for that
purpose, as the elapsed realtime clock is guaranteed to be monotonic.
On the other hand, this method may be useful for presenting a human-readable time to the user, or as a heuristic for comparing location fixes across reboot or across devices.
All locations generated by the LocationManager
are guaranteed to have this time
set, however remember that the device's system clock may have changed since the location was
generated.
Returns | |
---|---|
long |
the Unix epoch time of this location Value is 0 or greater |
getVerticalAccuracyMeters
public float getVerticalAccuracyMeters ()
Returns the estimated altitude accuracy in meters of this location at the 68th percentile
confidence level. This means that there is 68% chance that the true altitude of this location
falls within getAltitude()
()} +/- this uncertainty.
This is only valid if hasVerticalAccuracy()
is true.
Returns | |
---|---|
float |
vertical accuracy of this location Value is 0.0 or greater |
hasAccuracy
public boolean hasAccuracy ()
Returns true if this location has a horizontal accuracy, false otherwise.
Returns | |
---|---|
boolean |
hasAltitude
public boolean hasAltitude ()
Returns true if this location has an altitude, false otherwise.
Returns | |
---|---|
boolean |
hasBearing
public boolean hasBearing ()
True if this location has a bearing, false otherwise.
Returns | |
---|---|
boolean |
hasBearingAccuracy
public boolean hasBearingAccuracy ()
Returns true if this location has a bearing accuracy, false otherwise.
Returns | |
---|---|
boolean |
hasElapsedRealtimeUncertaintyNanos
public boolean hasElapsedRealtimeUncertaintyNanos ()
True if this location has an elapsed realtime uncertainty, false otherwise.
Returns | |
---|---|
boolean |
hasMslAltitude
public boolean hasMslAltitude ()
Returns true if this location has a Mean Sea Level altitude, false otherwise.
Returns | |
---|---|
boolean |
hasMslAltitudeAccuracy
public boolean hasMslAltitudeAccuracy ()
Returns true if this location has a Mean Sea Level altitude accuracy, false otherwise.
Returns | |
---|---|
boolean |
hasSpeed
public boolean hasSpeed ()
True if this location has a speed, false otherwise.
Returns | |
---|---|
boolean |
hasSpeedAccuracy
public boolean hasSpeedAccuracy ()
Returns true if this location has a speed accuracy, false otherwise.
Returns | |
---|---|
boolean |
hasVerticalAccuracy
public boolean hasVerticalAccuracy ()
Returns true if this location has a vertical accuracy, false otherwise.
Returns | |
---|---|
boolean |
hashCode
public int hashCode ()
Returns a hash code value for the object. This method is
supported for the benefit of hash tables such as those provided by
HashMap
.
The general contract of hashCode
is:
- Whenever it is invoked on the same object more than once during
an execution of a Java application, the
hashCode
method must consistently return the same integer, provided no information used inequals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. - If two objects are equal according to the
equals
method, then calling thehashCode
method on each of the two objects must produce the same integer result. - It is not required that if two objects are unequal
according to the
equals
method, then calling thehashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns | |
---|---|
int |
a hash code value for this object. |
isComplete
public boolean isComplete ()
Return true if this location is considered complete. A location is considered complete if it has a non-null provider, accuracy, and non-zero time and elapsed realtime. The exact definition of completeness may change over time.
All locations supplied by the LocationManager
are guaranteed to be complete.
Returns | |
---|---|
boolean |
isFromMockProvider
public boolean isFromMockProvider ()
This method was deprecated
in API level 31.
Prefer isMock()
instead.
Returns true if this is a mock location. If this location comes from the Android framework, this indicates that the location was provided by a test location provider, and thus may not be related to the actual location of the device.
Returns | |
---|---|
boolean |
true if this location came from a mock provider, false otherwise |
isMock
public boolean isMock ()
Returns true if this location is marked as a mock location. If this location comes from the Android framework, this indicates that the location was provided by a test location provider, and thus may not be related to the actual location of the device.
Returns | |
---|---|
boolean |
removeAccuracy
public void removeAccuracy ()
Remove the horizontal accuracy from this location.
removeAltitude
public void removeAltitude ()
Removes the altitude from this location.
removeBearing
public void removeBearing ()
Remove the bearing from this location.
removeBearingAccuracy
public void removeBearingAccuracy ()
Remove the bearing accuracy from this location.
removeElapsedRealtimeUncertaintyNanos
public void removeElapsedRealtimeUncertaintyNanos ()
Removes the elapsed realtime uncertainty from this location.
removeMslAltitude
public void removeMslAltitude ()
Removes the Mean Sea Level altitude from this location.
removeMslAltitudeAccuracy
public void removeMslAltitudeAccuracy ()
Removes the Mean Sea Level altitude accuracy from this location.
removeSpeedAccuracy
public void removeSpeedAccuracy ()
Remove the speed accuracy from this location.
removeVerticalAccuracy
public void removeVerticalAccuracy ()
Remove the vertical accuracy from this location.
reset
public void reset ()
Sets the provider to null, removes all optional fields, and sets the values of all other fields to zero.
set
public void set (Location location)
Turns this location into a copy of the given location.
Parameters | |
---|---|
location |
Location : This value cannot be null . |
setAccuracy
public void setAccuracy (float horizontalAccuracyMeters)
Set the horizontal accuracy in meters of this location.
Parameters | |
---|---|
horizontalAccuracyMeters |
float : horizontal altitude in meters
Value is 0.0 or greater |
setAltitude
public void setAltitude (double altitudeMeters)
Set the altitude of this location in meters above the WGS84 reference ellipsoid.
Parameters | |
---|---|
altitudeMeters |
double : altitude in meters |
setBearing
public void setBearing (float bearingDegrees)
Set the bearing at the time of this location, in degrees. The given bearing will be converted into the range [0, 360).
Note: passing in extremely high or low floating point values to this function may produce strange results due to the intricacies of floating point math.
Parameters | |
---|---|
bearingDegrees |
float : bearing in degrees |
setBearingAccuracyDegrees
public void setBearingAccuracyDegrees (float bearingAccuracyDegrees)
Set the bearing accuracy in degrees of this location.
Parameters | |
---|---|
bearingAccuracyDegrees |
float : bearing accuracy in degrees
Value is 0.0 or greater |
setElapsedRealtimeNanos
public void setElapsedRealtimeNanos (long elapsedRealtimeNs)
Set the time of this location in nanoseconds of elapsed realtime since system boot.
Parameters | |
---|---|
elapsedRealtimeNs |
long : elapsed realtime in nanoseconds
Value is 0 or greater |
setElapsedRealtimeUncertaintyNanos
public void setElapsedRealtimeUncertaintyNanos (double elapsedRealtimeUncertaintyNs)
Sets the uncertainty in nanoseconds of the precision of the elapsed realtime timestamp at a 68% confidence level.
Parameters | |
---|---|
elapsedRealtimeUncertaintyNs |
double : uncertainty in nanoseconds of the elapsed realtime of
this location
Value is 0.0 or greater |
setExtras
public void setExtras (Bundle extras)
Sets the extra information associated with this fix to the given Bundle.
Note this stores a copy of the given extras, so any changes to extras after calling this method won't be reflected in the location bundle.
Parameters | |
---|---|
extras |
Bundle : This value may be null . |
setLatitude
public void setLatitude (double latitudeDegrees)
Set the latitude of this location.
Parameters | |
---|---|
latitudeDegrees |
double : latitude in degrees
Value is between -90.0 and 90.0 inclusive |
setLongitude
public void setLongitude (double longitudeDegrees)
Set the longitude of this location.
Parameters | |
---|---|
longitudeDegrees |
double : longitude in degrees
Value is between -180.0 and 180.0 inclusive |
setMock
public void setMock (boolean mock)
Sets whether this location is marked as a mock location.
Parameters | |
---|---|
mock |
boolean |
setMslAltitudeAccuracyMeters
public void setMslAltitudeAccuracyMeters (float mslAltitudeAccuracyMeters)
Sets the Mean Sea Level altitude accuracy of this location in meters.
Parameters | |
---|---|
mslAltitudeAccuracyMeters |
float : Value is 0.0 or greater |
setMslAltitudeMeters
public void setMslAltitudeMeters (double mslAltitudeMeters)
Sets the Mean Sea Level altitude of this location in meters.
Parameters | |
---|---|
mslAltitudeMeters |
double |
setProvider
public void setProvider (String provider)
Sets the name of the provider associated with this location
Parameters | |
---|---|
provider |
String : the name of the provider
This value may be null . |
setSpeed
public void setSpeed (float speedMetersPerSecond)
Set the speed at the time of this location, in meters per second.
Parameters | |
---|---|
speedMetersPerSecond |
float : speed in meters per second
Value is 0.0 or greater |
setSpeedAccuracyMetersPerSecond
public void setSpeedAccuracyMetersPerSecond (float speedAccuracyMeterPerSecond)
Set the speed accuracy of this location in meters per second.
Parameters | |
---|---|
speedAccuracyMeterPerSecond |
float : speed accuracy in meters per second
Value is 0.0 or greater |
setTime
public void setTime (long timeMs)
Sets the Unix epoch time of this location fix, in milliseconds since the start of the Unix epoch (00:00:00 January 1 1970 UTC).
Parameters | |
---|---|
timeMs |
long : the Unix epoch time of this location
Value is 0 or greater |
setVerticalAccuracyMeters
public void setVerticalAccuracyMeters (float altitudeAccuracyMeters)
Set the altitude accuracy of this location in meters.
Parameters | |
---|---|
altitudeAccuracyMeters |
float : altitude accuracy in meters
Value is 0.0 or greater |
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String |
This value cannot be null . |
writeToParcel
public void writeToParcel (Parcel parcel, int flags)
Flatten this object in to a Parcel.
Parameters | |
---|---|
parcel |
Parcel : This value cannot be null . |
flags |
int : Additional flags about how the object should be written.
May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE .
Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |