finds.dev← search

// the find

Baseflow/flutter-geolocator

★ 1,329 · Dart · MIT · updated Jun 2026

Android and iOS Geolocation plugin for Flutter

The de-facto standard geolocation plugin for Flutter, covering Android, iOS, macOS, web, and Windows through Flutter's federated plugin architecture. If you're building a Flutter app that needs GPS coordinates, distance calculations, or location stream updates, this is what you reach for first.

The federated architecture is done properly — platform packages are endorsed, so you just add `geolocator` and the right implementation pulls in automatically without manual wiring. Android background location uses a foreground service with a configurable notification, which is the correct approach for Android 8+ battery and permission requirements rather than silently dying in the background. The position stream API returns a Dart `Stream<Position>`, which plays well with Flutter's reactive model and works cleanly with StreamBuilder. Active maintenance with per-platform CI workflows means platform-specific breakage gets caught before it lands.

The Android side is written in Java rather than Kotlin, which is increasingly an awkward choice for new contributors and means you can't use suspend functions or coroutines natively in the plugin layer. The web implementation is necessarily limited — it wraps the browser Geolocation API, which means you get whatever accuracy the browser decides to give you and no background updates at all, but this limitation isn't prominently documented. There are no geofencing or region monitoring APIs; if you need 'notify me when the user enters this area', you're on your own or using a separate package. The single-test coverage in the Android source (one test file for MethodCallHandlerImpl) is thin for the amount of state machine complexity in the location service lifecycle.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →