Lyokone/flutterlocation
Lyokone/flutterlocation has 1,157 GitHub stars and 847 forks. GitHot measured 0 in 7 days. Last checked 2026-11-09 09:10 UTC. Last push 2026-08-07.
A Flutter plugin to easily handle realtime location in Android, iOS, macOS, Web, Windows and Linux. Provides settings for optimizing performance or battery.
Measured star growth
- in 24h
- Update delayed
- in 7 days
- 0
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original📍 Flutter Location
The easiest way to get a device's location in real-time — on every platform Flutter runs.
One simple API for GPS coordinates, live location streams and background tracking on Android, iOS, macOS, Web, Windows and Linux.
📖 Documentation · 🌐 Live web demo · 📦 pub.dev · 💬 Feedback
✨ Why Location?
- 🌍 Truly cross-platform — the same code runs on all six Flutter targets, no per-platform branching.
- ⚡ One-line to a fix —
await location.getLocation()and you're done. - 🔴 Real-time streams — subscribe to
onLocationChangedfor continuous updates. - 🌙 Background tracking — keep receiving locations while your app is backgrounded on Android & iOS.
- 🎛️ Tunable — pick accuracy, update interval and distance filter to balance precision vs. battery.
- 🔔 Customizable notification — full control over the Android foreground-service notification.
- 📊 Rich data — latitude, longitude, altitude, speed, heading, accuracy, mock detection and more.
- 🛡️ Battle-tested — one of the most-used location plugins in the Flutter ecosystem, maintained since 2017.
📱 Platform support
| Feature | Android | iOS | macOS | Web | Windows | Linux |
|---|---|---|---|---|---|---|
| One-time location | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Location stream | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Background updates | ✅ | ✅ | — | — | — | — |
| Permission handling | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Windows uses
Windows.Devices.Geolocation; Linux talks to GeoClue2 over D-Bus. Both require the system location service to be enabled.
🚀 Quick start
Add the package:
dependencies:
location: ^10.0.0
Get a location:
import 'package:location/location.dart';
final location = Location();
// Make sure the service is on and permission is granted.
if (!await location.serviceEnabled() && !await location.requestService()) return;
if (await location.requestPermission() != PermissionStatus.granted) return;
// One-time fix…
final current = await location.getLocation();
print('${current.latitude}, ${current.longitude}');
// …or a live stream.
location.onLocationChanged.listen((loc) {
print('Moved to ${loc.latitude}, ${loc.longitude}');
});
That's it. Platform setup (permissions, background mode, sandbox entitlements) and the full API are covered in the package README and the documentation website.
📦 Packages in this repository
| Package | Description | pub.dev |
|---|---|---|
location |
The plugin you use in your app. | |
location_platform_interface |
Shared platform interface. | |
location_web |
Web implementation. |
🤝 Contributing
Issues and pull requests are very welcome — this plugin is community-maintained and we're always looking for help. Browse the open issues to get started, or open a new one to report a bug or request a feature.
👥 Maintainers
- Guillaume Bernos (original creator)
- Bartek Pacia
📄 License
Released under the MIT License. © 2017 Guillaume Bernos.
Explore related projects
freeCodeCamp/freeCodeCamp
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
458,924 starsdonnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
377,562 starsreact/react
The library for web and native user interfaces.
252,480 starsvuejs/vue
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
212,624 stars