Overlays

react-map-gl provides a basic overlay API that enables applications to overlay data on top of maps.

Note that the built-in overlays are intended to provide basic functionality only. For more feature rich and performant data visualization overlay use cases, consider using deck.gl and/or mapbox styles.

Example

import {SVGOverlay} from 'react-map-gl';

function redraw({project}) {
  const [cx, cy] = project([-122, 37]);
  return <circle cx={cx} cy={cy} r={4} fill="blue" />;
}

<MapGL {...viewport}>
  <SVGOverlay redraw={redraw} />
</MapGL>

Built-in Overlays

Built-in overlays are: SVGOverlay, HTMLOverlay, and CanvasOverlay. They are imported using

import {SVGOverlay, HTMLOverlay, CanvasOverlay} from 'react-map-gl';

Example Overlays

There are a couple of additional overlays in the examples folder that can be copied into applications ScatterplotOverlay, DraggablePointsOverlay, ChoroplethOverlay.

Third-party Overlays

Third party overlays can also be created. For example, the heatmap-overlay uses webgl-heatmap to create geographic heatmaps.

import HeatmapOverlay from 'react-map-gl-heatmap-overlay';
import cities from 'example-cities';

<MapGL {...viewport}>
  <HeatmapOverlay locations={cities} {...viewport} />
</MapGL>

Want to create and share your own overlay? Check the examples/additional-overlays folder for examples.

Remarks

  • In react-map-gl v1, overlays were exported directly from 'react-map-gl'.