npm install mapbox-gl-controls<link href="mapbox-gl-controls/theme.css" rel="stylesheet">import RulerControl from 'mapbox-gl-controls/lib/ruler';
map.addControl(new RulerControl(), 'top-right');
map.on('ruler.on', () => console.log('ruler: on'));
map.on('ruler.off', () => console.log('ruler: off'));
// with miles:
map.addControl(new RulerControl({
units: 'miles',
labelFormat: n => `${n.toFixed(2)} ml`,
}), 'top-right');import StylesControl from 'mapbox-gl-controls/lib/styles';
// with default styles:
map.addControl(new StylesControl(), 'top-left');
// with custom styles:
map.addControl(new StylesControl({
styles: [
{
label: 'Streets',
styleName: 'Mapbox Streets',
styleUrl: 'mapbox://styles/mapbox/streets-v9',
}, {
label: 'Satellite',
styleName: 'Satellite',
styleUrl: 'mapbox://styles/mapbox/satellite-v9',
},
],
onChange: (style) => console.log(style),
}), 'top-left');import CompassControl from 'mapbox-gl-controls/lib/compass';
map.addControl(new CompassControl(), 'top-right');import ZoomControl from 'mapbox-gl-controls/lib/zoom';
map.addControl(new ZoomControl(), 'top-right');import LanguageControl from 'mapbox-gl-controls/lib/language';
// with browser detect:
map.addControl(new LanguageControl());
// with custom language:
const languageControl = new LanguageControl({
language: 'ru',
});
map.addControl(languageControl);
// change language to multi language after control has been added:
languageControl.setLanguage('mul');import InspectControl from 'mapbox-gl-controls/lib/inspect';
map.addControl(new InspectControl(), 'bottom-right');import TooltipControl from 'mapbox-gl-controls/lib/tooltip';
map.addControl(new TooltipControl({ layer: '$fill' }));Simple compass
optionsObject (optional, default{})options.instantBoolean Show compass if bearing is 0 (optional, defaulttrue)
Inspect control to debug style layers and source
Localize map. Language can be set dynamically with .setLanguage(lang) method.
optionsObject (optional, default{})options.supportedLanguagesArray? (Supported languages)[https://docs.mapbox.com/help/troubleshooting/change-language/]options.languageString? One of the supported languages to applyoptions.excludedLayerIdsArray Array of layer id to exclude from localization (optional, default[])options.getLanguageFieldFunction? Accepts language and returns language field By default fields arename_LANGUAGEandnamefor multi language (mul)
Fires map ruler.on and ruler.offevents at the beginning and at the end of measuring.
optionsObject (optional, default{})options.unitsString Any units @turf/distance supports (optional, default'kilometers')options.labelFormatFunction? Accepts number and returns label Can be used to convert value to any measuring unitsoptions.fontArray Array of fonts (optional, default['Roboto Medium'])options.mainColorString Color of ruler lines (optional, default'#263238')options.secondaryColorString Color of halo and inner marker background (optional, default'#fff')options.fontSizeNumber Label font size inpx(optional, default12)options.fontHaloNumber Label font halo (optional, default1)options.textVariableAnchorArray Array of anchor positions (optional, default['top'])options.textAllowOverlapBoolean Is allowed to overlap labels (optional, defaultfalse)options.markerNodeSizeNumber Width and Height of the marker inpx(optional, default12)options.markerNodeBorderWidthNumber Width of the marker's border inpx(optional, default2)
Adds style switcher similar to Google Maps.
optionsObject (optional, default{})
Shows tooltip on hover on some layer or whole map.
optionsObject (optional, default{})
Simple zoom control
