@types/mapboxgl-spiderifier
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

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/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

Credits

These definitions were written by manoj kumar, and Lance Gliser.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/mapboxgl-spiderifier

Weekly Downloads

152

Version

1.0.2

License

MIT

Unpacked Size

7.68 kB

Total Files

5

Last publish

Collaborators

  • types