Skip to content

useClustering

React hook for managing clustered markers. Must be used inside a GebetaMap component that has clustering enabled via the clustering prop.

Import

tsx
import { useClustering } from '@gebeta/react/clustering';

Usage

tsx
function MarkersLayer() {
  const { addMarker, removeMarker, clearMarkers } = useClustering();

  useEffect(() => {
    addMarker({ id: '1', lngLat: [38.7685, 9.0161] });
    return () => clearMarkers();
  }, []);

  return null;
}

Returns

PropertyTypeDescription
addMarker(marker: MarkerData) => voidAdd a marker to the cluster
removeMarker(markerId: string) => booleanRemove a marker by ID
clearMarkers() => voidRemove all markers
getMarkers() => MarkerData[]Get all current markers
getMarker(markerId: string) => MarkerData | undefinedGet a single marker by ID
updateOptions(options: Partial<ClusteringOptions>) => voidUpdate clustering options
getOptions() => ClusteringOptionsGet current clustering options