Heatmap Helper - Kotlin SDK

This example show how to aggregate point features into a heatmap. Control style options like weight, radius, intensity, opacity, and optionally use a color ramp.

The vector layer helpers take your data and styling options and create the right source + layers on the current map style with minimal code. Helpers normalize sensible defaults like zoom range, outlines, etc. so you can get results quickly.

Heatmap Helper - Kotlin SDK

Basic flow


import com.maptiler.maptilersdk.map.MTMapView
import com.maptiler.maptilersdk.map.MTMapOptions
import com.maptiler.maptilersdk.map.MTMapViewController
import com.maptiler.maptilersdk.map.style.MTMapReferenceStyle
import com.maptiler.maptilersdk.helpers.MTHeatmapLayerOptions
import com.maptiler.maptilersdk.helpers.MTHeatmapLayerHelper

// After your MTMapView is on screen (Compose example)
val controller = MTMapViewController(context)
MTMapView(
    referenceStyle = MTMapReferenceStyle.DATAVIZ,
    options = MTMapOptions(),
    controller = controller,
)

// 1) Get the style once available
controller.style?.let { style ->
    val helper = style.heatmapHelper()
    val options = MTHeatmapLayerOptions(
        data = "https://docs.maptiler.com/sdk-js/assets/earthquakes.geojson",
        property = "mag", // optional weight property
        weight = 1.0,
        radius = 20.0,
        intensity = 1.0,
        opacity = 0.8,
    )
    helper.addHeatmap(options)
}

Create a hetmap using a color ramp


import com.maptiler.maptilersdk.map.MTMapView
import com.maptiler.maptilersdk.map.MTMapOptions
import com.maptiler.maptilersdk.map.MTMapViewController
import com.maptiler.maptilersdk.map.style.MTMapReferenceStyle
import com.maptiler.maptilersdk.helpers.MTHeatmapLayerOptions
import com.maptiler.maptilersdk.helpers.MTHeatmapLayerHelper
import com.maptiler.maptilersdk.colorramp.MTColorRamp
import kotlinx.coroutines.launch

// After your MTMapView is on screen (Compose example)
val controller = MTMapViewController(context)
MTMapView(
    referenceStyle = MTMapReferenceStyle.DATAVIZ,
    options = MTMapOptions(),
    controller = controller,
)

val scope = rememberCoroutineScope()
scope.launch {
    val style = controller.style ?: return@launch
    val rampCollection = style.colorRampCollection()
    val ramp: MTColorRamp = rampCollection.turbo()
    val helper = style.heatmapHelper()
    val options = MTHeatmapLayerOptions(
        data = "https://docs.maptiler.com/sdk-js/assets/earthquakes.geojson",
        property = "mag",
        radius = 20.0,
    )
    helper.addHeatmap(options, ramp)
}

Learn more

Check the MTHeatmapLayerHelper reference to understand how to create and manage point layers.

Review MTHeatmapLayerOptions to explore all available configuration options.

Was this helpful?
Mobile SDK
Android
Heatmap Helper - Kotlin SDK
Heatmap Helper