This Location Tracker app is built using Kotlin and integrates with the Google Maps API to display maps and track the user's current location. It also utilizes the Geofencing API to set a defined radius. When the user exits this radius, the app triggers an alert through a notification and a popup. Upon re-entering the radius, the app sends another popup notification. The app continues to work in the background using a service, even if the app is closed, ensuring uninterrupted geofencing alerts.
- Integrates Google Maps API to display maps and the user's current location.
- Implements geofencing to define a radius for location-based alerts.
- Uses a foreground service to send continuous location updates.
- Utilizes a broadcast receiver to trigger geofencing alerts.
- Built with Kotlin and uses Data Binding for efficient UI updates.
- Uses polylines to draw and display the user's movements on the map.
service
: Contains theTrackingService
, responsible for tracking user location in the background.broadcast
: Includes theBroadcastReceiver
for handling Geofencing alerts.ui
: Contains theMainActivity
, responsible for managing the UI.utils
: Contains utility classes.Constants
: Stores constant values used throughout the app.PermissionManager
: Handles permission requests and checks.
Kotlin: As the programming language.
Google Maps : For implementing maps.
GeoFencing : For radius.