Yatmo mobile SDKs

The same neighbourhood map, points of interest, travel times and summaries as the web plugins, inside your native iOS and Android app. Swift, Kotlin, React Native and Flutter, all built on MapLibre Native and the Yatmo REST API. If your app is a WebView, you do not even need an SDK.

Yatmo map in a listing screen of an iOS demo app Yatmo map in a listing screen of an Android demo app
The example apps shipped with the iOS and Android SDKs: real map, POIs and walking times around a listing in Brussels.

Three ways in

Native SDKWebView / hybridBring your own map
Best for Apps written in Swift, Kotlin, React Native or Flutter that want a native map with native gestures and performance. Capacitor, Ionic, Cordova apps, or a native app that can host a WebView on the listing page. Teams that already run MapLibre (or another vector-tile stack) and only want Yatmo’s tiles, styles and data.
Effort One dependency, ten lines of code. One URL. Same parameters as the iframe plugin. You draw the markers and polygons yourself from the REST API.
Look and feel Native map, Yatmo POI icons, isochrones, your own popups and UI. Exactly the web plugin (map, summary, scores, tabs). Whatever you build.
Start here iOS · Android · React Native · Flutter WebView, Capacitor, Ionic Tiles, styles and POIs

Platforms

Name In Type Description
iOS Swift Package YatmoSDK, iOS 15+, Swift 5.9, MapLibre Native 6. UIKit view and SwiftUI wrapper. Guide · GitHub.
Android Gradle library com.github.Yatmo:yatmo-sdk-android (JitPack), minSdk 24, Kotlin coroutines, MapLibre Android 11. Guide · GitHub.
React Native npm package @yatmo/react-native, TypeScript, on top of @maplibre/maplibre-react-native 11. Guide · GitHub.
Flutter Dart package yatmo_sdk on pub.dev, on top of maplibre_gl. Guide · GitHub.
Capacitor, Ionic, Cordova no SDK The JavaScript and iframe plugins work as they do on the web. Guide.
Kotlin Multiplatform, .NET MAUI, Xamarin REST No dedicated SDK yet. Use the bring your own map path with the platform’s MapLibre binding, or a WebView.
Open source, MIT licence
The four SDKs are published on GitHub under the yatmo organisation with an MIT licence, and on the package registries of each platform (Swift Package Manager, JitPack, npm, pub.dev). Read, fork and restyle everything; only the Yatmo API needs your licence key.

What the SDKs contain

Every SDK exposes the same three building blocks, with names adapted to the platform’s conventions:

How it works

The web plugins render vector tiles served by Yatmo with a style written in the Mapbox / MapLibre style specification. MapLibre Native reads exactly the same style file, so the native map looks like the web map: same colours, same fonts, same seven styles. On top of that base map, the SDK:

  1. calls GET /Points with the visible bounds each time the camera settles (debounced), and places one marker per POI using the same icon set as the web plugin, served from the Yatmo CDN;
  2. calls GET /Isochrone/GetMultipleTimes when you enable isochrones and draws the three nested polygons;
  3. leaves data screens to you: call summary, scores, enrichment or summaryText and render the result with your own components.

No Google Maps or Apple MapKit dependency. No API key from Google or Apple. Country coverage and languages are the same as the plugins: see Countries & languages.

Authentication

Mobile apps use your frontend key, the same one as the plugins. On the web that key is locked to your domain names. In an app it is locked to your app ids: the iOS bundle identifier and the Android application id, which you register once in your Yatmo account. The SDK reads the id from the running app and sends it with every request. Read Mobile authentication before shipping.

Next steps