The [MapView
] class is a subclass of View. This viewport creates a camera that looks at a geospatial location on a map from a certain direction. The behavior of MapView
is generally modeled after that of Mapbox GL JS.
It's recommended that you read the Views and Projections guide before using this class.
import {MapView} from '@deck.gl/core';
const view = new MapView({id, ...});
MapView
takes the same parameters as the View superclass constructor, plus the following:
repeat
(Boolean
) - Whether to render multiple copies of the map at low zoom levels. Defaultfalse
.
To render, MapView
needs to be used together with a viewState
with the following parameters:
longitude
(Number
) - longitude at the map centerlatitude
(Number
) - latitude at the map centerzoom
(Number
) - zoom levelpitch
(Number
, optional) - pitch angle in degrees. Default0
(top-down).bearing
(Number
, optional) - bearing angle in degrees. Default0
(north).maxZoom
(Number
, optional) - max zoom level. Default20
.minZoom
(Number
, optional) - min zoom level. Default0
.maxPitch
(Number
, optional) - max pitch angle. Default60
.minPitch
(Number
, optional) - min pitch angle. Default0
.
The default controller of a MapView
is MapController.
By default, MapView
uses the MapController
to handle interactivity. To enable the controller, use:
const view = new MapView({id: 'base-map', controller: true});
MapController
supports the following interactions:
dragPan
: Drag to pandragRotate
: Drag while pressing shift/ctrl to rotatescrollZoom
: Mouse wheel to zoomdoubleClickZoom
: Double click to zoom in, with shift/ctrl down to zoom outtouchZoom
: Pinch zoomtouchRotate
: Multi-touch rotatekeyboard
: Keyboard (arrow keys to pan, arrow keys with shift/ctrl down to rotate, +/- to zoom)
You can further customize its behavior by extending the class:
import {MapController} from '@deck.gl/core';
class MyMapController extends MapController {}
const view = new MapView({id: 'base-map', controller: MyMapController});
See the documentation of Controller for implementation details.