On this page

    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