Skip to main content

CompassWidget

from v9.0

This widget visualizes bearing and pitch. Click it once to reset bearing to 0, click it a second time to reset pitch to 0. Supports MapView and GlobeView.

import {Deck} from '@deck.gl/core';
import {CompassWidget} from '@deck.gl/widgets';
import '@deck.gl/widgets/stylesheet.css';

new Deck({
initialViewState: {
longitude: -122.4,
latitude: 37.8,
zoom: 11,
pitch: 45,
bearing: 30
},
controller: true,
widgets: [
new CompassWidget({placement: 'top-left'})
]
});

Installation

To install the dependencies from NPM:

npm install deck.gl
# or
npm install @deck.gl/core @deck.gl/widgets
import {CompassWidget, type CompassWidgetProps} from '@deck.gl/widgets';
import '@deck.gl/widgets/stylesheet.css';
new CompassWidget({} satisfies CompassWidgetProps);

To use pre-bundled scripts:

<script src="https://unpkg.com/deck.gl@^9.0.0/dist.min.js"></script>
<link href="https://unpkg.com/deck.gl@^9.0.0/dist/stylesheet.css" rel='stylesheet' />
<!-- or -->
<script src="https://unpkg.com/@deck.gl/core@^9.0.0/dist.min.js"></script>
<script src="https://unpkg.com/@deck.gl/widgets@^9.0.0/dist.min.js"></script>
<link href="https://unpkg.com/@deck.gl/widgets@^9.0.0/dist/stylesheet.css" rel='stylesheet' />
new deck.CompassWidget({});

Types

CompassWidgetProps

The CompassWidget accepts the generic WidgetProps and:

label (string, optional)

  • Default: 'Compass'

Tooltip message displayed while hovering a mouse over the widget.

transitionDuration (number, optional)

  • Default: 200

Bearing and pitch reset transition duration in milliseconds.

Styles

Learn more about how to replace icons in the styling guide.

NameTypeDefault
--icon-compassSVG Data UrlCustom Icon
--icon-compass-north-colorColorrgb(240, 92, 68)
--icon-compass-south-colorColorrgb(204, 204, 204)

Source

modules/widgets/src/compass-widget.tsx