On this page
Download map tiles along a specific route - Kotlin SDK
The MapTiler SDK for Kotlin provides a powerful Offline Pack API that allows you to download map tiles along a specific route defined by a GeoJSON LineString for use without an active internet connection.
Before you begin, ensure you have followed the Android getting started with offline pack API to set up your project and obtain your API key.
Offline Pack for a Route (GeoJSON LineString)
import com.maptiler.maptilersdk.offline.MTOfflineManager
import com.maptiler.maptilersdk.offline.MTOfflineRegionDefinition
import com.maptiler.maptilersdk.offline.MTOfflineRegionGeometry
import com.maptiler.maptilersdk.map.style.MTMapReferenceStyle
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.launch
// Your GeoJSON LineString
val routeGeoJson = """
{
"type": "LineString",
"coordinates": [
[8.5417, 47.3769],
[8.5427, 47.3779],
[8.5437, 47.3789]
]
}
"""
MainScope().launch {
try {
// Parse the route geometry from GeoJSON
val geometry = MTOfflineRegionGeometry.Route.fromGeoJson(routeGeoJson)
// Create the route definition with 1000m padding
val routeDefinition = MTOfflineRegionDefinition(
geometry = geometry,
minZoom = 0,
maxZoom = 14,
referenceStyle = MTMapReferenceStyle.STREETS,
padding = 1000.0
)
// Create and download the pack
val pack = MTOfflineManager.createPack(context, routeDefinition)
pack.download()
println("Route download started")
} catch (e: Exception) {
e.printStackTrace()
}
}
Learn more
For more information browse our API Reference
Check out our SDK Kotlin Examples.
Was this helpful?