plug_location_map 1.0.0
plug_location_map: ^1.0.0 copied to clipboard
Plug-and-play Google Maps location package for Flutter. Body-only — host app provides its own AppBar. Handles permissions, GPS, Zomato map picker, Instacart address form, Firebase persistence, offline [...]
Changelog #
1.0.0 #
Initial release.
Features #
- Body-only architecture — host app provides its own
AppBar, package never renders aScaffoldorAppBar. PlugAddressmodel with clean dot-notation access (.name,.street,.city,.pincode,.lat,.lng,.latlng,.fullAddress,.shortTitle,.isSynced).- Zomato-style map picker with a draggable center pin and live reverse-geocoding (600 ms debounce).
- Instacart-style add/edit address form with address-type pills (Home / Work / Site / Other) and ZIP → city/state auto-fill.
- Working Google Places autocomplete search (350 ms debounce).
- "Choose address" list with radio selection; edit opens a full separate page with a delete button.
NoLocationScreenshown when the user exits without selecting a location, with an "Add Your Location" CTA.- First-open flow: GPS detected with no saved addresses routes straight to the address form.
- App-open
PlugLocationGateresolving saved → GPS → permission/GPS-disabled/no-location states. - Live delivery tracking screen with a follow-camera and ETA badge.
- Riverpod providers for selected address, saved addresses, flow status, live location, search, and form state.
- Firebase Firestore persistence under
users/{userId}/addresseswith security rules documented. - Offline-first sync via
riverpod_offline_sync^1.0.6 (every add / update / delete is queued with an idempotency key). - Permissions via
permission_handler_package^1.0.7. - Full theming through
PlugMapTheme(AuthColors palette, Urbanist typography, ScreenUtil sizing). - Optional GoRouter helpers in
plug_router_helper.dart.