juice_location library
Device location as a Juice bloc.
LocationBloc owns the current position and continuous tracking, through a
swappable LocationSource seam (default GeolocatorLocationSource).
Permission status is set externally via LocationBloc.setPermissionStatus —
wire it from juice_permissions with a PermissionBinding.
final location = LocationBloc.withConfig(LocationConfig());
location.getCurrent();
PermissionBinding(permissions, JuicePermission.locationWhenInUse,
onStatus: (s) => location.setPermissionStatus(s == PermissionStatus.granted),
)..start();
Classes
- GeolocatorLocationSource
-
Default LocationSource backed by
geolocator. - GeoPosition
- A vendor-agnostic position fix.
- GetCurrentLocationEvent
- Read the current position once.
- InitializeLocationEvent
- Configure the source.
- LocationBloc
- Bloc that owns the device's location — one-shot reads and continuous tracking.
- LocationChangedEvent
- Internal: a new position arrived (one-shot or stream).
- LocationConfig
- Configuration for LocationBloc.
- LocationEvent
- Base class for location events.
- LocationGroups
- Rebuild groups emitted by LocationBloc.
- LocationSource
- Vendor seam for device location.
- LocationState
- Immutable location state.
- SetPermissionStatusEvent
-
Set whether the app may read location (wire from
juice_permissions). - StartTrackingEvent
- Start continuous tracking.
- StopTrackingEvent
- Stop continuous tracking.