MapboxMap class
The MapboxMap
object represents the map on your page. It exposes methods
and properties that enable you to programmatically change the map,
and fires events as users interact with it.
You create a MapboxMap
by specifying a container
and other options.
Then Mapbox GL JS initializes the map on the page and returns your MapboxMap
object.
var map = MapboxMap(
MapOptions(
container: 'map',
center: LngLat(-122.420679, 37.772537),
zoom: 13,
style: 'mapbox://styles/mapbox/satellite-streets-v11',
hash: true,
transformRequest: (url, resourceType) {
if (resourceType == 'Source' && url.startsWith('http://myHost')) {
return RequestParameters(
url: url.replaceAll('http', 'https'),
headers: {'my-custom-header': true},
credentials: 'include',
);
}
return RequestParameters(url: url);
},
),
);
@see Display a map
Constructors
- MapboxMap(MapOptions options)
-
factory
- MapboxMap.fromJsObject(MapboxMapJsImpl jsObject)
-
Creates a new MapboxMap from a
jsObject
.
Properties
- boxZoom → BoxZoomHandler
-
The map's {@link BoxZoomHandler}, which implements zooming using a drag gesture with the Shift key pressed.
Find more details and examples using
boxZoom
in the {@link BoxZoomHandler} section.no setter - doubleClickZoom → DoubleClickZoomHandler
-
The map's {@link DoubleClickZoomHandler}, which allows the user to zoom by double clicking.
Find more details and examples using
doubleClickZoom
in the {@link DoubleClickZoomHandler} section.no setter - dragPan → DragPanHandler
-
The map's {@link DragPanHandler}, which implements dragging the map with a mouse or touch gesture.
Find more details and examples using
dragPan
in the {@link DragPanHandler} section.no setter - dragRotate → DragRotateHandler
-
The map's {@link DragRotateHandler}, which implements rotating the map while dragging with the right
mouse button or with the Control key pressed. Find more details and examples using
dragRotate
in the {@link DragRotateHandler} section.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- jsObject → MapboxMapJsImpl
-
JS object.
final
- keyboard → KeyboardHandler
-
The map's {@link KeyboardHandler}, which allows the user to zoom, rotate, and pan the map using keyboard
shortcuts. Find more details and examples using
keyboard
in the {@link KeyboardHandler} section.no setter - painter → dynamic
-
no setter
- repaint ↔ bool
-
Gets and sets a Boolean indicating whether the map will
continuously repaint. This information is useful for analyzing performance.
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scrollZoom → ScrollZoomHandler
-
The map's {@link ScrollZoomHandler}, which implements zooming in and out with a scroll wheel or trackpad.
Find more details and examples using
scrollZoom
in the {@link ScrollZoomHandler} section.no setter - showCollisionBoxes ↔ bool
-
Gets and sets a Boolean indicating whether the map will render boxes
around all symbols in the data source, revealing which symbols
were rendered or which were hidden due to collisions.
This information is useful for debugging.
getter/setter pair
- showOverdrawInspector ↔ bool
-
Gets and sets a Boolean indicating whether the map should color-code
each fragment to show how many times it has been shaded.
White fragments have been shaded 8 or more times.
Black fragments have been shaded 0 times.
This information is useful for debugging.
getter/setter pair
- showTileBoundaries ↔ bool
-
Gets and sets a Boolean indicating whether the map will render an outline
around each tile and the tile ID. These tile boundaries are useful for
debugging.
getter/setter pair
- style → Style
-
no setter
- touchZoomRotate → TouchZoomRotateHandler
-
The map's {@link TouchZoomRotateHandler}, which allows the user to zoom or rotate the map with touch gestures.
Find more details and examples using
touchZoomRotate
in the {@link TouchZoomRotateHandler} section.no setter - version → String
-
The version of Mapbox GL JS in use as specified in package.json, CHANGELOG.md, and the GitHub release.
no setter
- vertices ↔ bool
-
show vertices
getter/setter pair
Methods
-
addControl(
dynamic control, [String? position]) → MapboxMap -
Adds an {@link IControl} to the map, calling
control.onAdd(this)
. -
addImage(
String id, dynamic image, [Map< String, dynamic> ? options]) → dynamic -
Add an image to the style. This image can be displayed on the map like any other icon in the style's
sprite using the image's ID with
icon-image
,background-pattern
,fill-pattern
, orline-pattern
. A {@link MapboxMap#error} event will be fired if there is not enough space in the sprite to add this image. -
addLayer(
dynamic layer, [String? beforeId]) → MapboxMap - Adds a Mapbox style layer to the map's style.
-
addSource(
String id, dynamic source) → MapboxMap - Adds a source to the map's style.
-
addSourceType(
String name, dynamic sourceType, Function callback) → dynamic -
Adds a/// custom source type*(#Custom Sources), making it available for use with
{@link MapboxMap#addSource}.
@private
@param {string} name The name of the source type; source definition objects use this name in the
{type: ...}
field. @param {Function} SourceType A {@link Source} constructor. @param {Function} callback Called when the source type is ready or with an error argument if there is an error. -
areTilesLoaded(
) → bool - Returns a Boolean indicating whether all tiles in the viewport from all sources on the style are loaded.
-
cameraForBounds(
LngLatBounds bounds, [dynamic options]) → CameraOptions -
@memberof MapboxMap#
@param {LatLngBoundsLike} bounds Calculate the center for these bounds in the viewport and use
the highest zoom level up to and including
MapboxMap#getMaxZoom()
that fits in the viewport. LatLngBounds represent a box that is always axis-aligned with bearing 0. @param options @param {number | PaddingOptions}options.padding
The amount of padding in pixels to add to the given bounds. @param {PointLike}options.offset=[0, 0]
The center of the given bounds relative to the map's center, measured in pixels. @param {number}options.maxZoom
The maximum zoom level to allow when the camera would transition to the specified bounds. @returns {CameraOptions | void} If map is able to fit to provided bounds, returnsCameraOptions
withcenter
,zoom
, andbearing
. If map is unable to fit, method will warn and return undefined. @example var bbox = [-79, 43
,-73, 45
]; var newCameraTransform = map.cameraForBounds(bbox, { padding: {top: 10, bottom:25, left: 15, right: 5} });inherited -
easeTo(
dynamic options, [dynamic eventData]) → MapboxMap -
Changes any combination of center, zoom, bearing, and pitch, with an animated transition
between old and new values. The map will retain its current values for any
details not specified in
options
.inherited -
fire(
Event event, [dynamic properties]) → dynamic -
inherited
-
fitBounds(
LngLatBounds bounds, [Map< String, dynamic> ? options, dynamic eventData]) → MapboxMap -
Pans and zooms the map to contain its visible area within the specified geographical bounds.
This function will also reset the map's bearing to 0 if bearing is nonzero.
inherited
-
fitScreenCoordinates(
Point p0, Point p1, num bearing, [dynamic options, dynamic eventData]) → MapboxMap -
Pans, rotates and zooms the map to to fit the box made by points p0 and p1
once the map is rotated to the specified bearing. To zoom without rotating,
pass in the current map bearing.
inherited
-
flyTo(
dynamic options, [String? eventData]) → MapboxMap -
Changes any combination of center, zoom, bearing, and pitch, animating the transition along a curve that
evokes flight. The animation seamlessly incorporates zooming and panning to help
the user maintain her bearings even after traversing a great distance.
inherited
-
getBearing(
) → num -
Returns the map's current bearing. The bearing is the compass direction that is "up"; for example, a bearing
of 90° orients the map so that east is up.
inherited
-
getBounds(
) → LngLatBounds - Returns the map's geographical bounds. When the bearing or pitch is non-zero, the visible region is not an axis-aligned rectangle, and the result is the smallest bounds that encompasses the visible region. @example var bounds = map.getBounds();
-
getCanvas(
) → CanvasElement -
Returns the map's
<canvas>
element. -
getCanvasContainer(
) → HtmlElement -
Returns the HTML element containing the map's
<canvas>
element. -
getCenter(
) → LngLat -
Returns the map's geographical centerpoint.
inherited
-
getContainer(
) → HtmlElement - Returns the map's containing HTML element.
-
getFeatureState(
dynamic feature) → dynamic -
Gets the state of a feature.
Features are identified by their
id
attribute, which must be an integer or a string that can be cast to an integer. -
getFilter(
String layerId) → List - Returns the filter applied to the specified style layer.
-
getLayer(
String id) → dynamic - Returns the layer with the specified ID in the map's style.
-
getLayoutProperty(
String layerId, String name) → dynamic - Returns the value of a layout property in the specified style layer.
-
getLight(
) → dynamic - Returns the value of the light object.
-
getMaxBounds(
) → LngLatBounds -
Returns the maximum geographical bounds the map is constrained to, or
null
if none set. @example var maxBounds = map.getMaxBounds(); -
getMaxPitch(
) → num - Returns the map's maximum allowable pitch.
-
getMaxZoom(
) → num - Returns the map's maximum allowable zoom level.
-
getMinPitch(
) → num - Returns the map's minimum allowable pitch.
-
getMinZoom(
) → num - Returns the map's minimum allowable zoom level.
-
getPaintProperty(
String layerId, String name) → dynamic - Returns the value of a paint property in the specified style layer.
-
getPitch(
) → num -
Returns the map's current pitch (tilt).
inherited
-
getRenderWorldCopies(
) → bool -
Returns the state of
renderWorldCopies
. Iftrue
, multiple copies of the world will be rendered side by side beyond -180 and 180 degrees longitude. If set tofalse
: -
getSource(
String id) → dynamic - Returns the source with the specified ID in the map's style.
-
getStyle(
) → dynamic - Returns the map's Mapbox style object, which can be used to recreate the map's style.
-
getZoom(
) → num -
Returns the map's current zoom level.
inherited
-
hasImage(
String id) → bool - Check whether or not an image with a specific ID exists in the style. This checks both images in the style's original sprite and any images that have been added at runtime using {@link addImage}.
-
isEasing(
) → bool -
inherited
-
isMoving(
) → bool - Returns true if the map is panning, zooming, rotating, or pitching due to a camera animation or user gesture. @example var isMoving = map.isMoving();
-
isRotating(
) → bool - Returns true if the map is rotating due to a camera animation or user gesture. @example map.isRotating();
-
isSourceLoaded(
String id) → bool - Returns a Boolean indicating whether the source is loaded.
-
isStyleLoaded(
) → bool - Returns a Boolean indicating whether the map's style is fully loaded.
-
isZooming(
) → bool - Returns true if the map is zooming due to a camera animation or user gesture. @example var isZooming = map.isZooming();
-
jumpTo(
CameraOptions options, [dynamic eventData]) → MapboxMap -
Changes any combination of center, zoom, bearing, and pitch, without
an animated transition. The map will retain its current values for any
details not specified in
options
.inherited -
listens(
String type) → dynamic -
Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.
inherited
-
listImages(
) → List< String> - /// Returns an Array of strings containing the IDs of all images currently available in the map. This includes both images from the style's original sprite and any images that have been added at runtime using {@link addImage}.
-
loaded(
) → bool - Returns a Boolean indicating whether the map is fully loaded.
-
loadImage(
String url, Function callback) → dynamic -
Load an image from an external URL to be used with
MapboxMap#addImage
. External domains must support CORS. -
moveLayer(
String id, String beforeId) → MapboxMap - Moves a layer to a different z-position.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
off(
String type, [dynamic layerIdOrListener, Listener? listener]) → MapboxMap -
Removes a previously registered event listener.
inherited
-
on(
String type, [dynamic layerIdOrListener, Listener? listener]) → MapboxMap -
Adds a listener to a specified event type.
inherited
-
once(
String type, Listener listener) → MapboxMap -
Adds a listener that will be called only once to a specified event type.
inherited
-
panBy(
Point offset, [AnimationOptions? options, dynamic eventData]) → MapboxMap -
Pans the map by the specified offset.
inherited
-
panTo(
LngLat lnglat, [AnimationOptions? options, dynamic eventData]) → MapboxMap -
Pans the map to the specified location, with an animated transition.
inherited
-
project(
LngLat lnglat) → Point -
Returns a {@link Point} representing pixel coordinates, relative to the map's
container
, that correspond to the specified geographical location. -
queryRenderedFeatures(
dynamic geometry, [Map< String, dynamic> ? options]) → List<Feature> - Adds a listener for events of a specified type occurring on features in a specified style layer.
-
querySourceFeatures(
String sourceId, dynamic parameters) → List - Returns an array of GeoJSON Feature objects representing features within the specified vector tile or GeoJSON source that satisfy the query parameters.
-
remove(
) → dynamic - Clean up and release all internal resources associated with this map.
-
removeControl(
dynamic control) → MapboxMap - Removes the control from the map.
-
removeFeatureState(
dynamic target, [String? key]) → dynamic -
Removes feature state, setting it back to the default behavior. If only
source is specified, removes all states of that source. If
target.id is also specified, removes all keys for that feature's state.
If key is also specified, removes that key from that feature's state.
Features are identified by their
id
attribute, which must be an integer or a string that can be cast to an integer. @param {Object} target Identifier of where to set state: can be a source, a feature, or a specific key of feature. Feature objects returned from {@link MapboxMap#queryRenderedFeatures} or event handlers can be used as feature identifiers. @param {string | number} target.id (optional) Unique id of the feature. Optional if key is not specified. @param {string} target.source The Id of the vector source or GeoJSON source for the feature. @param {string}target.sourceLayer
(optional) /// For vector tile sources, the sourceLayer is required.* @param {string} key (optional) The key in the feature state to reset. -
removeImage(
String id) → dynamic - Remove an image from a style. This can be an image from the style's original sprite or any images that have been added at runtime using {@link addImage}.
-
removeLayer(
String id) → dynamic - Removes the layer with the given ID from the map's style.
-
removeSource(
String id) → dynamic - Removes a source from the map's style.
-
resetNorth(
[AnimationOptions? options, dynamic eventData]) → MapboxMap -
Rotates the map so that north is up (0° bearing), with an animated transition.
inherited
-
resetNorthPitch(
[AnimationOptions? options, dynamic eventData]) → MapboxMap -
Rotates and pitches the map so that north is up (0° bearing) and pitch is 0°, with an animated transition.
inherited
-
resize(
[dynamic eventData]) → MapboxMap -
Resizes the map according to the dimensions of its
container
element. -
rotateTo(
num bearing, [AnimationOptions? options, dynamic eventData]) → MapboxMap -
Rotates the map to the specified bearing, with an animated transition. The bearing is the compass direction
that is "up"; for example, a bearing of 90° orients the map so that east is up.
inherited
-
setBearing(
num bearing, [dynamic eventData]) → MapboxMap -
Sets the map's bearing (rotation). The bearing is the compass direction that is "up"; for example, a bearing
of 90° orients the map so that east is up.
inherited
-
setCenter(
LngLat center, [dynamic eventData]) → MapboxMap -
Sets the map's geographical centerpoint. Equivalent to
jumpTo({center: center})
.inherited -
setEventedParent(
[Evented? parent, dynamic data]) → dynamic -
Bubble all events fired by this instance of Evented to this parent instance of Evented.
inherited
-
setFeatureState(
dynamic feature, dynamic state) → dynamic -
Sets the state of a feature. The
state
object is merged in with the existing state of the feature. Features are identified by theirid
attribute, which must be an integer or a string that can be cast to an integer. -
setFilter(
String layerId, dynamic filter, [StyleSetterOptions? options]) → MapboxMap - Sets the filter for the specified style layer.
-
setLayerZoomRange(
String layerId, num minzoom, num maxzoom) → MapboxMap - Sets the zoom extent for the specified style layer. The zoom extent includes the minimum zoom level and maximum zoom level) at which the layer will be rendered.
-
setLayoutProperty(
String layerId, String name, dynamic value, [StyleSetterOptions? options]) → MapboxMap - Sets the value of a layout property in the specified style layer.
-
setLight(
dynamic light, StyleSetterOptions options) → MapboxMap - Sets the any combination of light values.
-
setMaxBounds(
LngLatBounds? bounds) → MapboxMap - Sets or clears the map's geographical bounds.
-
setMaxPitch(
[num? maxPitch]) → MapboxMap - Sets or clears the map's maximum pitch. If the map's current pitch is higher than the new maximum, the map will pitch to the new maximum.
-
setMaxZoom(
[num? maxZoom]) → MapboxMap - Sets or clears the map's maximum zoom level. If the map's current zoom level is higher than the new maximum, the map will zoom to the new maximum.
-
setMinPitch(
[num? minPitch]) → MapboxMap - Sets or clears the map's minimum pitch. If the map's current pitch is lower than the new minimum, the map will pitch to the new minimum.
-
setMinZoom(
[num? minZoom]) → MapboxMap - Sets or clears the map's minimum zoom level. If the map's current zoom level is lower than the new minimum, the map will zoom to the new minimum.
-
setPaintProperty(
String layerId, String name, dynamic value, [StyleSetterOptions? options]) → dynamic - Sets the value of a paint property in the specified style layer.
-
setPitch(
num pitch, [dynamic eventData]) → MapboxMap -
Sets the map's pitch (tilt). Equivalent to
jumpTo({pitch: pitch})
.inherited -
setRenderWorldCopies(
[bool? renderWorldCopies]) → MapboxMap -
Sets the state of
renderWorldCopies
. -
setStyle(
dynamic style, [dynamic options]) → MapboxMap - Updates the map's Mapbox style object with a new value.
-
setZoom(
num zoom, [dynamic eventData]) → MapboxMap -
Sets the map's zoom level. Equivalent to
jumpTo({zoom: zoom})
.inherited -
snapToNorth(
[AnimationOptions? options, dynamic eventData]) → MapboxMap -
Snaps the map so that north is up (0° bearing), if the current bearing is close enough to it (i.e. within the
bearingSnap
threshold).inherited -
stop(
) → MapboxMap -
Stops any animated transition underway.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
triggerRepaint(
) → dynamic - Trigger the rendering of a single frame. Use this method with custom layers to repaint the map when the layer changes. Calling this multiple times before the next frame is rendered will still result in only a single frame being rendered.
-
unproject(
Point point) → LngLat - Returns a {@link LngLat} representing geographical coordinates that correspond to the specified pixel coordinates.
-
updateImage(
String id, dynamic image) → dynamic -
Update an existing image in a style. This image can be displayed on the map like any other icon in the style's
sprite using the image's ID with
icon-image
,background-pattern
,fill-pattern
, orline-pattern
. -
zoomIn(
[AnimationOptions? options, dynamic eventData]) → MapboxMap -
Increases the map's zoom level by 1.
inherited
-
zoomOut(
[AnimationOptions? options, dynamic eventData]) → MapboxMap -
Decreases the map's zoom level by 1.
inherited
-
zoomTo(
num zoom, [AnimationOptions? options, dynamic eventData]) → MapboxMap -
Zooms the map to the specified zoom level, with an animated transition.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited