com.google.android.gms.maps.LocationSource |
Defines an interface for providing location data, typically to a GoogleMap
object.
A GoogleMap
object has a built-in location provider for its my-location layer, but it can be replaced
with another one that implements this interface.
A GoogleMap
object activates its location provider using activate(OnLocationChangedListener)
. While active (between activate(OnLocationChangedListener)
and deactivate()
), a location provider should push periodic location updates to the listener registered in activate(OnLocationChangedListener)
. It is the provider's responsibility to use location services wisely according to the map's lifecycle state. For example, it should only using battery-intensive services (like GPS) occasionally, or only while an activity is in the foreground.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
LocationSource.OnLocationChangedListener | Handles a location update. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Activates this provider.
|
||||||||||
|
Deactivates this provider.
|
Activates this provider. This provider will notify the supplied listener periodically, until you call deactivate()
. Notifications will be broadcast on the main thread.
listener | listener that's called when a new location is available |
---|
IllegalStateException | if this provider is already active |
---|---|
IllegalArgumentException | if listener is null |
Deactivates this provider. The previously-registered callback is not notified of any further updates.
IllegalStateException | if this provider is already inactive |
---|