Adds a source whose GeoJSON tiles come from callbacks.
See mln_map_add_custom_geometry_source in the
C API reference.
Adds a source whose vector tiles come from callbacks.
See mln_map_add_custom_vector_source in the
C API reference.
Adds a GeoJSON source with no data.
Give it data with MapHandle.setGeoJsonSourceData() or
MapHandle.setGeoJsonSourceUrl(). Its options stay fixed for as long as
the style holds it.
attribution is the source's
[attribution](https://maplibre.org/maplibre-style-spec/sources/#attribution),
or empty for none.
See mln_map_add_geo_json_source in the
C API reference.
Errors:
Status.invalidArgument when an option in options is out of range.Optionaloptions: GeoJsonSourceOptionsOptionalattribution: stringAdds an image source that shows image.
coordinates are the image's four corners, clockwise from the top left.
See mln_map_add_image_source_image in the
C API reference.
Adds a layer to the map's style.
layerJson is a
[layer](https://maplibre.org/maplibre-style-spec/layers/) object.
The layer goes below the layer named beforeLayerId, or above every layer
when beforeLayerId is empty.
See mln_map_add_style_layer_json in the
C API reference.
OptionalbeforeLayerId: stringAdds a source to the map's style.
sourceJson is a
[source](https://maplibre.org/maplibre-style-spec/sources/) object.
See mln_map_add_style_source_json in the
C API reference.
Moves the camera relative to where it is, as a gesture does.
delta can pan the map's content by an offset on the screen, scale the
zoom, and add to the bearing and pitch. An anchor keeps one screen point in
place while the scale, bearing, or pitch changes. An anchor needs one of
those changes, and combines with an offset only when the delta has no
animation. The function finishes when the map applies the delta, before an
animation ends.
A delta that replaces an animated one starts from where that animation left
the camera, so the rest of the replaced change never happens. To reach an
exact camera, use MapHandle.updateCamera().
A delta in the end phase can carry momentum, which keeps the camera moving
from the gesture's release velocities and slows it on each rendered frame.
The gesture lasts until the momentum ends: the snapshot keeps
gesture_in_progress set, and camera events report
CameraChangeSource.momentum. With momentum, animation sets only
transition_id and the end handler, which runs when the gesture ends.
A delta in the begin phase, MapHandle.cancelCameraTransitions(), or a
cancellation by that ID stops the momentum. A later command that sets a
field stops only the parts of the momentum that move that field. On a
tilted map, the pan moves the map's content the same distance on the screen
in every direction.
See mln_map_apply_camera_delta in the
C API reference.
Holds back the map's changes from rendering until
MapHandle.endCommandGroup(), so they show in the same frame.
Groups nest, and the changes render when the outermost group ends.
See mln_map_begin_command_group in the
C API reference.
Stops every running camera animation where it is.
The end handler of each stopped animation reports
CameraTransitionOutcome.cancelled.
See mln_map_cancel_camera_transitions in the
C API reference.
Stops the running camera animations whose animation options set
transitionId.
Other animations keep running. The end handler of each stopped animation
reports CameraTransitionOutcome.cancelled.
See mln_map_cancel_camera_transitions_with_id in the
C API reference.
Logs debugging information about the map's style and sources.
See mln_map_dump_debug_logs in the
C API reference.
Ends the group that MapHandle.beginCommandGroup() began.
See mln_map_end_command_group in the
C API reference.
Moves the camera to fit a GeoJSON geometry in the map's view, at once or with an animation.
geometry is a GeoJSON geometry object with at least one coordinate, not a
feature. The camera is the one that MapHandle.cameraForGeometry()
computes after the commands sent before this one apply. The function
finishes when the map applies the change, before an animation ends.
See mln_map_fit_camera_to_geometry in the
C API reference.
Moves the camera to fit bounds in the map's view, at once or with an
animation.
The camera is the one that MapHandle.cameraForLatLngBounds() computes
after the commands sent before this one apply. The function finishes when
the map applies the change, before an animation ends.
See mln_map_fit_camera_to_lat_lng_bounds in the
C API reference.
Moves the camera to fit coordinates in the map's view, at once or with an
animation.
coordinates must not be empty. The camera is the one that
MapHandle.cameraForLatLngs() computes after the commands sent before this
one apply. The function finishes when the map applies the change, before an
animation ends.
See mln_map_fit_camera_to_lat_lngs in the
C API reference.
Makes a custom geometry source ask again for the tiles in bounds that the
map still needs.
See mln_map_invalidate_custom_geometry_source_region in the
C API reference.
Makes a custom geometry source ask for a tile again when the map needs it.
See mln_map_invalidate_custom_geometry_source_tile in the
C API reference.
Makes a custom vector source ask again for the tiles in bounds that the
map still needs.
See mln_map_invalidate_custom_vector_source_region in the
C API reference.
Makes a custom vector source ask for a tile again when the map needs it.
See mln_map_invalidate_custom_vector_source_tile in the
C API reference.
Moves a layer of the map's style below the layer named beforeLayerId, or
above every layer when beforeLayerId is empty.
See mln_map_move_style_layer in the
C API reference.
OptionalbeforeLayerId: stringRemoves the feature state that selector selects.
See mln_map_remove_feature_state in the
C API reference.
Removes an image from the map's style.
See mln_map_remove_style_image in the
C API reference.
Removes a layer from the map's style.
See mln_map_remove_style_layer in the
C API reference.
Removes a source from the map's style.
See mln_map_remove_style_source in the
C API reference.
Renders a new frame of a continuous map, even when nothing changed.
See mln_map_request_repaint in the
C API reference.
Sets the map's size.
A map with a render session takes its size from the session, so resize the
session with RenderSessionHandle.resize() instead.
See mln_map_resize in the
C API reference.
Errors:
Status.invalidState when the map has a render session.Limits the camera's center to an area, and its zoom and pitch to ranges.
Limits that options doesn't set keep their current values. When the
camera is outside the new limits, it moves inside them.
See mln_map_set_bounds in the
C API reference.
Sets the data of a tile in a custom geometry source.
data is a GeoJSON feature collection, feature, or geometry. The source
ignores data for a tile that it hasn't asked for, or has since cancelled.
See mln_map_set_custom_geometry_source_tile_data in the
C API reference.
Reports that a tile of a custom geometry source failed to load.
See mln_map_set_custom_geometry_source_tile_error in the
C API reference.
Sets the data of a tile in a custom vector source.
data is the tile, encoded as encoding. The source ignores data for a
tile that it hasn't asked for, or has since cancelled.
See mln_map_set_custom_vector_source_tile_data in the
C API reference.
Reports that a tile of a custom vector source failed to load.
See mln_map_set_custom_vector_source_tile_error in the
C API reference.
Draws debugging overlays, such as tile borders, on the map.
flags replaces the overlays set before.
See mln_map_set_debug_flags in the
C API reference.
Selects the events that the map reports.
See mln_map_set_event_mask in the
C API reference.
Merges state into the state of a feature.
state is a JSON object. Its keys replace the same keys in the feature's
state, and the other keys stay.
See mln_map_set_feature_state in the
C API reference.
Places the camera at a position and orientation in space.
The map adjusts them to a camera that it can show. It stops running camera
animations first, and their end handlers report
CameraTransitionOutcome.cancelled.
See mln_map_set_free_camera_options in the
C API reference.
Replaces the data of a GeoJSON source.
data is a GeoJSON feature collection, feature, or geometry. The library
prepares it for the source with the source's options, off the threads that
the caller and the runtime use, and the command completes once the source
holds it. Later commands don't wait for it. While the source is still
preparing earlier data, only the newest data waits to follow it.
With synchronous tiling on, as
MapHandle.setGeoJsonSourceSynchronousTiling() describes, the command
prepares data before later commands run, so the data shows in the next
frame.
See mln_map_set_geo_json_source_data in the
C API reference.
Sets whether a GeoJSON source builds its tiles while the map renders.
Building tiles while the map renders, instead of in the background, makes
new data show in the next frame. The setting replaces the
synchronousUpdate member of the source's JSON, which defaults to false.
See mln_map_set_geo_json_source_synchronous_tiling in the
C API reference.
Makes a GeoJSON source load its data from url.
See mln_map_set_geo_json_source_url in the
C API reference.
Sets a value that the style's global-state
[expressions](https://maplibre.org/maplibre-style-spec/expressions/)
read.
See mln_map_set_global_state_property in the
C API reference.
Moves the image of an image source.
coordinates are the image's four corners, clockwise from the top left.
See mln_map_set_image_source_coordinates in the
C API reference.
Replaces the image of an image source.
See mln_map_set_image_source_image in the
C API reference.
Makes an image source load its image from url.
See mln_map_set_image_source_url in the
C API reference.
Sets whether the map draws in perspective or axonometric projection, and how much it skews the view.
Settings that options doesn't set keep their current values.
See mln_map_set_projection_mode in the
C API reference.
Shows or hides an overlay of rendering statistics on the map.
See mln_map_set_rendering_stats_view_enabled in the
C API reference.
Adds an image to the map's style, or replaces the image named imageId.
See mln_map_set_style_image in the
C API reference.
Optionaloptions: StyleImageOptionsLoads the map's style from json.
The command completes once the style has parsed, and the map's style is
then loaded, as MapHandle.setStyleUrl() describes. The style's sources,
sprites, and glyphs load in the background.
See mln_map_set_style_json in the
C API reference.
Sets a property of a layer in the map's style.
propertyName is one of the layer's layout or paint
[properties](https://maplibre.org/maplibre-style-spec/layers/), or
filter, minzoom, maxzoom, source, or source-layer. A null value
resets any of these but source and source-layer to its default.
See mln_map_set_style_layer_property in the
C API reference.
Replaces the [light](https://maplibre.org/maplibre-style-spec/light/) of the map's style.
See mln_map_set_style_light_json in the
C API reference.
Sets a property of the light of the map's style.
See mln_map_set_style_light_property in the
C API reference.
Sets whether a source is volatile.
The map doesn't store the tiles of a volatile source in the persistent cache.
See mln_map_set_style_source_volatile in the
C API reference.
Sets the default transition of the map's style.
See mln_map_set_style_transition_options in the
C API reference.
Loads the map's style from url.
The command completes once the style document has loaded and parsed. The style's sources, sprites, and glyphs then load in the background.
The map's style is loaded from the time a style document parses until the
next call to this function. While the style isn't loaded, the commands that
change it complete with Status.invalidState. To change a new map's style
without a style document, first load an empty style, such as
{"version":8,"sources":{},"layers":[]}.
See mln_map_set_style_url in the
C API reference.
Sets how the map chooses which tiles to load, and at what detail.
Settings that options doesn't set keep their current values.
See mln_map_set_tile_options in the
C API reference.
Sets how the map orients and constrains its view.
Settings that options doesn't set keep their current values.
See mln_map_set_viewport_options in the
C API reference.
Moves the camera, at once or with an animation.
Camera fields that update doesn't set keep their values, and the update
stops any running animation of the fields it sets. The function finishes
when the map applies the update, before an animation ends. To learn when an
animation ends, set an CameraTransitionHandler in its animation options.
See mln_map_update_camera in the
C API reference.
The commands of a MapHandle that discard their outcomes: each returns once native code accepts it and allocates no completion. A later completion on the same map fences them.