NIKA OnlyMapJS Latest release
Discord GitHub Docs

OnlyMapJS

A map rendering and visualization library for web, desktop, and mobile apps. With support for popular frameworks like React, it integrates seamlessly into your existing components via a robust two-way interface for custom map behavior; overlays, charts, and finely controlled story-map animations are all first-class supported alongside 30+ data layer types. Built-in GPU acceleration also means it scales very well for both 2D and 3D use-cases. It is both human and AI agent-readable by design, and troubleshooting is effortless with a compile-time validator and runtime error debugging tools.

01 — 48 pages

Features

One concept per page. Copy it, change one attribute, see what moves.

Getting started

Layers

Add scatterplot points

ScatterplotLayer points from a JSON file, sized by population with a sqrt scale and coloured by category.

Create a choropleth

Shade real country boundaries by GDP per capita with GeoJsonLayer. A threshold scale labels the legend classes.

Draw arcs and paths

The same five journeys twice: PathLayer follows the real driving route, ArcLayer curves straight between endpoints.

Animate trips

Move 48 vehicles at once with TripsLayer. Each carries its own departure time, so traffic builds and thins on its own.

Create a heatmap

HeatmapLayer turns thousands of points into a density surface, weighted so large events outweigh clusters of small ones.

Bin points into hexagons

HexagonLayer bins points into counts you can pick, with the tally encoded as both colour and height.

Add icons and labels

Mark places with IconLayer sprites cut from one atlas, then name them with TextLayer. A filter keeps only the biggest cities labelled.

Label many features

PopupLayer draws a WebGL badge on every earthquake above magnitude 5, over a heat ramp of all 1,960 on a dark map.

Aggregate by H3 cells

H3HexagonLayer draws pre-binned data from a column of H3 cell ids: 45 years of cyclone tracks. H3ClusterLayer merges cells into outlines.

Draw spatial index cells

S2Layer, GeohashLayer, QuadkeyLayer and A5Layer draw spatial index cells from a column of ids. The same power stations, binned four ways.

Draw 3D columns

Stand a ColumnLayer bar on every power station, sized by capacity and coloured by fuel. GridCellLayer is the square-cell sibling.

Rasters & tiles

3D, terrain & lighting

Stories & animation

Sources

Styling

Interaction

Widgets

02 — 6 pages

Examples

Complete maps on real data, some of them live. Copy one and swap in your own — the chrome and interaction carry over.

Transport & logistics

Urban planning

Climate & hazards

03 — 1 page

Integrations

Connect OnlyMapJS to the tools you already use.