@maplibre/maplibre-react-native 11.0.0-alpha.31 → 11.0.0-alpha.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/android/src/main/java/org/maplibre/reactnative/MLRNPackage.kt +10 -12
- package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapView.kt +9 -0
- package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewManager.kt +5 -1
- package/android/src/main/java/org/maplibre/reactnative/modules/MLRNModule.java +6 -24
- package/android/src/main/java/org/maplibre/reactnative/modules/MLRNOfflineModule.kt +561 -0
- package/ios/components/map-view/MLRNMapView.h +1 -0
- package/ios/components/map-view/MLRNMapView.m +5 -0
- package/ios/components/map-view/MLRNMapViewComponentView.mm +4 -0
- package/ios/modules/mlrn/MLRNModule.m +0 -13
- package/ios/modules/offline/MLRNOfflineModule.h +4 -7
- package/ios/modules/offline/MLRNOfflineModule.mm +693 -0
- package/lib/commonjs/MLRNModule.js +1 -3
- package/lib/commonjs/MLRNModule.js.map +1 -1
- package/lib/commonjs/components/map-view/AndroidTextureMapViewNativeComponent.ts +1 -0
- package/lib/commonjs/components/map-view/MapView.js.map +1 -1
- package/lib/commonjs/components/map-view/MapViewNativeComponent.ts +1 -0
- package/lib/commonjs/index.js +0 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/offline/NativeOfflineModule.js +9 -0
- package/lib/commonjs/modules/offline/NativeOfflineModule.js.map +1 -0
- package/lib/commonjs/modules/offline/OfflineManager.js +124 -164
- package/lib/commonjs/modules/offline/OfflineManager.js.map +1 -1
- package/lib/commonjs/modules/offline/OfflinePack.js +15 -25
- package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
- package/lib/module/MLRNModule.js +0 -1
- package/lib/module/MLRNModule.js.map +1 -1
- package/lib/module/components/map-view/AndroidTextureMapViewNativeComponent.ts +1 -0
- package/lib/module/components/map-view/MapView.js.map +1 -1
- package/lib/module/components/map-view/MapViewNativeComponent.ts +1 -0
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/offline/NativeOfflineModule.js +5 -0
- package/lib/module/modules/offline/NativeOfflineModule.js.map +1 -0
- package/lib/module/modules/offline/OfflineManager.js +123 -163
- package/lib/module/modules/offline/OfflineManager.js.map +1 -1
- package/lib/module/modules/offline/OfflinePack.js +14 -25
- package/lib/module/modules/offline/OfflinePack.js.map +1 -1
- package/lib/typescript/commonjs/src/MLRNModule.d.ts +1 -6
- package/lib/typescript/commonjs/src/MLRNModule.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/map-view/AndroidTextureMapViewNativeComponent.d.ts +1 -0
- package/lib/typescript/commonjs/src/components/map-view/AndroidTextureMapViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts +6 -0
- package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts +1 -0
- package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +2 -5
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/offline/NativeOfflineModule.d.ts +50 -0
- package/lib/typescript/commonjs/src/modules/offline/NativeOfflineModule.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/offline/OfflineManager.d.ts +66 -69
- package/lib/typescript/commonjs/src/modules/offline/OfflineManager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/offline/OfflinePack.d.ts +11 -9
- package/lib/typescript/commonjs/src/modules/offline/OfflinePack.d.ts.map +1 -1
- package/lib/typescript/module/src/MLRNModule.d.ts +1 -6
- package/lib/typescript/module/src/MLRNModule.d.ts.map +1 -1
- package/lib/typescript/module/src/components/map-view/AndroidTextureMapViewNativeComponent.d.ts +1 -0
- package/lib/typescript/module/src/components/map-view/AndroidTextureMapViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/components/map-view/MapView.d.ts +6 -0
- package/lib/typescript/module/src/components/map-view/MapView.d.ts.map +1 -1
- package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts +1 -0
- package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +2 -5
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/offline/NativeOfflineModule.d.ts +50 -0
- package/lib/typescript/module/src/modules/offline/NativeOfflineModule.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/offline/OfflineManager.d.ts +66 -69
- package/lib/typescript/module/src/modules/offline/OfflineManager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/offline/OfflinePack.d.ts +11 -9
- package/lib/typescript/module/src/modules/offline/OfflinePack.d.ts.map +1 -1
- package/package.json +7 -3
- package/src/MLRNModule.ts +0 -8
- package/src/components/map-view/AndroidTextureMapViewNativeComponent.ts +1 -0
- package/src/components/map-view/MapView.tsx +7 -0
- package/src/components/map-view/MapViewNativeComponent.ts +1 -0
- package/src/index.ts +13 -5
- package/src/modules/offline/NativeOfflineModule.ts +63 -0
- package/src/modules/offline/OfflineManager.ts +174 -210
- package/src/modules/offline/OfflinePack.ts +22 -32
- package/android/src/main/java/org/maplibre/reactnative/modules/MLRNOfflineModule.java +0 -586
- package/ios/modules/offline/MLRNOfflineModule.m +0 -524
- package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js +0 -37
- package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +0 -1
- package/lib/commonjs/utils/makeNativeBounds.js +0 -11
- package/lib/commonjs/utils/makeNativeBounds.js.map +0 -1
- package/lib/module/modules/offline/OfflineCreatePackOptions.js +0 -32
- package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +0 -1
- package/lib/module/utils/makeNativeBounds.js +0 -7
- package/lib/module/utils/makeNativeBounds.js.map +0 -1
- package/lib/typescript/commonjs/src/modules/offline/OfflineCreatePackOptions.d.ts +0 -20
- package/lib/typescript/commonjs/src/modules/offline/OfflineCreatePackOptions.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/utils/makeNativeBounds.d.ts +0 -2
- package/lib/typescript/commonjs/src/utils/makeNativeBounds.d.ts.map +0 -1
- package/lib/typescript/module/src/modules/offline/OfflineCreatePackOptions.d.ts +0 -20
- package/lib/typescript/module/src/modules/offline/OfflineCreatePackOptions.d.ts.map +0 -1
- package/lib/typescript/module/src/utils/makeNativeBounds.d.ts +0 -2
- package/lib/typescript/module/src/utils/makeNativeBounds.d.ts.map +0 -1
- package/src/modules/offline/OfflineCreatePackOptions.ts +0 -53
- package/src/utils/makeNativeBounds.ts +0 -5
|
@@ -4,36 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.OfflinePack = void 0;
|
|
7
|
-
var
|
|
8
|
-
|
|
7
|
+
var _NativeOfflineModule = _interopRequireDefault(require("./NativeOfflineModule.js"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
class OfflinePack {
|
|
10
|
+
/** Unique Identifier (UUID), auto-generated natively during creation. */
|
|
11
|
+
|
|
12
|
+
/** User-provided metadata object. */
|
|
13
|
+
|
|
10
14
|
constructor(pack) {
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
|
|
14
|
-
get name() {
|
|
15
|
-
const {
|
|
16
|
-
metadata
|
|
17
|
-
} = this;
|
|
18
|
-
return metadata && metadata.name;
|
|
19
|
-
}
|
|
20
|
-
get bounds() {
|
|
21
|
-
return this.pack.bounds;
|
|
22
|
-
}
|
|
23
|
-
get metadata() {
|
|
24
|
-
if (!this._metadata && this.pack.metadata) {
|
|
25
|
-
this._metadata = JSON.parse(this.pack.metadata);
|
|
26
|
-
}
|
|
27
|
-
return this._metadata;
|
|
15
|
+
this.id = pack.id;
|
|
16
|
+
this.bounds = pack.bounds;
|
|
17
|
+
this.metadata = JSON.parse(pack.metadata);
|
|
28
18
|
}
|
|
29
|
-
status() {
|
|
30
|
-
return
|
|
19
|
+
async status() {
|
|
20
|
+
return _NativeOfflineModule.default.getPackStatus(this.id);
|
|
31
21
|
}
|
|
32
|
-
resume() {
|
|
33
|
-
return
|
|
22
|
+
async resume() {
|
|
23
|
+
return _NativeOfflineModule.default.resumePackDownload(this.id);
|
|
34
24
|
}
|
|
35
|
-
pause() {
|
|
36
|
-
return
|
|
25
|
+
async pause() {
|
|
26
|
+
return _NativeOfflineModule.default.pausePackDownload(this.id);
|
|
37
27
|
}
|
|
38
28
|
}
|
|
39
29
|
exports.OfflinePack = OfflinePack;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_NativeOfflineModule","_interopRequireDefault","require","e","__esModule","default","OfflinePack","constructor","pack","id","bounds","metadata","JSON","parse","status","NativeOfflineModule","getPackStatus","resume","resumePackDownload","pause","pausePackDownload","exports"],"sourceRoot":"../../../../src","sources":["modules/offline/OfflinePack.ts"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAE+B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAexB,MAAMG,WAAW,CAAC;EACvB;;EAGA;;EAKAC,WAAWA,CAACC,IAAuB,EAAE;IACnC,IAAI,CAACC,EAAE,GAAGD,IAAI,CAACC,EAAE;IACjB,IAAI,CAACC,MAAM,GAAGF,IAAI,CAACE,MAAsB;IACzC,IAAI,CAACC,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACL,IAAI,CAACG,QAAQ,CAAC;EAC3C;EAEA,MAAMG,MAAMA,CAAA,EAA+B;IACzC,OAAOC,4BAAmB,CAACC,aAAa,CAAC,IAAI,CAACP,EAAE,CAAC;EACnD;EAEA,MAAMQ,MAAMA,CAAA,EAAkB;IAC5B,OAAOF,4BAAmB,CAACG,kBAAkB,CAAC,IAAI,CAACT,EAAE,CAAC;EACxD;EAEA,MAAMU,KAAKA,CAAA,EAAkB;IAC3B,OAAOJ,4BAAmB,CAACK,iBAAiB,CAAC,IAAI,CAACX,EAAE,CAAC;EACvD;AACF;AAACY,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
|
package/lib/module/MLRNModule.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","MLRNModule","Object","create","
|
|
1
|
+
{"version":3,"names":["NativeModules","MLRNModule","Object","create","StyleSource","StyleURL","addCustomHeader","removeCustomHeader","setConnected"],"sourceRoot":"../../src","sources":["MLRNModule.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;AAiB5C,MAAMC,UAAuB,GAAGC,MAAM,CAACC,MAAM,CAACH,aAAa,CAACC,UAAU,CAAC;AAEvE,OAAO,MAAM;EACXG,WAAW;EACXC,QAAQ;EAERC,eAAe;EACfC,kBAAkB;EAElBC;AACF,CAAC,GAAGP,UAAU","ignoreList":[]}
|
|
@@ -74,6 +74,7 @@ export interface NativeProps extends ViewProps {
|
|
|
74
74
|
|
|
75
75
|
compass?: CodegenTypes.WithDefault<boolean, false>;
|
|
76
76
|
compassPosition?: NativeOrnamentViewPosition;
|
|
77
|
+
compassHiddenFacingNorth?: CodegenTypes.WithDefault<boolean, true>;
|
|
77
78
|
|
|
78
79
|
onPress?: CodegenTypes.BubblingEventHandler<NativePressEvent>;
|
|
79
80
|
onLongPress?: CodegenTypes.BubblingEventHandler<NativePressEvent>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","memo","useImperativeHandle","useLayoutEffect","useMemo","useRef","useState","NativeModules","Platform","StyleSheet","View","AndroidTextureMapViewNativeComponent","MapViewNativeComponent","NativeMapViewModule","LogManager","transformStyle","findNodeHandle","getFilter","jsx","_jsx","MLRNModule","console","error","styles","create","flex1","flex","MapView","androidView","style","props","ref","isReady","setIsReady","nativeRef","getCenter","current","getZoom","getBearing","getPitch","getBounds","getViewState","project","lngLat","unproject","point","queryRenderedFeatures","pixelPointOrPixelPointBoundsOrOptions","options","Array","isArray","value","queryRenderedFeaturesWithPoint","layers","filter","queryRenderedFeaturesWithBounds","takeSnap","writeToDisk","setSourceVisibility","visible","source","sourceLayer","showAttribution","start","stop","nativeProps","mapStyle","light","otherProps","nativeMapStyle","undefined","JSON","stringify","transformedLight","mapView","NativeMapView","OS","onLayout","testID","children"],"sourceRoot":"../../../../src","sources":["components/map-view/MapView.tsx"],"mappings":";;AAAA,SAGEA,UAAU,EACVC,IAAI,EAGJC,mBAAmB,EACnBC,eAAe,EACfC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SAEEC,aAAa,EAEbC,QAAQ,EACRC,UAAU,EACVC,IAAI,QAEC,cAAc;AAErB,OAAOC,oCAAoC,MAAM,wCAAwC;AACzF,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,mBAAmB,MAAM,0BAAuB;AACvD,SAASC,UAAU,QAAQ,iCAA8B;AAazD,SAASC,cAAc,QAAQ,2BAAwB;AACvD,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,SAAS,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElD,MAAMC,UAAU,GAAGb,aAAa,CAACa,UAAU;AAC3C,IAAIA,UAAU,IAAI,IAAI,EAAE;EACtBC,OAAO,CAACC,KAAK,CACX,kKACF,CAAC;AACH;AAEA,MAAMC,MAAM,GAAGd,UAAU,CAACe,MAAM,CAAC;EAC/BC,KAAK,EAAE;IAAEC,IAAI,EAAE;EAAE;AACnB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"names":["forwardRef","memo","useImperativeHandle","useLayoutEffect","useMemo","useRef","useState","NativeModules","Platform","StyleSheet","View","AndroidTextureMapViewNativeComponent","MapViewNativeComponent","NativeMapViewModule","LogManager","transformStyle","findNodeHandle","getFilter","jsx","_jsx","MLRNModule","console","error","styles","create","flex1","flex","MapView","androidView","style","props","ref","isReady","setIsReady","nativeRef","getCenter","current","getZoom","getBearing","getPitch","getBounds","getViewState","project","lngLat","unproject","point","queryRenderedFeatures","pixelPointOrPixelPointBoundsOrOptions","options","Array","isArray","value","queryRenderedFeaturesWithPoint","layers","filter","queryRenderedFeaturesWithBounds","takeSnap","writeToDisk","setSourceVisibility","visible","source","sourceLayer","showAttribution","start","stop","nativeProps","mapStyle","light","otherProps","nativeMapStyle","undefined","JSON","stringify","transformedLight","mapView","NativeMapView","OS","onLayout","testID","children"],"sourceRoot":"../../../../src","sources":["components/map-view/MapView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -71,6 +71,7 @@ export interface NativeProps extends ViewProps {
|
|
|
71
71
|
|
|
72
72
|
compass?: CodegenTypes.WithDefault<boolean, false>;
|
|
73
73
|
compassPosition?: NativeOrnamentViewPosition;
|
|
74
|
+
compassHiddenFacingNorth?: CodegenTypes.WithDefault<boolean, true>;
|
|
74
75
|
|
|
75
76
|
onPress?: CodegenTypes.BubblingEventHandler<NativePressEvent>;
|
|
76
77
|
onLongPress?: CodegenTypes.BubblingEventHandler<NativePressEvent>;
|
package/lib/module/index.js
CHANGED
|
@@ -26,7 +26,6 @@ export { MarkerView } from "./components/annotations/MarkerView.js";
|
|
|
26
26
|
export { LocationManager } from "./modules/location/LocationManager.js";
|
|
27
27
|
export { OfflineManager } from "./modules/offline/OfflineManager.js";
|
|
28
28
|
export { OfflinePack } from "./modules/offline/OfflinePack.js";
|
|
29
|
-
export { OfflineCreatePackOptions } from "./modules/offline/OfflineCreatePackOptions.js";
|
|
30
29
|
export { SnapshotManager } from "./modules/snapshot/SnapshotManager.js";
|
|
31
30
|
export { Animated } from "./utils/animated/Animated.js";
|
|
32
31
|
export { LogManager } from "./modules/log/LogManager.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Camera","MapView","PointAnnotation","Annotation","Callout","UserLocation","NativeUserLocation","useCurrentPosition","ImageSource","ShapeSource","RasterSource","VectorSource","Images","FillLayer","FillExtrusionLayer","HeatmapLayer","LineLayer","CircleLayer","SymbolLayer","RasterLayer","BackgroundLayer","MarkerView","LocationManager","OfflineManager","OfflinePack","
|
|
1
|
+
{"version":3,"names":["Camera","MapView","PointAnnotation","Annotation","Callout","UserLocation","NativeUserLocation","useCurrentPosition","ImageSource","ShapeSource","RasterSource","VectorSource","Images","FillLayer","FillExtrusionLayer","HeatmapLayer","LineLayer","CircleLayer","SymbolLayer","RasterLayer","BackgroundLayer","MarkerView","LocationManager","OfflineManager","OfflinePack","SnapshotManager","Animated","LogManager"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,iBAAc;AAE5B,SAcEA,MAAM,QACD,+BAA4B;AAEnC,SAKEC,OAAO,QACF,kCAA+B;AAEtC,SAASC,eAAe,QAAQ,6CAA0C;AAE1E,SAASC,UAAU,QAAQ,wCAAqC;AAChE,SAASC,OAAO,QAAQ,qCAAkC;AAE1D,SAASC,YAAY,QAAQ,4CAAyC;AACtE,SAASC,kBAAkB,QAAQ,kDAA+C;AAClF,SAASC,kBAAkB,QAAQ,+BAA4B;AAE/D,SAEEC,WAAW,QACN,kDAA+C;AAEtD,SAGEC,WAAW,QACN,kDAA+C;AAEtD,SAEEC,YAAY,QACP,oDAAiD;AAExD,SAGEC,YAAY,QACP,oDAAiD;AAExD,SAASC,MAAM,QAAQ,wBAAqB;AAC5C,SAASC,SAAS,QAAQ,kCAA+B;AACzD,SAASC,kBAAkB,QAAQ,2CAAwC;AAC3E,SAASC,YAAY,QAAQ,qCAAkC;AAC/D,SAASC,SAAS,QAAQ,kCAA+B;AACzD,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,eAAe,QAAQ,wCAAqC;AACrE,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SACEC,eAAe,QAEV,uCAAoC;AAE3C,SACEC,cAAc,QAMT,qCAAkC;AACzC,SACEC,WAAW,QAEN,kCAA+B;AAEtC,SAASC,eAAe,QAAQ,uCAAoC;AAwBpE,SAASC,QAAQ,QAAQ,8BAA2B;AACpD,SAASC,UAAU,QAAuB,6BAA0B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../../src","sources":["modules/offline/NativeOfflineModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA6DlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,mBAAmB,CAAC","ignoreList":[]}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import { OfflineCreatePackOptions } from "./OfflineCreatePackOptions.js";
|
|
3
|
+
import NativeOfflineModule from "./NativeOfflineModule.js";
|
|
5
4
|
import { OfflinePack } from "./OfflinePack.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Represents the offline pack download state
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
10
|
/**
|
|
11
11
|
* OfflineManager implements a singleton (shared object) that manages offline packs.
|
|
12
|
-
* All of this class
|
|
12
|
+
* All of this class's instance methods are asynchronous, reflecting the fact that offline resources are stored in a database.
|
|
13
13
|
* The shared object maintains a canonical collection of offline packs.
|
|
14
14
|
*/
|
|
15
15
|
class OfflineManager {
|
|
16
16
|
constructor() {
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
17
|
+
this.initialized = false;
|
|
18
|
+
this.offlinePacks = {};
|
|
19
|
+
this.progressListeners = {};
|
|
20
|
+
this.errorListeners = {};
|
|
21
|
+
this.handleProgress = this.handleProgress.bind(this);
|
|
22
|
+
this.onError = this.onError.bind(this);
|
|
23
23
|
this.subscriptionProgress = null;
|
|
24
24
|
this.subscriptionError = null;
|
|
25
25
|
}
|
|
@@ -30,30 +30,36 @@ class OfflineManager {
|
|
|
30
30
|
* @example
|
|
31
31
|
*
|
|
32
32
|
* const progressListener = (offlineRegion, status) => console.log(offlineRegion, status);
|
|
33
|
-
* const errorListener = (offlineRegion,
|
|
33
|
+
* const errorListener = (offlineRegion, error) => console.log(offlineRegion, error);
|
|
34
34
|
*
|
|
35
|
-
* await OfflineManager.createPack({
|
|
36
|
-
* name: 'offlinePack',
|
|
35
|
+
* const offlinePack = await OfflineManager.createPack({
|
|
37
36
|
* styleURL: 'https://demotiles.maplibre.org/tiles/tiles.json',
|
|
38
37
|
* minZoom: 14,
|
|
39
38
|
* maxZoom: 20,
|
|
40
|
-
* bounds: [
|
|
39
|
+
* bounds: [west, south, east, north],
|
|
40
|
+
* metadata: { customValue: 'myValue' }
|
|
41
41
|
* }, progressListener, errorListener)
|
|
42
42
|
*
|
|
43
|
-
* @param
|
|
44
|
-
* @param
|
|
45
|
-
* @param
|
|
46
|
-
*
|
|
43
|
+
* @param options Create options for offline pack that specifies zoom levels, style url, and the region to download.
|
|
44
|
+
* @param progressListener Callback that listens for status events while downloading the offline resource.
|
|
45
|
+
* @param errorListener Callback that listens for status events while downloading the offline resource.
|
|
46
|
+
*
|
|
47
|
+
* @return The created offline pack with its generated ID.
|
|
47
48
|
*/
|
|
48
49
|
async createPack(options, progressListener, errorListener) {
|
|
49
|
-
await this.
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
await this.initialize();
|
|
51
|
+
const offlinePackOptions = {
|
|
52
|
+
mapStyle: options.mapStyle,
|
|
53
|
+
bounds: options.bounds,
|
|
54
|
+
minZoom: options.minZoom ?? 10,
|
|
55
|
+
maxZoom: options.maxZoom ?? 20,
|
|
56
|
+
metadata: JSON.stringify(options.metadata ?? {})
|
|
57
|
+
};
|
|
58
|
+
const nativeOfflinePack = await NativeOfflineModule.createPack(offlinePackOptions);
|
|
59
|
+
const offlinePack = new OfflinePack(nativeOfflinePack);
|
|
60
|
+
this.offlinePacks[offlinePack.id] = offlinePack;
|
|
61
|
+
await this.addListener(offlinePack.id, progressListener, errorListener);
|
|
62
|
+
return offlinePack;
|
|
57
63
|
}
|
|
58
64
|
|
|
59
65
|
/**
|
|
@@ -62,41 +68,29 @@ class OfflineManager {
|
|
|
62
68
|
* This is more efficient than deleting the offline pack and downloading it again. If the data stored locally matches that on the server, new data will not be downloaded.
|
|
63
69
|
*
|
|
64
70
|
* @example
|
|
65
|
-
* await OfflineManager.invalidatePack(
|
|
71
|
+
* await OfflineManager.invalidatePack(pack.id)
|
|
66
72
|
*
|
|
67
|
-
* @param
|
|
68
|
-
* @return {void}
|
|
73
|
+
* @param id ID of the OfflinePack.
|
|
69
74
|
*/
|
|
70
|
-
async invalidatePack(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
await this._initialize();
|
|
75
|
-
const offlinePack = this._offlinePacks[name];
|
|
76
|
-
if (offlinePack) {
|
|
77
|
-
await MLRNOfflineModule.invalidatePack(name);
|
|
78
|
-
}
|
|
75
|
+
async invalidatePack(id) {
|
|
76
|
+
await this.initialize();
|
|
77
|
+
const offlinePack = await this.getPack(id);
|
|
78
|
+
await NativeOfflineModule.invalidatePack(offlinePack.id);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
/**
|
|
82
|
-
* Unregisters the given
|
|
82
|
+
* Unregisters the given OfflinePack and allows resources that are no longer required by any remaining packs to be potentially freed.
|
|
83
83
|
*
|
|
84
84
|
* @example
|
|
85
|
-
* await OfflineManager.deletePack(
|
|
85
|
+
* await OfflineManager.deletePack(pack.id)
|
|
86
86
|
*
|
|
87
|
-
* @param
|
|
88
|
-
* @return {void}
|
|
87
|
+
* @param id ID of the OfflinePack.
|
|
89
88
|
*/
|
|
90
|
-
async deletePack(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const offlinePack = this._offlinePacks[name];
|
|
96
|
-
if (offlinePack) {
|
|
97
|
-
await MLRNOfflineModule.deletePack(name);
|
|
98
|
-
delete this._offlinePacks[name];
|
|
99
|
-
}
|
|
89
|
+
async deletePack(id) {
|
|
90
|
+
await this.initialize();
|
|
91
|
+
const offlinePack = await this.getPack(id);
|
|
92
|
+
await NativeOfflineModule.deletePack(offlinePack.id);
|
|
93
|
+
delete this.offlinePacks[offlinePack.id];
|
|
100
94
|
}
|
|
101
95
|
|
|
102
96
|
/**
|
|
@@ -107,12 +101,10 @@ class OfflineManager {
|
|
|
107
101
|
*
|
|
108
102
|
* @example
|
|
109
103
|
* await OfflineManager.invalidateAmbientCache();
|
|
110
|
-
*
|
|
111
|
-
* @return {void}
|
|
112
104
|
*/
|
|
113
105
|
async invalidateAmbientCache() {
|
|
114
|
-
await this.
|
|
115
|
-
await
|
|
106
|
+
await this.initialize();
|
|
107
|
+
await NativeOfflineModule.invalidateAmbientCache();
|
|
116
108
|
}
|
|
117
109
|
|
|
118
110
|
/**
|
|
@@ -121,12 +113,10 @@ class OfflineManager {
|
|
|
121
113
|
*
|
|
122
114
|
* @example
|
|
123
115
|
* await OfflineManager.clearAmbientCache();
|
|
124
|
-
*
|
|
125
|
-
* @return {void}
|
|
126
116
|
*/
|
|
127
117
|
async clearAmbientCache() {
|
|
128
|
-
await this.
|
|
129
|
-
await
|
|
118
|
+
await this.initialize();
|
|
119
|
+
await NativeOfflineModule.clearAmbientCache();
|
|
130
120
|
}
|
|
131
121
|
|
|
132
122
|
/**
|
|
@@ -136,12 +126,11 @@ class OfflineManager {
|
|
|
136
126
|
* @example
|
|
137
127
|
* await OfflineManager.setMaximumAmbientCacheSize(5000000);
|
|
138
128
|
*
|
|
139
|
-
* @param
|
|
140
|
-
* @return {void}
|
|
129
|
+
* @param size Size of ambient cache.
|
|
141
130
|
*/
|
|
142
131
|
async setMaximumAmbientCacheSize(size) {
|
|
143
|
-
await this.
|
|
144
|
-
await
|
|
132
|
+
await this.initialize();
|
|
133
|
+
await NativeOfflineModule.setMaximumAmbientCacheSize(size);
|
|
145
134
|
}
|
|
146
135
|
|
|
147
136
|
/**
|
|
@@ -149,12 +138,10 @@ class OfflineManager {
|
|
|
149
138
|
*
|
|
150
139
|
* @example
|
|
151
140
|
* await OfflineManager.resetDatabase();
|
|
152
|
-
*
|
|
153
|
-
* @return {void}
|
|
154
141
|
*/
|
|
155
142
|
async resetDatabase() {
|
|
156
|
-
await this.
|
|
157
|
-
await
|
|
143
|
+
await this.initialize();
|
|
144
|
+
await NativeOfflineModule.resetDatabase();
|
|
158
145
|
}
|
|
159
146
|
|
|
160
147
|
/**
|
|
@@ -162,26 +149,25 @@ class OfflineManager {
|
|
|
162
149
|
*
|
|
163
150
|
* @example
|
|
164
151
|
* const offlinePacks = await OfflineManager.getPacks();
|
|
165
|
-
*
|
|
166
|
-
* @return {Array<OfflinePack>}
|
|
167
152
|
*/
|
|
168
153
|
async getPacks() {
|
|
169
|
-
await this.
|
|
170
|
-
return Object.
|
|
154
|
+
await this.initialize();
|
|
155
|
+
return Object.values(this.offlinePacks);
|
|
171
156
|
}
|
|
172
157
|
|
|
173
158
|
/**
|
|
174
|
-
* Retrieves an offline pack that is stored in the database by
|
|
159
|
+
* Retrieves an offline pack that is stored in the database by ID.
|
|
175
160
|
*
|
|
176
161
|
* @example
|
|
177
|
-
* const offlinePack = await OfflineManager.getPack();
|
|
178
|
-
*
|
|
179
|
-
* @param {string} name Name of the offline pack.
|
|
180
|
-
* @return {OfflinePack}
|
|
162
|
+
* const offlinePack = await OfflineManager.getPack(offlinePack.id);
|
|
181
163
|
*/
|
|
182
|
-
async getPack(
|
|
183
|
-
await this.
|
|
184
|
-
|
|
164
|
+
async getPack(id) {
|
|
165
|
+
await this.initialize();
|
|
166
|
+
const offlinePack = this.offlinePacks[id];
|
|
167
|
+
if (!offlinePack) {
|
|
168
|
+
throw new Error(`OfflinePack ${id} not found`);
|
|
169
|
+
}
|
|
170
|
+
return offlinePack;
|
|
185
171
|
}
|
|
186
172
|
|
|
187
173
|
/**
|
|
@@ -190,12 +176,11 @@ class OfflineManager {
|
|
|
190
176
|
* @example
|
|
191
177
|
* await OfflineManager.mergeOfflineRegions(path);
|
|
192
178
|
*
|
|
193
|
-
* @param
|
|
194
|
-
* @return {void}
|
|
179
|
+
* @param path Path to offline tile db on file system.
|
|
195
180
|
*/
|
|
196
181
|
async mergeOfflineRegions(path) {
|
|
197
|
-
await this.
|
|
198
|
-
return
|
|
182
|
+
await this.initialize();
|
|
183
|
+
return NativeOfflineModule.mergeOfflineRegions(path);
|
|
199
184
|
}
|
|
200
185
|
|
|
201
186
|
/**
|
|
@@ -205,11 +190,10 @@ class OfflineManager {
|
|
|
205
190
|
* @example
|
|
206
191
|
* OfflineManager.setTileCountLimit(1000);
|
|
207
192
|
*
|
|
208
|
-
* @param
|
|
209
|
-
* @return {void}
|
|
193
|
+
* @param limit Map tile limit count.
|
|
210
194
|
*/
|
|
211
195
|
setTileCountLimit(limit) {
|
|
212
|
-
|
|
196
|
+
NativeOfflineModule.setTileCountLimit(limit);
|
|
213
197
|
}
|
|
214
198
|
|
|
215
199
|
/**
|
|
@@ -219,11 +203,10 @@ class OfflineManager {
|
|
|
219
203
|
* @example
|
|
220
204
|
* OfflineManager.setProgressEventThrottle(500);
|
|
221
205
|
*
|
|
222
|
-
* @param
|
|
223
|
-
* @return {void}
|
|
206
|
+
* @param throttleValue Event throttle value in ms.
|
|
224
207
|
*/
|
|
225
208
|
setProgressEventThrottle(throttleValue) {
|
|
226
|
-
|
|
209
|
+
NativeOfflineModule.setProgressEventThrottle(throttleValue);
|
|
227
210
|
}
|
|
228
211
|
|
|
229
212
|
/**
|
|
@@ -232,109 +215,86 @@ class OfflineManager {
|
|
|
232
215
|
*
|
|
233
216
|
* @example
|
|
234
217
|
* const progressListener = (offlinePack, status) => console.log(offlinePack, status)
|
|
235
|
-
* const errorListener = (offlinePack,
|
|
236
|
-
* OfflineManager.
|
|
218
|
+
* const errorListener = (offlinePack, error) => console.log(offlinePack, error)
|
|
219
|
+
* OfflineManager.addListener(pack.id, progressListener, errorListener)
|
|
237
220
|
*
|
|
238
|
-
* @param
|
|
239
|
-
* @param
|
|
240
|
-
* @param
|
|
241
|
-
* @return {void}
|
|
221
|
+
* @param id ID of the offline pack.
|
|
222
|
+
* @param progressListener Callback that listens for status events while downloading the offline resource.
|
|
223
|
+
* @param errorListener Callback that listens for status events while downloading the offline resource.
|
|
242
224
|
*/
|
|
243
|
-
async
|
|
244
|
-
const totalProgressListeners = Object.keys(this.
|
|
245
|
-
if (
|
|
246
|
-
|
|
247
|
-
this.subscriptionProgress = OfflineModuleEventEmitter.addListener(MLRNModule.OfflineCallbackName.Progress, this._onProgress);
|
|
248
|
-
}
|
|
249
|
-
this._progressListeners[packName] = progressListener;
|
|
225
|
+
async addListener(id, progressListener, errorListener) {
|
|
226
|
+
const totalProgressListeners = Object.keys(this.progressListeners).length;
|
|
227
|
+
if (totalProgressListeners === 0) {
|
|
228
|
+
this.subscriptionProgress = NativeOfflineModule.onProgress(this.handleProgress);
|
|
250
229
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
}
|
|
256
|
-
this._errorListeners[packName] = errorListener;
|
|
230
|
+
this.progressListeners[id] = progressListener;
|
|
231
|
+
const totalErrorListeners = Object.keys(this.errorListeners).length;
|
|
232
|
+
if (totalErrorListeners === 0) {
|
|
233
|
+
this.subscriptionError = NativeOfflineModule.onError(this.onError);
|
|
257
234
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
if (isAndroid() && this._offlinePacks[packName]) {
|
|
262
|
-
try {
|
|
263
|
-
// manually set a listener, since listeners are only set on create flow
|
|
264
|
-
await MLRNOfflineModule.setPackObserver(packName);
|
|
265
|
-
} catch (e) {
|
|
266
|
-
console.log("Unable to set pack observer", e);
|
|
267
|
-
}
|
|
235
|
+
this.errorListeners[id] = errorListener;
|
|
236
|
+
if (this.offlinePacks[id]) {
|
|
237
|
+
await NativeOfflineModule.setPackObserver(id);
|
|
268
238
|
}
|
|
269
239
|
}
|
|
270
240
|
|
|
271
241
|
/**
|
|
272
242
|
* Unsubscribes any listeners associated with the offline pack.
|
|
273
|
-
*
|
|
243
|
+
* Should be called when the component unmounts.
|
|
274
244
|
*
|
|
275
245
|
* @example
|
|
276
|
-
*
|
|
246
|
+
* useEffect(() => {
|
|
247
|
+
* return () => {
|
|
248
|
+
* OfflineManager.removeListener(pack.id);
|
|
249
|
+
* }
|
|
250
|
+
* }, []);
|
|
277
251
|
*
|
|
278
|
-
* @param
|
|
279
|
-
* @return {void}
|
|
252
|
+
* @param packId ID of the offline pack.
|
|
280
253
|
*/
|
|
281
|
-
|
|
282
|
-
delete this.
|
|
283
|
-
delete this.
|
|
284
|
-
if (Object.keys(this.
|
|
254
|
+
removeListener(packId) {
|
|
255
|
+
delete this.progressListeners[packId];
|
|
256
|
+
delete this.errorListeners[packId];
|
|
257
|
+
if (Object.keys(this.progressListeners).length === 0 && this.subscriptionProgress) {
|
|
285
258
|
this.subscriptionProgress.remove();
|
|
286
259
|
}
|
|
287
|
-
if (Object.keys(this.
|
|
260
|
+
if (Object.keys(this.errorListeners).length === 0 && this.subscriptionError) {
|
|
288
261
|
this.subscriptionError.remove();
|
|
289
262
|
}
|
|
290
263
|
}
|
|
291
|
-
async
|
|
292
|
-
if (this.
|
|
264
|
+
async initialize() {
|
|
265
|
+
if (this.initialized) {
|
|
293
266
|
return true;
|
|
294
267
|
}
|
|
295
|
-
const nativeOfflinePacks = await
|
|
268
|
+
const nativeOfflinePacks = await NativeOfflineModule.getPacks();
|
|
296
269
|
for (const nativeOfflinePack of nativeOfflinePacks) {
|
|
297
270
|
const offlinePack = new OfflinePack(nativeOfflinePack);
|
|
298
|
-
|
|
299
|
-
this._offlinePacks[offlinePack.name] = offlinePack;
|
|
300
|
-
}
|
|
271
|
+
this.offlinePacks[offlinePack.id] = offlinePack;
|
|
301
272
|
}
|
|
302
|
-
this.
|
|
273
|
+
this.initialized = true;
|
|
303
274
|
return true;
|
|
304
275
|
}
|
|
305
|
-
|
|
276
|
+
handleProgress(event) {
|
|
306
277
|
const {
|
|
307
|
-
|
|
278
|
+
id,
|
|
308
279
|
state
|
|
309
|
-
} =
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
const pack = this._offlinePacks[name];
|
|
314
|
-
if (pack) {
|
|
315
|
-
this._progressListeners[name]?.(pack, e);
|
|
280
|
+
} = event;
|
|
281
|
+
const offlinePack = this.offlinePacks[id];
|
|
282
|
+
if (offlinePack) {
|
|
283
|
+
this.progressListeners[offlinePack.id]?.(offlinePack, event);
|
|
316
284
|
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
if (state === MLRNModule.OfflinePackDownloadState.Complete) {
|
|
320
|
-
this.unsubscribe(name);
|
|
285
|
+
if (state === "complete") {
|
|
286
|
+
this.removeListener(id);
|
|
321
287
|
}
|
|
322
288
|
}
|
|
323
|
-
|
|
289
|
+
onError(event) {
|
|
324
290
|
const {
|
|
325
|
-
|
|
326
|
-
} =
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
const pack = this._offlinePacks[name];
|
|
331
|
-
if (pack) {
|
|
332
|
-
this._errorListeners[name]?.(pack, e);
|
|
291
|
+
id
|
|
292
|
+
} = event;
|
|
293
|
+
const offlinePack = this.offlinePacks[id];
|
|
294
|
+
if (offlinePack) {
|
|
295
|
+
this.errorListeners[offlinePack.id]?.(offlinePack, event);
|
|
333
296
|
}
|
|
334
297
|
}
|
|
335
|
-
_hasListeners(name, listenerMap) {
|
|
336
|
-
return !isUndefined(this._offlinePacks[name]) && isFunction(listenerMap[name]);
|
|
337
|
-
}
|
|
338
298
|
}
|
|
339
299
|
const offlineManager = new OfflineManager();
|
|
340
300
|
export { offlineManager as OfflineManager };
|