finds.dev← search

// the find

kosukesaigusa/geoflutterfire_plus

★ 65 · Dart · MIT · updated Mar 2026

🌍💙🔥 geoflutterfire_plus allows your flutter apps to query geographic data saved in Cloud Firestore. This package is fork from GeoFlutterFire, and tried to be constantly maintained to work with latest Flutter SDK, Dart SDK, and other dependency packages.

A maintained fork of GeoFlutterFire that enables geographic queries against Cloud Firestore using geohashes. It wraps the standard 9-neighbor geohash query pattern Firebase documents describe, with Flutter-friendly stream and future APIs. Aimed at Flutter devs building location-aware apps on Firebase who were burned by the unmaintained original package.

- withConverter support is properly implemented, so you get type-safe queries rather than working with raw Map<String, dynamic> everywhere

- Exposes both subscribeWithin (Stream) and fetchWithin (Future) variants, plus WithDistance versions that include calculated distance from center — saves you from reimplementing that math client-side

- queryBuilder parameter lets you chain additional Firestore where/orderBy conditions onto the geo query, which the original GeoFlutterFire never handled cleanly

- Has actual unit tests for the math and geo_fire_point logic, not just widget smoke tests

- The package still specifies Dart SDK '>=2.17.0 <3.0.0' in the README prerequisites despite being actively pushed to in 2026 — the pubspec may be updated but the docs are stale and that will confuse people

- No limit or orderBy support at the query level by design (Firestore composite index limitation), but there's no pagination story at all — for any real production use with many nearby documents you're pulling everything into memory and sorting client-side

- 65 stars and 11 forks is very thin adoption, which matters for a geo library because edge cases around antimeridian crossing, polar regions, and geohash precision selection are the kind of bugs that only surface in production with real data

- The geopointFrom callback pattern is a leaky abstraction — every caller has to know the internal Firestore document structure to extract a GeoPoint, and there's no built-in convention or helper for the standard {geo: {geopoint, geohash}} shape the library itself writes

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 →