Controls the perspective from which the user sees the map.
To use imperative methods, pass in a ref object:
const camera = useRef<Camera>(null);
useEffect(() => {
camera.current?.setCamera({
centerCoordinate: [lon, lat],
});
}, []);
return (
<Camera ref={camera} />
);| Prop | Type | Default | Required | Description |
|---|---|---|---|---|
| type | literal |
none |
false |
Allows static check of the data type. For internal use only. |
| centerCoordinate | Position |
none |
false |
The location on which the map should center. |
| bounds | intersection |
none |
false |
The corners of a box around which the map should bound. Contains padding props for backwards compatibility; the root padding prop should be used instead. |
| heading | number |
none |
false |
The heading (orientation) of the map. |
| pitch | number |
none |
false |
The pitch of the map. |
| zoomLevel | number |
none |
false |
The zoom level of the map. |
| padding | shape |
none |
false |
The viewport padding in points. |
| paddingLeft | number |
none |
true |
Left padding in points |
| paddingRight | number |
none |
true |
Right padding in points |
| paddingTop | number |
none |
true |
Top padding in points |
| paddingBottom | number |
none |
true |
Bottom padding in points |
| animationDuration | number |
none |
false |
The duration the map takes to animate to a new configuration. |
| animationMode | `| 'flyTo' | |||
| | 'easeTo' | ||||
| | 'linearTo' | ||||
| | 'moveTo' | ||||
| | 'none'` | none |
false |
The easing or path the camera uses to animate to a new configuration. | |
| followUserMode | UserTrackingMode |
none |
false |
The mode used to track the user location on the map. |
| followUserLocation | boolean |
none |
false |
Whether the map orientation follows the user location. |
| followZoomLevel | number |
none |
false |
The zoom level used when following the user location. |
| followPitch | number |
none |
false |
The pitch used when following the user location. |
| followHeading | number |
none |
false |
The heading used when following the user location. |
| minZoomLevel | number |
none |
false |
The lowest allowed zoom level. |
| maxZoomLevel | number |
none |
false |
The highest allowed zoom level. |
| maxBounds | shape |
none |
false |
The corners of a box defining the limits of where the camera can pan or zoom. |
| ne | Position |
none |
true |
FIX ME NO DESCRIPTION |
| sw | Position |
none |
true |
FIX ME NO DESCRIPTION |
| defaultSettings | shape |
none |
false |
The configuration that the camera falls back on, if no other values are specified. |
| type | literal |
none |
false |
Allows static check of the data type. For internal use only. |
| centerCoordinate | Position |
none |
false |
The location on which the map should center. |
| bounds | intersection |
none |
false |
The corners of a box around which the map should bound. Contains padding props for backwards compatibility; the root padding prop should be used instead. |
| heading | number |
none |
false |
The heading (orientation) of the map. |
| pitch | number |
none |
false |
The pitch of the map. |
| zoomLevel | number |
none |
false |
The zoom level of the map. |
| padding | signature |
none |
false |
The viewport padding in points. |
| animationDuration | number |
none |
false |
The duration the map takes to animate to a new configuration. |
| animationMode | union |
none |
false |
The easing or path the camera uses to animate to a new configuration. |
| allowUpdates | boolean |
none |
false |
Whether the camera should send any configuration to the native module. Prevents unnecessary tile fetching and improves performance when the map is not visible. Defaults to true. |
| triggerKey | string | number |
none |
false |
Any arbitrary primitive value that, when changed, causes the camera to retry moving to its target configuration. (Not yet implemented.) |
| onUserTrackingModeChange | func |
none |
false |
Executes when user tracking mode changes. signature: (event:MapboxGLEvent) => void |
Sets any camera properties, with default fallbacks if unspecified.
| Name | Type | Required | Description |
|---|
camera.current?.setCamera({
centerCoordinate: [lon, lat],
});Set the camera position to enclose the provided bounds, with optional
padding and duration.
| Name | Type | Required | Description |
|---|
camera.fitBounds([lon, lat], [lon, lat]);
camera.fitBounds([lon, lat], [lon, lat], [20, 0], 1000);Sets the camera to center around the provided coordinate using a realistic 'travel'
animation, with optional duration.
| Name | Type | Required | Description |
|---|
camera.flyTo([lon, lat]);
camera.flyTo([lon, lat], 12000);Sets the camera to center around the provided coordinate, with optional duration.
| Name | Type | Required | Description |
|---|
camera.moveTo([lon, lat], 200);
camera.moveTo([lon, lat]);Zooms the camera to the provided level, with optional duration.
| Name | Type | Required | Description |
|---|
camera.zoomTo(16);
camera.zoomTo(16, 100);