Skip to content

Maps for Native and Multi-platform Apps

Numerous frameworks will help you integrate Stadia Maps in your mobile, desktop, or multi-platform application. The variety of choices can be overwhelming at first, so we've written a high-level overview of some popular options. This should help you decide what's best for your use case.

MapLibre Native

MapLibre Native is the premier open-source vector map rendering library. Ongoing development is sponsored by a number of industry leaders, and Stadia Maps was instrumental in creating the organization. The core is mostly written in C++, has wrappers that provide a more native interface for iOS, Android, and other platforms, and supports native rendering APIs per-platform (ex: Metal on iOS).

Tip

If you are developing a native iOS, Android, or desktop app with the first-party stack (ex: Xcode + Swift for iOS), MapLibre Native is probably the best fit.

Get Started with MapLibre Native

Flutter MapLibre GL

Flutter MapLibre GL is a Flutter wrapper around MapLibre Native (iOS and Android) and MapLibre GL JS (web).

Tip

This package should probably be your first choice if you need to use vector tiles in a Flutter application, or if you care a lot about rendering performance and smoothness.

Flutter MapLibre GL uses the battle-tested MapLibre libraries under the hood, so it's both correct and performant on a variety of platforms. If you've used MapLibre on other platforms, this will feel at least somewhat familiar. And it even makes it easy to add annotations in a cross-platform way.

Get Started with Flutter MapLibre GL

flutter_map

flutter_map is a Flutter-first map library. It is currently built from the ground up (not a wrapper for an existing native library), and boasts broad cross-platform compatibility due to its design. It is loosely inspired by Leaflet, a JavaScript raster map library known for its simple API, and features a wide range of plugins.

Tip

flutter_map excels at interactive raster maps. Of the available multi-platform libraries, it has the simplest API and has compatibility with the greatest number of platforms.

flutter_map is a good choice if you only need a 2D raster map and want broad compatibility. However, if you want to render vector tiles, Flutter MapLibre GL is a better choice at this time. There are ongoing efforts within the flutter_map community to add a performant vector tile renderer.

Get Started with flutter_map

MapLibre React Native

MapLibre React Native is a React Native wrapper around MapLibre Native. You get all the performance of native and any improvements in the core library for free! If you previously used rnmapbox, it is essentially a drop-in replacement. The project also has extensive examples and documentation in the project's GitHub repository.

Get Started with MapLibre React Native

Join Our Mailing List

Get occasional updates on new features, releases, and product news. Unsubscribe anytime.