Skip to content

Repository files navigation

MapConductor Heatmap

Description

MapConductor Heatmap is a map-implementation-agnostic heatmap overlay for the MapConductor iOS SDK. It renders heatmap data as a tile-based overlay so it works with any map implementation (Google Maps, MapLibre, MapKit, Mapbox, ArcGIS, etc.).

Setup

https://docs-ios.mapconductor.com/setup/


Usage

Basic HeatmapOverlay

Place HeatmapOverlay inside any XxxMapView content block and add points with HeatmapPoints:

XxxMapView(state: mapState){HeatmapOverlay(
state:HeatmapOverlayState(radiusPx:20, opacity:0.7)){HeatmapPoints([HeatmapPointState(
position:GeoPoint(latitude:35.6762, longitude:139.6503),
weight:1.0,
id:"point-1"),HeatmapPointState(
position:GeoPoint(latitude:35.6895, longitude:139.6917),
weight:2.5,
id:"point-2"),])}}

HeatmapPoints (batch)

For large datasets, use HeatmapPoints to add all points in a single update:

letpointStates:[HeatmapPointState]=buildPointList()XxxMapView(state: mapState){HeatmapOverlay(state:HeatmapOverlayState(radiusPx:20)){HeatmapPoints(pointStates)}}

HeatmapOverlayState

Use HeatmapOverlayState to control heatmap properties dynamically:

@StateprivatevarheatmapState=HeatmapOverlayState(
radiusPx:20,
opacity:0.7,
gradient:.default
)
// Update dynamically
heatmapState.radiusPx =30
heatmapState.opacity =0.5XxxMapView(state: mapState){HeatmapOverlay(state: heatmapState){HeatmapPoints(pointStates)}}

Custom HeatmapGradient

letgradient=HeatmapGradient(stops:[HeatmapGradientStop(position:0.0, color:UIColor(red:0, green:0, blue:1, alpha:0)), // transparent blue
HeatmapGradientStop(position:0.5, color:UIColor(red:0, green:1, blue:0, alpha:1)), // green
HeatmapGradientStop(position:1.0, color:UIColor(red:1, green:0, blue:0, alpha:1)), // red
])@StateprivatevarheatmapState=HeatmapOverlayState(gradient: gradient)

HeatmapPointState

HeatmapPointState allows per-point customization:

letpointState=HeatmapPointState(
position:GeoPoint(latitude:35.6762, longitude:139.6503),
weight:3.0,
id:"point-1")

API Reference

HeatmapOverlayState

PropertyTypeDefaultDescription
radiusPxInt20Blur radius of each point in pixels
opacityDouble0.7Layer opacity (0.0–1.0)
gradientHeatmapGradient.defaultColor gradient
maxZoomInt22Maximum zoom level for rendering

HeatmapGradient.default

Green (rgb(102, 225, 0)) at position 0.2 → Red (rgb(255, 0, 0)) at position 1.0.

Releases

Packages

Contributors

Languages