Crate geoclue_zbus

Crate geoclue_zbus 

Source
Expand description

§Geoclue: The Geoinformation Service

From the GeoClue README:

Geoclue is a D-Bus geoinformation service. The goal of the Geoclue project is to make creating location-aware applications as simple as possible.

Geoclue is Free Software, licensed under GNU GPLv2+.

Geoclue comprises the following functionalities:

  • WiFi-based geolocation (accuracy: in meters)
  • GPS(A) receivers (accuracy: in centimeters)
  • GPS of other devices on the local network, e.g smartphones (accuracy: in centimeters)
  • 3G modems (accuracy: in kilometers, unless modem has GPS)
  • GeoIP (accuracy: city-level)

WiFi-based geolocation makes use of Mozilla Location Service.

If geoclue is unable to find you, you can easily fix that by installing and running a simple app on your phone. For using phone GPS, you’ll need to install the latest version of GeoclueShare app on your phone (currently, this is supported only on Android devices).

Geoclue was also used for (reverse-)geocoding but that functionality has been dropped in favour of the geocode-glib library.

For reverse Geocoding you can also use Nominatim-rs

Structs§

ClientProxy
The Application-specific client API
ClientProxyBlocking
The Application-specific client API
LocationProxy
The Location interface
LocationProxyBlocking
The Location interface
LocationUpdated
A LocationUpdated signal.
LocationUpdatedArgs
LocationUpdated signal arguments.
LocationUpdatedIterator
A Iterator implementation that yields LocationUpdated signals.
LocationUpdatedStream
A Stream implementation that yields LocationUpdated signals.
ManagerProxy
This is the interface you use to talk to main GeoClue2 manager object at path “/org/freedesktop/GeoClue2/Manager”. The only thing you do with this interface is to call ManagerProxy::get_client() or ManagerProxy::create_client on it to get your application specific client object(s).
ManagerProxyBlocking
This is the interface you use to talk to main GeoClue2 manager object at path “/org/freedesktop/GeoClue2/Manager”. The only thing you do with this interface is to call ManagerProxy::get_client() or ManagerProxy::create_client on it to get your application specific client object(s).

Enums§

AccuracyLevel
Used to specify level of accuracy requested by, or allowed for a client.

Type Aliases§

Degrees
A type to indicate that a value is in degrees.
Meters
A type to indicate that the value is in meters.
Speed
Speed in meters per second.