MapEvents(androidJvm)

List of supported event types by the `map` and `map snapshotter` objects, and event data format specification for each event. ``` text Simplified diagram for events emitted by the map object. ┌─────────────┐ ┌─────────┐ ┌──────────────┐ │ Application │ │ Map │ │ResourceLoader│ └──────┬──────┘ └────┬────┘ └───────┬──────┘ │ │ │ ├───────setStyleURI────────▶│ │ │ ├───────────get style───────────▶│ │ │ │ │ │◀─────────style data────────────┤ │ │ │ │ ├─parse style─┐ │ │ │ │ │ │ StyleDataLoaded ◀─────────────┘ │ │◀──── { "type": "style" } ─────┤ │ │ ├─────────get sprite────────────▶│ │ │ │ │ │◀────────sprite data────────────┤ │ │ │ │ ├──────parse sprite───────┐ │ │ │ │ │ │ StyleDataLoaded ◀─────────────────────────┘ │ │◀─── { "type": "sprite" } ─────┤ │ │ ├─────get source TileJSON(s)────▶│ │ │ │ │ SourceDataLoaded │◀─────parse TileJSON data───────┤ │◀── { "type": "metadata" } ────┤ │ │ │ │ │ │ │ │ StyleDataLoaded │ │ │◀─── { "type": "sources" } ────┤ │ │ ├──────────get tiles────────────▶│ │ │ │ │◀───────StyleLoaded────────┤ │ │ │ │ │ SourceDataLoaded │◀─────────tile data─────────────┤ │◀──── { "type": "tile" } ──────┤ │ │ │ │ │ │ │ │◀────RenderFrameStarted────┤ │ │ ├─────render─────┐ │ │ │ │ │ │ ◀────────────────┘ │ │◀───RenderFrameFinished────┤ │ │ ├──render, all tiles loaded──┐ │ │ │ │ │ │ ◀────────────────────────────┘ │ │◀────────MapLoaded─────────┤ │ │ │ │ │ │ │ │◀─────────MapIdle──────────┤ │ │ ┌ ─── ─┴─ ─── ┐ │ │ │ offline │ │ │ └ ─── ─┬─ ─── ┘ │ │ │ │ ├─────────setCamera────────▶│ │ │ ├───────────get tiles───────────▶│ │ │ │ │ │┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │◀─────────MapIdle──────────┤ waiting for connectivity │ │ │ ││ Map renders cached data │ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ │ │ │ │ ```

class MapEvents(androidJvm)

Properties

CAMERA_CHANGED
Link copied to clipboard

The camera has changed. This event is emitted whenever the visible viewport changes due to the invocation of `setSize`, `setBounds` methods or when the camera is modified by calling camera methods. The event is emitted synchronously, so that an updated camera state can be fetched immediately. ``` text Event data format (Object). ```

val CAMERA_CHANGED: String
MAP_IDLE
Link copied to clipboard

The `map` has entered the idle state. The `map` is in the idle state when there are no ongoing transitions and the `map` has rendered all requested non-volatile tiles. The event will not be emitted if `setUserAnimationInProgress` and / or `setGestureInProgress` is set to `true`. ``` text Event data format (Object). ```

val MAP_IDLE: String
MAP_LOADED
Link copied to clipboard

The style has been fully loaded, and the `map` has rendered all visible tiles. ``` text Event data format (Object). ```

val MAP_LOADED: String
MAP_LOADING_ERROR
Link copied to clipboard

Describes an error that has occured while loading the Map. The `type` property defines what resource could not be loaded and the `message` property will contain a descriptive error message. In case of `source` or `tile` loading errors, `source-id` will contain the id of the source failing. In case of `tile` loading errors, `tile-id` will contain the id of the tile ``` text Event data format (Object): . ├── type - String ("style" | "sprite" | "source" | "tile" | "glyphs") ├── message - String ├── source-id - optional String └── tile-id - optional Object ├── z Number (zoom level) ├── x Number (x coorinate) └── y Number (y coorinate) ```

val MAP_LOADING_ERROR: String
RENDER_FRAME_FINISHED
Link copied to clipboard

The `map` finished rendering a frame. The `render-mode` property tells whether the `map` has all data (`full`) required to render the visible viewport. The `needs-repaint` property provides information about ongoing transitions that trigger `map` repaint. The `placement-changed` property tells if the symbol placement has been changed in the visible viewport. ``` text Event data format (Object): . ├── render-mode - String ("partial" | "full") ├── needs-repaint - Boolean └── placement-changed - Boolean ```

val RENDER_FRAME_FINISHED: String
RENDER_FRAME_STARTED
Link copied to clipboard

The `map` started rendering a frame. Event data format (Object).

val RENDER_FRAME_STARTED: String
RESOURCE_REQUEST
Link copied to clipboard

The `ResourceRequest` event allows client to observe resource requests made by a `map` or `map snapshotter` objects. ``` text Event data format (Object): . ├── data-source - String ("resource-loader" | "network" | "database" | "asset" | "file-system") ├── request - Object │ ├── url - String │ ├── kind - String ("unknown" | "style" | "source" | "tile" | "glyphs" | "sprite-image" | "sprite-json" | "image") │ ├── priority - String ("regular" | "low") │ └── loading-method - Array ["cache" | "network"] ├── response - optional Object │ ├── no-content - Boolean │ ├── not-modified - Boolean │ ├── must-revalidate - Boolean │ ├── source - String ("network" | "cache" | "tile-store" | "local-file") │ ├── size - Number (size in bytes) │ ├── modified - optional String, rfc1123 timestamp │ ├── expires - optional String, rfc1123 timestamp │ ├── etag - optional String │ └── error - optional Object │ ├── reason - String ("success" | "not-found" | "server" | "connection" | "rate-limit" | "other") │ └── message - String └── cancelled - Boolean ```

val RESOURCE_REQUEST: String
SOURCE_ADDED
Link copied to clipboard

The source has been added with `addStyleSource` method. The event is emitted synchronously, therefore, it is possible to immediately read added source's properties. ``` text Event data format (Object): . └── id - String ```

val SOURCE_ADDED: String
SOURCE_DATA_LOADED
Link copied to clipboard

A source data has been loaded. Event may be emitted synchronously in cases when source's metadata is available when source is added to the style. The `id` property defines the source id. The `type` property defines if source's metadata (e.g., TileJSON) or tile has been loaded. The property of `metadata` value might be useful to identify when particular source's metadata is loaded, thus all source's properties are readable and can be updated before `map` will start requesting data to be rendered. The `loaded` property will be set to `true` if all source's data required for visible viewport of the `map`, are loaded. The `tile-id` property defines the tile id if the `type` field equals `tile`. ``` text Event data format (Object): . ├── id - String ├── type - String ("metadata" | "tile") ├── loaded - optional Boolean └── tile-id - optional Object ├── z Number (zoom level) ├── x Number (x coorinate) └── y Number (y coorinate) ```

val SOURCE_DATA_LOADED: String
SOURCE_REMOVED
Link copied to clipboard

The source has been removed with `removeStyleSource` method. The event is emitted synchronously, thus, `getStyleSources` will be in sync when the `observer` receives the notification. ``` text Event data format (Object): . └── id - String ```

val SOURCE_REMOVED: String
STYLE_DATA_LOADED
Link copied to clipboard

The requested style data has been loaded. The `type` property defines what kind of style data has been loaded. Event may be emitted synchronously, for example, when `setStyleJSON` is used to load style. Based on an event data `type` property value, following use-cases may be implemented: - `style`: Style is parsed, style layer properties could be read and modified, style layers and sources could be added or removed before rendering is started. - `sprite`: Style's sprite sheet is parsed and it is possible to add or update images. - `sources`: All sources defined by the style are loaded and their properties could be read and updated if needed. ``` text Event data format (Object): . └── type - String ("style" | "sprite" | "sources") ```

val STYLE_DATA_LOADED: String
STYLE_IMAGE_MISSING
Link copied to clipboard

A style has a missing image. This event is emitted when the `map` renders visible tiles and one of the required images is missing in the sprite sheet. Subscriber has to provide the missing image by calling `addStyleImage` method. ``` text Event data format (Object): . └── id - String ```

val STYLE_IMAGE_MISSING: String
STYLE_IMAGE_REMOVE_UNUSED
Link copied to clipboard

An image added to the style is no longer needed and can be removed using `removeStyleImage` method. ``` text Event data format (Object): . └── id - String ```

val STYLE_IMAGE_REMOVE_UNUSED: String
STYLE_LOADED
Link copied to clipboard

The requested style has been fully loaded, including the style, specified sprite and sources' metadata. ``` text Event data format (Object). ``` Note: The style specified sprite would be marked as loaded even with sprite loading error (An error will be emitted via `MapLoadingError`). Sprite loading error is not fatal and we don't want it to block the map rendering, thus this event will still be emitted if style and sources are fully loaded.

val STYLE_LOADED: String