// the find
rnmapbox/maps
A Mapbox react native module for creating custom maps
Community-maintained React Native wrapper around the Mapbox Maps SDK for iOS and Android, supporting v11 of the native SDKs. It exposes most of the Mapbox layer/source/annotation system as React components, and also works with MapLibre. Target audience is React Native teams that need real map functionality beyond simple pin-dropping.
- Very broad API coverage: vector/raster/dem sources, 10+ layer types, terrain, atmosphere, offline packs, snapshot manager, shape animators — most things the native SDK can do are exposed here
- Expo plugin support with a custom dev client path, which is the correct approach and spares you the 'Expo Go doesn't work' surprise
- Jest mocks are shipped in the package itself (`setup-jest`), which is a small but genuinely helpful touch that most RN native modules skip entirely
- Code generation via EJS templates for layer managers keeps Android and iOS implementations in sync and reduces the manual drift that plagues similar community wrappers
- The README has an open 'call for additional maintainers' pinned at the top — this is a real bus-factor warning, not just boilerplate; bus factor concerns for a native module of this complexity are serious
- Mapbox SDK v11 requires a paid API key even for basic map tiles, and there's no clear path in the docs to swap in a free MapLibre tile source — the MapLibre topic tag is present but first-class MapLibre support documentation is sparse
- Mixed Kotlin/Java across the Android side (ExpressionParser.java, several event files still in Java) indicates incomplete migration, which can cause occasional interop headaches and means contributors need to understand both
- Test coverage is shallow: the unit tests mock the native modules entirely and don't catch regressions in the bridge serialization logic, which is exactly where bugs in RN native modules tend to live