# @types/mapboxgl-spiderifier

> TypeScript definitions for mapboxgl-spiderifier

Latest version **1.0.3** (published 2026-02-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install @types/mapboxgl-spiderifier
pnpm add @types/mapboxgl-spiderifier
yarn add @types/mapboxgl-spiderifier
bun add @types/mapboxgl-spiderifier
```

## Health

**Score 60/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; popular repo; extremely popular.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2026-02-21 |
| First published | 2024-01-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 7.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 51381 |
| Maintainers | types |

## Links

- npm: https://www.npmjs.com/package/@types/mapboxgl-spiderifier
- Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
- Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mapboxgl-spiderifier
- npm.io page: https://npm.io/package/@types/mapboxgl-spiderifier

## Dependencies (1)

- [@types/mapbox-gl](https://npm.io/package/@types/mapbox-gl.md) <3.5

## Recent versions

- 1.0.3 (latest) — 2026-02-21
- 1.0.2 (ts4.6) — 2024-01-29
- 1.0.1 — 2024-01-26
- 1.0.0 — 2024-01-25

## README

# Installation
> `npm install --save @types/mapboxgl-spiderifier`

# Summary
This package contains type definitions for mapboxgl-spiderifier (https://github.com/bewithjonam/mapboxgl-spiderifier).

# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mapboxgl-spiderifier.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mapboxgl-spiderifier/index.d.ts)
````ts
// https://github.com/bewithjonam/mapboxgl-spiderifier
import { LngLat, Map, MapboxGeoJSONFeature, Marker } from "mapbox-gl";

export function popupOffsetForSpiderLeg(spiderLeg: SpiderLeg, offset?: number): SpiderLegOffsets;

export interface SpiderLegOffsets {
    top: SpiderLegOffset;
    "top-left": SpiderLegOffset;
    "top-right": SpiderLegOffset;
    bottom: SpiderLegOffset;
    "bottom-left": SpiderLegOffset;
    "bottom-right": SpiderLegOffset;
    left: SpiderLegOffset;
    right: SpiderLegOffset;
    [_: string]: SpiderLegOffset;
}
export type SpiderLegOffset = [number, number];

declare class MapboxglSpiderifier {
    constructor(map: Map, options: Options);

    each: (spiderLeg: SpiderLeg) => void;
    spiderfy: (latLng: LngLat | [number, number], features: Array<Record<string, unknown>>) => void;
    unspiderfy: () => void;
}

export interface Options {
    /** Default: false */
    animate?: boolean;
    /**
     * Number in milliseconds
     * Default 200 */
    animationSpeed?: number;
    /**
     * number of markers till which the spider will be circular and beyond this threshold,
     * it will spider in spiral.
     *
     * 0 -> always spiral; Infinity -> always circle
     * Default: 9
     */
    circleSpiralSwitchover?: number;
    customPin?: boolean;
    initializeLeg?: (spiderLeg: SpiderLeg) => void;
    onClick?: (event: MouseEvent, spiderLeg: SpiderLeg) => void;
    // --- <SPIDER TUNING Params>
    circleFootSeparation?: number; // Default: 25, // related to circumference of circle
    spiralFootSeparation?: number; // Default: 28, // related to size of spiral (experiment!)
    spiralLengthStart?: number; // Default: 15, // ditto
    spiralLengthFactor?: number; // Default: 4, // ditto
}
export default MapboxglSpiderifier;

export interface SpiderLeg {
    feature: MapboxGeoJSONFeature;
    elements: {
        container: HTMLElement;
        line: HTMLElement;
        pin: HTMLElement;
    };
    mapboxMarker: Marker;
    params: {
        /** horizontal offset of pin from the center of spider */
        x: number;
        /** vertical offset of pin from the center of spider */
        y: number;
        /** angle of line from the center of spider */
        angle: number;
        /** leg line length */
        legLength: number;
        /** index of spider leg */
        index: number;
    };
}

````

### Additional Details
 * Last updated: Sat, 21 Feb 2026 05:22:18 GMT
 * Dependencies: [@types/mapbox-gl](https://npmjs.com/package/@types/mapbox-gl)

# Credits
These definitions were written by [manoj kumar](https://github.com/bewithjonam), and [Lance Gliser](https://github.com/lancegliser).

---
_Source: https://npm.io/package/@types/mapboxgl-spiderifier · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
