GLMap 2.2
GLMap is an offline-first SDK for native iOS and Android apps. Download regional data once, then render maps, search, and build routes on the device without a connection. The same APIs work online too, with map tiles, search, and routing served on demand.
Start here
- Create an API key.
- Follow the installation and first-map guide.
- Run the reference app for your platform:
Building with Flutter, Kotlin Multiplatform, or React Native? The cross-platform packages are in beta.
What's included
GLMap: map rendering
- GPU-accelerated vector maps: Metal on Apple platforms, Vulkan with OpenGL fallback on Android
- MapCSS styles
- 3D terrain and elevation layers
- Markers, clustering, tracks, polygons, and GeoJSON
GLSearch: search
- Addresses, places, POIs, categories, and autocomplete
- One request model for online and offline search
- Offline search uses the downloaded map data; no separate download
- Location-aware spelling corrections through the online service
- Results are regular
GLMapVectorObjectinstances, ready for a list or the map
GLRoute: routing
- Online and offline routing built on Valhalla
- Historical speeds by time of day, calibrated from real trips and built into offline navigation data
- Driving, cycling, walking, hiking, wheelchair, and blind-pedestrian profiles
- Alternative routes, maneuvers, route tracking, and elevation
GLMapCore: shared foundation
- Offline data downloads and storage
- Geometry construction and inspection
- Used by Map, Search, and Route
Search, Route, and Core work without a map view. See Use Core, Search, or Route without a map view.
How offline data works
Data is downloaded per region as separate datasets. Download only what your features need:
| Dataset | Works offline | Updates |
|---|---|---|
| Map | Map display and search | Monthly |
| Navigation | Route calculation | Monthly |
| Elevation | 3D terrain and elevation | Not updated |
Downloaded data has no expiry date and needs no periodic online activation. Updates are full snapshots and optional: your app decides when to download them, and installing an update does not interrupt offline use of the installed data. To check an app end to end, follow Before switching to airplane mode.
Supported platforms
- iOS 15 and later, including Mac Catalyst
- macOS 12 and later
- Android API 21 and later; the reference demo targets Android SDK 37
GLMapCorebuild support for watchOS 10 and later- Flutter, Kotlin Multiplatform, and React Native: beta
API reference
- Apple API: Swift and Objective-C — one DocC site for GLMapCore, GLMap, GLSearch, GLRoute, and the Swift conveniences. Use the language selector to switch declarations.
- Android Java/Kotlin API
Upgrading
Review the 2.2.0 migration notes before updating: this release includes source and binary API changes.
Questions? Write to [email protected].