Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/el/infobox-control

Infobox control for Mapbox GL JS
https://github.com/el/infobox-control

Last synced: about 17 hours ago
JSON representation

Infobox control for Mapbox GL JS

Awesome Lists containing this project

README

        

# Mapbox GL JS Infobox

Adds an infobox and/or gradient switch to `mapbox-gl`

![](https://img.shields.io/bundlephobia/min/mapbox-gl-infobox) ![](https://img.shields.io/npm/v/mapbox-gl-infobox) ![](https://img.shields.io/npm/types/mapbox-gl-infobox) ![](https://img.shields.io/npm/l/mapbox-gl-infobox)

## Installation:

```bash
npm i mapbox-gl-infobox --save
```

## Usage:

```ts
import { MapboxGradientBoxControl, MapboxInfoBoxControl } from "mapbox-gl-infobox";
import { Map as MapboxMap } from "mapbox-gl";

import "mapbox-gl-infobox/styles.css";

const map = new MapboxMap();
map.addControl(new MapboxGradientBoxControl());
map.addControl(new MapboxInfoBoxControl());
```

## Options:
You can also supply your own options.

```ts
const layerId = "features";
const minMaxValues = {minValue: 0, maxValue: 100};
const weightGetter = properties => properties ? properties['weight'] : 0;
const gradientOptions: MapboxGradientBoxOptions = {
layerId,
minMaxValues,
weightGetter
};
map.addControl(new MapboxGradientBoxControl(gradientOptions));

const formatter = properties => properties ? `Name: ${properties['name']}` : '';
const infoboxOptions: MapboxInfoBoxOptions = {
layerId,
formatter
};
map.addControl(new MapboxInfoBoxControl(infoboxOptions));
```

## Screenshots

![Closed](assets/hover.png)