OfflineManager implements a singleton (shared object) that manages offline packs.
All of this class’s instance methods are asynchronous, reflecting the fact that offline resources are stored in a database.
The shared object maintains a canonical collection of offline packs.
Creates and registers an offline pack that downloads the resources needed to use the given region offline.
| Name | Type | Required | Description |
|---|---|---|---|
options |
OfflineCreatePackOptions |
Yes |
Create options for a offline pack that specifices zoom levels, style url, and the region to download. |
progressListener |
Callback |
No |
Callback that listens for status events while downloading the offline resource. |
errorListener |
Callback |
No |
Callback that listens for status events while downloading the offline resource. |
const progressListener = (offlineRegion, status) => console.log(offlineRegion, status);
const errorListener = (offlineRegion, err) => console.log(offlineRegion, err);
await MapboxGL.offlineManager.createPack({
name: 'offlinePack',
styleURL: 'mapbox://...',
minZoom: 14,
maxZoom: 20,
bounds: [[neLng, neLat], [swLng, swLat]]
}, progressListener, errorListener)Unregisters the given offline pack and allows resources that are no longer required by any remaining packs to be potentially freed.
| Name | Type | Required | Description |
|---|---|---|---|
name |
String |
Yes |
Name of the offline pack. |
await MapboxGL.offlineManager.deletePack('packName')Retrieves all the current offline packs that are stored in the database.
| Name | Type | Required | Description |
|---|
const offlinePacks = await MapboxGL.offlineManager.getPacks();Retrieves an offline pack that is stored in the database by name.
| Name | Type | Required | Description |
|---|---|---|---|
name |
String |
Yes |
Name of the offline pack. |
const offlinePack = await MapboxGL.offlineManager.getPack();Sets the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device.
The Mapbox Terms of Service prohibits changing or bypassing this limit without permission from Mapbox.
| Name | Type | Required | Description |
|---|---|---|---|
limit |
Number |
Yes |
Map tile limit count. |
MapboxGL.offlineManager.setTileCountLimit(1000);Sets the value at which download status events will be sent over the React Native bridge.
These events happening very very fast default is 500ms.
| Name | Type | Required | Description |
|---|---|---|---|
throttleValue |
Number |
Yes |
event throttle value in ms. |
MapboxGL.setProgressEventThrottle(500);Subscribe to download status/error events for the requested offline pack.
Note that createPack calls this internally if listeners are provided.
| Name | Type | Required | Description |
|---|---|---|---|
packName |
String |
Yes |
Name of the offline pack. |
progressListener |
Callback |
Yes |
Callback that listens for status events while downloading the offline resource. |
errorListener |
Callback |
Yes |
Callback that listens for status events while downloading the offline resource. |
const progressListener = (offlinePack, status) => console.log(offlinePack, status)
const errorListener = (offlinePack, err) => console.log(offlinePack, err)
MapboxGL.offlineManager.subscribe('packName', progressListener, errorListener)Unsubscribes any listeners associated with the offline pack.
It's a good idea to call this on componentWillUnmount.
| Name | Type | Required | Description |
|---|---|---|---|
packName |
String |
Yes |
Name of the offline pack. |
MapboxGL.offlineManager.unsubscribe('packName')