finds.dev← search

// the find

airbnb/AirMapView

★ 1,878 · Java · Apache-2.0 · updated Nov 2025

A view abstraction to provide a map user interface with various underlying map providers

AirMapView is an Android abstraction layer that lets you swap between Google Maps V2, Mapbox, and web-based Leaflet maps without rewriting your app code. It was built so Airbnb could ship map functionality on devices without Google Play Services. The target audience is Android developers who need map portability across device ecosystems, particularly for non-Google markets.

The provider-swap-at-runtime design is genuinely useful — you initialize once and the fragment underneath can change without touching your marker/polygon code. The web fallback using Leaflet is a practical solution rather than a hack: it uses real JavaScript bridge callbacks so marker clicks still work. The listener interface set is reasonably complete, covering camera, marker drag, info window, and snapshot callbacks. China-specific map types (Baidu, Gaode, Leaflet Google China) show real-world thinking about markets where Google Maps simply doesn't work.

The last real activity was years ago — the November 2025 push is CI/workflow noise, not feature work. The library is pinned to Google Maps V2 and a WebView-based Mapbox wrapper that predates the Mapbox Maps SDK for Android v10 by several generations; you'd be shipping a deprecated integration stack. There is essentially no test coverage for anything that matters: the four test files only exercise builder logic, not the actual map interaction or JS bridge. The Travis CI badge is dead (Travis is effectively defunct for open source), signaling nobody is watching the build.

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 →