@rnmapbox/maps 10.1.0 → 10.1.2
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/CHANGELOG.md +9 -5
- package/README.md +5 -31
- package/android/build.gradle +6 -2
- package/android/install.md +5 -21
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +76 -12
- package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEvent.kt +24 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEventEmitter.kt +5 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerView.kt +17 -6
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewContent.kt +31 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewContentManager.kt +23 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt +8 -9
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotation.kt +33 -35
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.kt +8 -7
- package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXCamera.kt +4 -4
- package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXVIewportManager.kt +55 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewport.kt +408 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewportModule.kt +66 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/images/ImageManager.kt +53 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImages.kt +2 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +31 -6
- package/android/src/main/java/com/rnmapbox/rnmbx/components/location/LocationComponentManager.kt +78 -47
- package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXCustomLocationProvider.kt +114 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXCustomLocationProviderManager.kt +54 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt +246 -25
- package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocationManager.kt +90 -7
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/NativeMapViewModule.kt +1 -8
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +185 -114
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +16 -8
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyle.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleFactory.kt +1184 -109
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXCircleLayerManager.kt +8 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXFillLayerManager.kt +12 -5
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXHeatmapLayerManager.kt +7 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXLayer.kt +25 -6
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXLineLayerManager.kt +7 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayer.kt +33 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayerManager.kt +85 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterLayer.kt +4 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterLayerManager.kt +8 -2
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXSymbolLayerManager.kt +8 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/codeparts/LayerManagerCommonProps.codepart-kt.ejs +59 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModels.kt +33 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModelsManager.kt +59 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSource.kt +56 -6
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +7 -5
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSource.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSourceManager.kt +5 -4
- package/android/src/main/java/com/rnmapbox/rnmbx/events/AndroidCallbackEvent.java +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/events/FeatureClickEvent.java +3 -3
- package/android/src/main/java/com/rnmapbox/rnmbx/events/IEvent.kt +1 -4
- package/android/src/main/java/com/rnmapbox/rnmbx/events/ImageMissingEvent.java +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/events/LocationEvent.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/events/MapChangeEvent.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/events/MapClickEvent.java +2 -2
- package/android/src/main/java/com/rnmapbox/rnmbx/events/MapUserTrackingModeEvent.kt +4 -4
- package/android/src/main/java/com/rnmapbox/rnmbx/events/PointAnnotationClickEvent.java +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/events/PointAnnotationDragEvent.java +3 -3
- package/android/src/main/java/com/rnmapbox/rnmbx/events/constants/EventKeys.kt +44 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXModule.kt +18 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXOfflineModule.kt +4 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXOfflineModuleLegacy.kt +444 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/shape_animators/RNMBXMovePointShapeAnimatorModule.kt +55 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/shape_animators/ShapeAnimatorCommon.kt +110 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/utils/BitmapUtils.kt +3 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/utils/DownloadMapImageTask.kt +5 -2
- package/android/src/main/java/com/rnmapbox/rnmbx/utils/GeoJSONUtils.kt +5 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt +21 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt +111 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Annotation.kt +33 -1
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Cancelable.kt +15 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Image.kt +17 -1
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Layer.kt +7 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Location.kt +6 -9
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/MapboxMap.kt +11 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/OfflineManager.kt +6 -0
- package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +395 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Annotation.kt +29 -1
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Cancelable.kt +3 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Image.kt +21 -1
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Layer.kt +3 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Location.kt +2 -2
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/MapboxMap.kt +5 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/OfflineManager.kt +4 -0
- package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +8 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCircleLayerManagerDelegate.java +9 -6
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCircleLayerManagerInterface.java +3 -2
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCustomLocationProviderManagerDelegate.java +35 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCustomLocationProviderManagerInterface.java +18 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXFillLayerManagerDelegate.java +9 -6
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXFillLayerManagerInterface.java +3 -2
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXHeatmapLayerManagerDelegate.java +9 -6
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXHeatmapLayerManagerInterface.java +3 -2
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLineLayerManagerDelegate.java +9 -6
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLineLayerManagerInterface.java +3 -2
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerDelegate.java +3 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerInterface.java +1 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewContentManagerDelegate.java +25 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewContentManagerInterface.java +16 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerDelegate.java +3 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerInterface.java +1 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerDelegate.java +65 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerInterface.java +28 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerDelegate.java +32 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerInterface.java +17 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerDelegate.java +23 -2
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerInterface.java +8 -1
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterLayerManagerDelegate.java +9 -6
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterLayerManagerInterface.java +3 -2
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXSymbolLayerManagerDelegate.java +9 -6
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXSymbolLayerManagerInterface.java +3 -2
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXViewportManagerDelegate.java +35 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXViewportManagerInterface.java +18 -0
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXMovePointShapeAnimatorModuleSpec.java +44 -0
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXViewportModuleSpec.java +49 -0
- package/ios/RNMBX/CommonLayerProperties.H +2 -0
- package/ios/RNMBX/CustomHttpHeaders.swift +2 -9
- package/ios/RNMBX/ImageManager.swift +41 -0
- package/ios/RNMBX/RNMBXCamera.swift +4 -4
- package/ios/RNMBX/RNMBXCustomLocationProvider.swift +274 -0
- package/ios/RNMBX/RNMBXCustomLocationProviderComponentView.h +15 -0
- package/ios/RNMBX/RNMBXCustomLocationProviderComponentView.mm +67 -0
- package/ios/RNMBX/RNMBXCustomLocationProviderVIewManager.swift +13 -0
- package/ios/RNMBX/RNMBXCustomLocationProviderViewManager.m +10 -0
- package/ios/RNMBX/RNMBXEvent.swift +2 -0
- package/ios/RNMBX/RNMBXFabricPropConvert.h +47 -0
- package/ios/RNMBX/RNMBXFabricPropConvert.mm +136 -0
- package/ios/RNMBX/RNMBXImageModule.mm +2 -2
- package/ios/RNMBX/RNMBXImages.swift +22 -6
- package/ios/RNMBX/RNMBXImagesComponentView.mm +19 -1
- package/ios/RNMBX/RNMBXInteractiveElement.swift +1 -1
- package/ios/RNMBX/RNMBXLayer.swift +27 -0
- package/ios/RNMBX/RNMBXLocationModule.swift +25 -14
- package/ios/RNMBX/RNMBXLocationModuleV11.swift +81 -14
- package/ios/RNMBX/RNMBXLogging.swift +8 -0
- package/ios/RNMBX/RNMBXMapView.swift +521 -210
- package/ios/RNMBX/RNMBXMapViewComponentView.mm +28 -20
- package/ios/RNMBX/RNMBXMapViewManager.m +1 -0
- package/ios/RNMBX/RNMBXMapViewManager.swift +0 -1
- package/ios/RNMBX/RNMBXMapViewModule.mm +0 -1
- package/ios/RNMBX/RNMBXMarkerView.swift +11 -3
- package/ios/RNMBX/RNMBXMarkerViewComponentView.mm +5 -0
- package/ios/RNMBX/RNMBXMarkerViewContentComponentView.h +15 -0
- package/ios/RNMBX/RNMBXMarkerViewContentComponentView.mm +55 -0
- package/ios/RNMBX/RNMBXMarkerViewContentManager.m +6 -0
- package/ios/RNMBX/RNMBXMarkerViewContentManager.swift +14 -0
- package/ios/RNMBX/RNMBXMarkerViewManager.m +1 -0
- package/ios/RNMBX/RNMBXModelLayer.swift +59 -0
- package/ios/RNMBX/RNMBXModelLayerComponentView.h +15 -0
- package/ios/RNMBX/RNMBXModelLayerComponentView.mm +70 -0
- package/ios/RNMBX/RNMBXModelLayerViewManager.m +12 -0
- package/ios/RNMBX/RNMBXModelLayerViewManager.swift +13 -0
- package/ios/RNMBX/RNMBXModels.swift +63 -0
- package/ios/RNMBX/RNMBXModelsComponentView.h +17 -0
- package/ios/RNMBX/RNMBXModelsComponentView.mm +67 -0
- package/ios/RNMBX/RNMBXModelsManager.mm +9 -0
- package/ios/RNMBX/RNMBXModelsManager.swift +13 -0
- package/ios/RNMBX/RNMBXModule.m +1 -1
- package/ios/RNMBX/RNMBXModule.swift +24 -0
- package/ios/RNMBX/RNMBXNativeUserLocation.swift +248 -19
- package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +15 -6
- package/ios/RNMBX/RNMBXNativeUserLocationViewManager.m +8 -0
- package/ios/RNMBX/RNMBXOfflineModule.m +1 -1
- package/ios/RNMBX/RNMBXOfflineModuleLegacy.m +33 -0
- package/ios/RNMBX/RNMBXOfflineModuleLegacy.swift +431 -0
- package/ios/RNMBX/RNMBXPointAnnotation.swift +34 -1
- package/ios/RNMBX/RNMBXPointAnnotationModule.mm +2 -2
- package/ios/RNMBX/RNMBXShapeSource.swift +54 -15
- package/ios/RNMBX/RNMBXStyle.swift +786 -1
- package/ios/RNMBX/RNMBXStyleValue.swift +56 -4
- package/ios/RNMBX/RNMBXUtils.swift +2 -7
- package/ios/RNMBX/RNMBXViewport.swift +349 -0
- package/ios/RNMBX/RNMBXViewportComponentView.h +17 -0
- package/ios/RNMBX/RNMBXViewportComponentView.mm +119 -0
- package/ios/RNMBX/RNMBXViewportManager.m +12 -0
- package/ios/RNMBX/RNMBXViewportManager.swift +38 -0
- package/ios/RNMBX/RNMBXViewportModule.h +18 -0
- package/ios/RNMBX/RNMBXViewportModule.mm +87 -0
- package/ios/RNMBX/ShapeAnimators/RNMBXMovePointShapeAnimatorModule.m +61 -0
- package/ios/RNMBX/ShapeAnimators/RNMBXMovePointShapeAnimatorModule.swift +47 -0
- package/ios/RNMBX/ShapeAnimators/ShapeAnimatorCommon.swift +76 -0
- package/ios/RNMBX/ShapeAnimators/ShapeAnimatorManager.swift +45 -0
- package/ios/RNMBX/Uitls/PropertyChanges.swift +57 -0
- package/ios/RNMBX/rnmapbox_maps-Swift.pre.h +3 -0
- package/ios/install.md +5 -26
- package/lib/commonjs/Mapbox.js +63 -0
- package/lib/commonjs/Mapbox.js.map +1 -1
- package/lib/commonjs/RNMBXModule.js +3 -1
- package/lib/commonjs/RNMBXModule.js.map +1 -1
- package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -1
- package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
- package/lib/commonjs/classes/AnimatedPoint.js.map +1 -1
- package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
- package/lib/commonjs/classes/AnimatedShape.js.map +1 -1
- package/lib/commonjs/classes/index.d.js.map +1 -1
- package/lib/commonjs/classes/index.js.map +1 -1
- package/lib/commonjs/components/AbstractLayer.js +1 -1
- package/lib/commonjs/components/AbstractLayer.js.map +1 -1
- package/lib/commonjs/components/AbstractSource.js.map +1 -1
- package/lib/commonjs/components/Annotation.js.map +1 -1
- package/lib/commonjs/components/Atmosphere.js.map +1 -1
- package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
- package/lib/commonjs/components/Callout.js.map +1 -1
- package/lib/commonjs/components/Camera.js.map +1 -1
- package/lib/commonjs/components/CircleLayer.js +7 -2
- package/lib/commonjs/components/CircleLayer.js.map +1 -1
- package/lib/commonjs/components/{NativeUserLocation.js → CustomLocationProvider.js} +5 -5
- package/lib/commonjs/components/CustomLocationProvider.js.map +1 -0
- package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
- package/lib/commonjs/components/FillLayer.js +7 -2
- package/lib/commonjs/components/FillLayer.js.map +1 -1
- package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
- package/lib/commonjs/components/HeatmapLayer.js +7 -2
- package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
- package/lib/commonjs/components/Image.js.map +1 -1
- package/lib/commonjs/components/ImageSource.js.map +1 -1
- package/lib/commonjs/components/Images.js.map +1 -1
- package/lib/commonjs/components/Light.js.map +1 -1
- package/lib/commonjs/components/LineLayer.js +7 -2
- package/lib/commonjs/components/LineLayer.js.map +1 -1
- package/lib/commonjs/components/LocationPuck.js +66 -0
- package/lib/commonjs/components/LocationPuck.js.map +1 -0
- package/lib/commonjs/components/MapView.js +0 -8
- package/lib/commonjs/components/MapView.js.map +1 -1
- package/lib/commonjs/components/MarkerView.js +5 -3
- package/lib/commonjs/components/MarkerView.js.map +1 -1
- package/lib/commonjs/components/ModelLayer.js +37 -0
- package/lib/commonjs/components/ModelLayer.js.map +1 -0
- package/lib/commonjs/components/Models.js +43 -0
- package/lib/commonjs/components/Models.js.map +1 -0
- package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
- package/lib/commonjs/components/PointAnnotation.js.map +1 -1
- package/lib/commonjs/components/RasterDemSource.js.map +1 -1
- package/lib/commonjs/components/RasterLayer.js +7 -2
- package/lib/commonjs/components/RasterLayer.js.map +1 -1
- package/lib/commonjs/components/RasterSource.js.map +1 -1
- package/lib/commonjs/components/ShapeSource.js.map +1 -1
- package/lib/commonjs/components/SkyLayer.js +2 -2
- package/lib/commonjs/components/SkyLayer.js.map +1 -1
- package/lib/commonjs/components/Style.js.map +1 -1
- package/lib/commonjs/components/StyleImport.js.map +1 -1
- package/lib/commonjs/components/SymbolLayer.js +7 -2
- package/lib/commonjs/components/SymbolLayer.js.map +1 -1
- package/lib/commonjs/components/Terrain.js.map +1 -1
- package/lib/commonjs/components/UserLocation.js +2 -2
- package/lib/commonjs/components/UserLocation.js.map +1 -1
- package/lib/commonjs/components/VectorSource.js.map +1 -1
- package/lib/commonjs/components/Viewport.js +105 -0
- package/lib/commonjs/components/Viewport.js.map +1 -0
- package/lib/commonjs/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
- package/lib/commonjs/global.d.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/modules/location/locationManager.js.map +1 -1
- package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +1 -1
- package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
- package/lib/commonjs/modules/offline/OfflinePackLegacy.js +40 -0
- package/lib/commonjs/modules/offline/OfflinePackLegacy.js.map +1 -0
- package/lib/commonjs/modules/offline/offlineManager.js +4 -4
- package/lib/commonjs/modules/offline/offlineManager.js.map +1 -1
- package/lib/commonjs/modules/offline/offlineManagerLegacy.js +166 -0
- package/lib/commonjs/modules/offline/offlineManagerLegacy.js.map +1 -0
- package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -1
- package/lib/commonjs/modules/snapshot/snapshotManager.js.map +1 -1
- package/lib/commonjs/requestAndroidLocationPermissions.js.map +1 -1
- package/lib/commonjs/shape_animators/MovePointShapeAnimator.js +21 -0
- package/lib/commonjs/shape_animators/MovePointShapeAnimator.js.map +1 -0
- package/lib/commonjs/shape_animators/ShapeAnimatorManager.js +15 -0
- package/lib/commonjs/shape_animators/ShapeAnimatorManager.js.map +1 -0
- package/lib/commonjs/specs/NativeMapViewModule.js.map +1 -1
- package/lib/commonjs/specs/NativeRNMBXImageModule.js.map +1 -1
- package/lib/commonjs/specs/NativeRNMBXMovePointShapeAnimatorModule.js +10 -0
- package/lib/commonjs/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -0
- package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
- package/lib/commonjs/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
- package/lib/commonjs/specs/NativeRNMBXViewportModule.js +10 -0
- package/lib/commonjs/specs/NativeRNMBXViewportModule.js.map +1 -0
- package/lib/commonjs/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXCameraNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js +2 -0
- package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js +11 -0
- package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js +2 -0
- package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js +2 -0
- package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXImageNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXImagesNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXLightNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js +2 -0
- package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXMarkerViewContentNativeComponent.js +11 -0
- package/lib/commonjs/specs/RNMBXMarkerViewContentNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js +13 -0
- package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXModelsNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXModelsNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js +1 -0
- package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js +2 -0
- package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js +2 -0
- package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXViewportNativeComponent.js +36 -0
- package/lib/commonjs/specs/RNMBXViewportNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/codegenUtils.js.map +1 -1
- package/lib/commonjs/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +18 -0
- package/lib/commonjs/types/BaseProps.js.map +1 -1
- package/lib/commonjs/types/OnPressEvent.js.map +1 -1
- package/lib/commonjs/types/Position.js.map +1 -1
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/commonjs/utils/BridgeValue.js.map +1 -1
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/commonjs/utils/MapboxStyles.d.js +5 -0
- package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
- package/lib/commonjs/utils/StyleValue.js.map +1 -1
- package/lib/commonjs/utils/animated/Animated.js.map +1 -1
- package/lib/commonjs/utils/checkRequiredProps.js.map +1 -1
- package/lib/commonjs/utils/deprecation.js.map +1 -1
- package/lib/commonjs/utils/filterUtils.js.map +1 -1
- package/lib/commonjs/utils/geoUtils.js.map +1 -1
- package/lib/commonjs/utils/getAnnotationsLayerID.js.map +1 -1
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/nativeRef.js.map +1 -1
- package/lib/commonjs/utils/styleMap.js +67 -2
- package/lib/commonjs/utils/styleMap.js.map +1 -1
- package/lib/commonjs/web/MapContext.js.map +1 -1
- package/lib/commonjs/web/MapboxModule.js.map +1 -1
- package/lib/commonjs/web/UnimplementedComponent.js.map +1 -1
- package/lib/commonjs/web/components/Camera.js.map +1 -1
- package/lib/commonjs/web/components/MapView.js.map +1 -1
- package/lib/commonjs/web/index.js.map +1 -1
- package/lib/commonjs/web/utils/Logger.js.map +1 -1
- package/lib/module/Mapbox.js +18 -0
- package/lib/module/Mapbox.js.map +1 -1
- package/lib/module/RNMBXModule.js +1 -0
- package/lib/module/RNMBXModule.js.map +1 -1
- package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
- package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
- package/lib/module/classes/AnimatedPoint.js.map +1 -1
- package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
- package/lib/module/classes/AnimatedShape.js.map +1 -1
- package/lib/module/classes/index.d.js.map +1 -1
- package/lib/module/classes/index.js.map +1 -1
- package/lib/module/components/AbstractLayer.js +1 -1
- package/lib/module/components/AbstractLayer.js.map +1 -1
- package/lib/module/components/AbstractSource.js.map +1 -1
- package/lib/module/components/Annotation.js.map +1 -1
- package/lib/module/components/Atmosphere.js.map +1 -1
- package/lib/module/components/BackgroundLayer.js.map +1 -1
- package/lib/module/components/Callout.js.map +1 -1
- package/lib/module/components/Camera.js.map +1 -1
- package/lib/module/components/CircleLayer.js +7 -2
- package/lib/module/components/CircleLayer.js.map +1 -1
- package/lib/module/components/CustomLocationProvider.js +7 -0
- package/lib/module/components/CustomLocationProvider.js.map +1 -0
- package/lib/module/components/FillExtrusionLayer.js.map +1 -1
- package/lib/module/components/FillLayer.js +7 -2
- package/lib/module/components/FillLayer.js.map +1 -1
- package/lib/module/components/HeadingIndicator.js.map +1 -1
- package/lib/module/components/HeatmapLayer.js +7 -2
- package/lib/module/components/HeatmapLayer.js.map +1 -1
- package/lib/module/components/Image.js.map +1 -1
- package/lib/module/components/ImageSource.js.map +1 -1
- package/lib/module/components/Images.js.map +1 -1
- package/lib/module/components/Light.js.map +1 -1
- package/lib/module/components/LineLayer.js +7 -2
- package/lib/module/components/LineLayer.js.map +1 -1
- package/lib/module/components/LocationPuck.js +57 -0
- package/lib/module/components/LocationPuck.js.map +1 -0
- package/lib/module/components/MapView.js +0 -8
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/MarkerView.js +5 -3
- package/lib/module/components/MarkerView.js.map +1 -1
- package/lib/module/components/ModelLayer.js +30 -0
- package/lib/module/components/ModelLayer.js.map +1 -0
- package/lib/module/components/Models.js +36 -0
- package/lib/module/components/Models.js.map +1 -0
- package/lib/module/components/NativeBridgeComponent.js.map +1 -1
- package/lib/module/components/PointAnnotation.js.map +1 -1
- package/lib/module/components/RasterDemSource.js.map +1 -1
- package/lib/module/components/RasterLayer.js +7 -2
- package/lib/module/components/RasterLayer.js.map +1 -1
- package/lib/module/components/RasterSource.js.map +1 -1
- package/lib/module/components/ShapeSource.js.map +1 -1
- package/lib/module/components/SkyLayer.js +2 -2
- package/lib/module/components/SkyLayer.js.map +1 -1
- package/lib/module/components/Style.js.map +1 -1
- package/lib/module/components/StyleImport.js.map +1 -1
- package/lib/module/components/SymbolLayer.js +7 -2
- package/lib/module/components/SymbolLayer.js.map +1 -1
- package/lib/module/components/Terrain.js.map +1 -1
- package/lib/module/components/UserLocation.js +1 -1
- package/lib/module/components/UserLocation.js.map +1 -1
- package/lib/module/components/VectorSource.js.map +1 -1
- package/lib/module/components/Viewport.js +96 -0
- package/lib/module/components/Viewport.js.map +1 -0
- package/lib/module/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
- package/lib/module/global.d.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/modules/location/locationManager.js.map +1 -1
- package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
- package/lib/module/modules/offline/OfflinePack.js.map +1 -1
- package/lib/module/modules/offline/OfflinePackLegacy.js +34 -0
- package/lib/module/modules/offline/OfflinePackLegacy.js.map +1 -0
- package/lib/module/modules/offline/offlineManager.js +4 -4
- package/lib/module/modules/offline/offlineManager.js.map +1 -1
- package/lib/module/modules/offline/offlineManagerLegacy.js +154 -0
- package/lib/module/modules/offline/offlineManagerLegacy.js.map +1 -0
- package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
- package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
- package/lib/module/requestAndroidLocationPermissions.js.map +1 -1
- package/lib/module/shape_animators/MovePointShapeAnimator.js +13 -0
- package/lib/module/shape_animators/MovePointShapeAnimator.js.map +1 -0
- package/lib/module/shape_animators/ShapeAnimatorManager.js +8 -0
- package/lib/module/shape_animators/ShapeAnimatorManager.js.map +1 -0
- package/lib/module/specs/NativeMapViewModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXImageModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js +6 -0
- package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -0
- package/lib/module/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
- package/lib/module/specs/NativeRNMBXViewportModule.js +6 -0
- package/lib/module/specs/NativeRNMBXViewportModule.js.map +1 -0
- package/lib/module/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXCalloutNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXCameraNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXCircleLayerNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js +6 -0
- package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXFillLayerNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXImageNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXImagesNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXLightNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXLineLayerNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js +6 -0
- package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXModelLayerNativeComponent.js +9 -0
- package/lib/module/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXModelsNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXModelsNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXRasterLayerNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXTerrainNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXViewportNativeComponent.js +33 -0
- package/lib/module/specs/RNMBXViewportNativeComponent.js.map +1 -0
- package/lib/module/specs/codegenUtils.js.map +1 -1
- package/lib/module/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +18 -0
- package/lib/module/types/BaseProps.js.map +1 -1
- package/lib/module/types/OnPressEvent.js.map +1 -1
- package/lib/module/types/Position.js.map +1 -1
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/utils/BridgeValue.js.map +1 -1
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/module/utils/MapboxStyles.d.js +5 -0
- package/lib/module/utils/MapboxStyles.d.js.map +1 -1
- package/lib/module/utils/StyleValue.js.map +1 -1
- package/lib/module/utils/animated/Animated.js.map +1 -1
- package/lib/module/utils/checkRequiredProps.js.map +1 -1
- package/lib/module/utils/deprecation.js.map +1 -1
- package/lib/module/utils/filterUtils.js.map +1 -1
- package/lib/module/utils/geoUtils.js.map +1 -1
- package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/nativeRef.js.map +1 -1
- package/lib/module/utils/styleMap.js +67 -2
- package/lib/module/utils/styleMap.js.map +1 -1
- package/lib/module/web/MapContext.js.map +1 -1
- package/lib/module/web/MapboxModule.js.map +1 -1
- package/lib/module/web/UnimplementedComponent.js.map +1 -1
- package/lib/module/web/components/Camera.js.map +1 -1
- package/lib/module/web/components/MapView.js.map +1 -1
- package/lib/module/web/index.js.map +1 -1
- package/lib/module/web/utils/Logger.js.map +1 -1
- package/lib/typescript/src/Mapbox.d.ts +16 -2
- package/lib/typescript/src/Mapbox.d.ts.map +1 -1
- package/lib/typescript/src/RNMBXModule.d.ts +1 -1
- package/lib/typescript/src/RNMBXModule.d.ts.map +1 -1
- package/lib/typescript/src/components/AbstractLayer.d.ts +9 -4
- package/lib/typescript/src/components/AbstractLayer.d.ts.map +1 -1
- package/lib/typescript/src/components/Camera.d.ts +5 -3
- package/lib/typescript/src/components/Camera.d.ts.map +1 -1
- package/lib/typescript/src/components/CircleLayer.d.ts +11 -3
- package/lib/typescript/src/components/CircleLayer.d.ts.map +1 -1
- package/lib/typescript/src/components/CustomLocationProvider.d.ts +15 -0
- package/lib/typescript/src/components/CustomLocationProvider.d.ts.map +1 -0
- package/lib/typescript/src/components/FillLayer.d.ts +10 -1
- package/lib/typescript/src/components/FillLayer.d.ts.map +1 -1
- package/lib/typescript/src/components/HeatmapLayer.d.ts +12 -4
- package/lib/typescript/src/components/HeatmapLayer.d.ts.map +1 -1
- package/lib/typescript/src/components/Images.d.ts +1 -1
- package/lib/typescript/src/components/LineLayer.d.ts +10 -1
- package/lib/typescript/src/components/LineLayer.d.ts.map +1 -1
- package/lib/typescript/src/components/LocationPuck.d.ts +85 -0
- package/lib/typescript/src/components/LocationPuck.d.ts.map +1 -0
- package/lib/typescript/src/components/MapView.d.ts +6 -6
- package/lib/typescript/src/components/MapView.d.ts.map +1 -1
- package/lib/typescript/src/components/MarkerView.d.ts +5 -1
- package/lib/typescript/src/components/MarkerView.d.ts.map +1 -1
- package/lib/typescript/src/components/ModelLayer.d.ts +77 -0
- package/lib/typescript/src/components/ModelLayer.d.ts.map +1 -0
- package/lib/typescript/src/components/Models.d.ts +15 -0
- package/lib/typescript/src/components/Models.d.ts.map +1 -0
- package/lib/typescript/src/components/RasterLayer.d.ts +11 -2
- package/lib/typescript/src/components/RasterLayer.d.ts.map +1 -1
- package/lib/typescript/src/components/SymbolLayer.d.ts +17 -5
- package/lib/typescript/src/components/SymbolLayer.d.ts.map +1 -1
- package/lib/typescript/src/components/UserLocation.d.ts +1 -0
- package/lib/typescript/src/components/UserLocation.d.ts.map +1 -1
- package/lib/typescript/src/components/Viewport.d.ts +136 -0
- package/lib/typescript/src/components/Viewport.d.ts.map +1 -0
- package/lib/typescript/src/modules/offline/OfflinePackLegacy.d.ts +24 -0
- package/lib/typescript/src/modules/offline/OfflinePackLegacy.d.ts.map +1 -0
- package/lib/typescript/src/modules/offline/offlineManager.d.ts +1 -1
- package/lib/typescript/src/modules/offline/offlineManager.d.ts.map +1 -1
- package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts +93 -0
- package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts.map +1 -0
- package/lib/typescript/src/shape_animators/MovePointShapeAnimator.d.ts +7 -0
- package/lib/typescript/src/shape_animators/MovePointShapeAnimator.d.ts.map +1 -0
- package/lib/typescript/src/shape_animators/ShapeAnimatorManager.d.ts +5 -0
- package/lib/typescript/src/shape_animators/ShapeAnimatorManager.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeMapViewModule.d.ts +0 -1
- package/lib/typescript/src/specs/NativeMapViewModule.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts +0 -1
- package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeRNMBXMovePointShapeAnimatorModule.d.ts +10 -0
- package/lib/typescript/src/specs/NativeRNMBXMovePointShapeAnimatorModule.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts +0 -1
- package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts +0 -1
- package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts +35 -0
- package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts +16 -11
- package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXCustomLocationProviderNativeComponent.d.ts +12 -0
- package/lib/typescript/src/specs/RNMBXCustomLocationProviderNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts +9 -4
- package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts +9 -4
- package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts +9 -4
- package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts +1 -0
- package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXMarkerViewContentNativeComponent.d.ts +6 -0
- package/lib/typescript/src/specs/RNMBXMarkerViewContentNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts +1 -0
- package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts +28 -0
- package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts +15 -0
- package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts +20 -3
- package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts +9 -4
- package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts +9 -4
- package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXViewportNativeComponent.d.ts +59 -0
- package/lib/typescript/src/specs/RNMBXViewportNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/codegenUtils.d.ts +0 -1
- package/lib/typescript/src/specs/codegenUtils.d.ts.map +1 -1
- package/lib/typescript/src/types/Position.d.ts +3 -0
- package/lib/typescript/src/types/Position.d.ts.map +1 -1
- package/lib/typescript/src/utils/styleMap.d.ts.map +1 -1
- package/package.json +11 -10
- package/plugin/install.md +6 -14
- package/rnmapbox-maps.podspec +26 -4
- package/setup-jest.js +30 -1
- package/src/Mapbox.ts +21 -0
- package/src/RNMBXModule.ts +2 -0
- package/src/components/AbstractLayer.tsx +11 -5
- package/src/components/Camera.tsx +8 -3
- package/src/components/CircleLayer.tsx +17 -5
- package/src/components/CustomLocationProvider.tsx +22 -0
- package/src/components/FillLayer.tsx +16 -3
- package/src/components/HeatmapLayer.tsx +18 -6
- package/src/components/Images.tsx +1 -1
- package/src/components/LineLayer.tsx +16 -3
- package/src/components/LocationPuck.tsx +143 -0
- package/src/components/MapView.tsx +7 -9
- package/src/components/MarkerView.tsx +12 -5
- package/src/components/ModelLayer.tsx +107 -0
- package/src/components/Models.tsx +44 -0
- package/src/components/RasterLayer.tsx +17 -4
- package/src/components/SkyLayer.tsx +2 -2
- package/src/components/SymbolLayer.tsx +26 -7
- package/src/components/UserLocation.tsx +2 -1
- package/src/components/Viewport.tsx +330 -0
- package/src/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
- package/src/modules/offline/OfflinePackLegacy.ts +55 -0
- package/src/modules/offline/offlineManager.ts +4 -4
- package/src/modules/offline/offlineManagerLegacy.ts +181 -0
- package/src/shape_animators/MovePointShapeAnimator.ts +18 -0
- package/src/shape_animators/ShapeAnimatorManager.tsx +8 -0
- package/src/specs/NativeRNMBXMovePointShapeAnimatorModule.ts +16 -0
- package/src/specs/NativeRNMBXViewportModule.ts +41 -0
- package/src/specs/RNMBXCircleLayerNativeComponent.ts +21 -12
- package/src/specs/RNMBXCustomLocationProviderNativeComponent.ts +19 -0
- package/src/specs/RNMBXFillLayerNativeComponent.ts +13 -4
- package/src/specs/RNMBXHeatmapLayerNativeComponent.ts +13 -4
- package/src/specs/RNMBXLineLayerNativeComponent.ts +13 -4
- package/src/specs/RNMBXMapViewNativeComponent.ts +2 -0
- package/src/specs/RNMBXMarkerViewContentNativeComponent.ts +9 -0
- package/src/specs/RNMBXMarkerViewNativeComponent.ts +1 -0
- package/src/specs/RNMBXModelLayerNativeComponent.ts +38 -0
- package/src/specs/RNMBXModelsNativeComponent.ts +18 -0
- package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +29 -3
- package/src/specs/RNMBXRasterLayerNativeComponent.ts +13 -4
- package/src/specs/RNMBXSymbolLayerNativeComponent.ts +13 -4
- package/src/specs/RNMBXViewportNativeComponent.ts +117 -0
- package/src/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +18 -0
- package/src/types/Position.ts +3 -0
- package/src/utils/MapboxStyles.d.ts +526 -63
- package/src/utils/styleMap.ts +69 -2
- package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEvent.java +0 -35
- package/android/src/main/java/com/rnmapbox/rnmbx/events/constants/EventKeys.java +0 -39
- package/lib/commonjs/components/NativeUserLocation.js.map +0 -1
- package/lib/module/components/NativeUserLocation.js +0 -7
- package/lib/module/components/NativeUserLocation.js.map +0 -1
- package/lib/typescript/src/components/NativeUserLocation.d.ts +0 -22
- package/lib/typescript/src/components/NativeUserLocation.d.ts.map +0 -1
- package/src/components/NativeUserLocation.tsx +0 -29
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.modules
|
|
2
|
+
|
|
3
|
+
import android.os.Build
|
|
4
|
+
import android.util.Log
|
|
5
|
+
import com.facebook.react.bridge.Arguments
|
|
6
|
+
import com.facebook.react.bridge.Promise
|
|
7
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
9
|
+
import com.facebook.react.bridge.ReactMethod
|
|
10
|
+
import com.facebook.react.bridge.ReadableMap
|
|
11
|
+
import com.facebook.react.bridge.UiThreadUtil
|
|
12
|
+
import com.facebook.react.bridge.WritableMap
|
|
13
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
14
|
+
import com.mapbox.bindgen.Expected
|
|
15
|
+
import com.mapbox.geojson.FeatureCollection
|
|
16
|
+
import com.mapbox.geojson.Point
|
|
17
|
+
import com.mapbox.maps.CoordinateBounds
|
|
18
|
+
import com.mapbox.maps.GlyphsRasterizationMode
|
|
19
|
+
import com.mapbox.maps.OfflineRegion
|
|
20
|
+
import com.mapbox.maps.OfflineRegionCallback
|
|
21
|
+
import com.mapbox.maps.OfflineRegionCreateCallback
|
|
22
|
+
import com.mapbox.maps.OfflineRegionDownloadState
|
|
23
|
+
import com.mapbox.maps.OfflineRegionManager
|
|
24
|
+
import com.mapbox.maps.OfflineRegionStatus
|
|
25
|
+
import com.mapbox.maps.OfflineRegionTilePyramidDefinition
|
|
26
|
+
import com.rnmapbox.rnmbx.utils.ConvertUtils
|
|
27
|
+
import com.rnmapbox.rnmbx.utils.extensions.toGeometryCollection
|
|
28
|
+
import com.rnmapbox.rnmbx.utils.writableArrayOf
|
|
29
|
+
import com.rnmapbox.rnmbx.v11compat.offlinemanager.getOfflineRegionManager
|
|
30
|
+
import org.json.JSONException
|
|
31
|
+
import org.json.JSONObject
|
|
32
|
+
import java.io.File
|
|
33
|
+
import java.io.UnsupportedEncodingException
|
|
34
|
+
import java.nio.file.Files
|
|
35
|
+
import java.nio.file.Paths
|
|
36
|
+
import java.nio.file.StandardCopyOption
|
|
37
|
+
import kotlin.math.ceil
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@ReactModule(name = RNMBXOfflineModuleLegacy.REACT_CLASS)
|
|
41
|
+
class RNMBXOfflineModuleLegacy(private val mReactContext: ReactApplicationContext) :
|
|
42
|
+
ReactContextBaseJavaModule(
|
|
43
|
+
mReactContext
|
|
44
|
+
) {
|
|
45
|
+
companion object {
|
|
46
|
+
const val REACT_CLASS = "RNMBXOfflineModuleLegacy"
|
|
47
|
+
const val LOG_TAG = "OfflineModuleLegacy"
|
|
48
|
+
const val DEFAULT_STYLE_URL = "mapbox://styles/mapbox/streets-v11"
|
|
49
|
+
const val DEFAULT_MIN_ZOOM_LEVEL = 10.0
|
|
50
|
+
const val DEFAULT_MAX_ZOOM_LEVEL = 20.0
|
|
51
|
+
const val COMPLETE_REGION_DOWNLOAD_STATE = 2
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
override fun getName(): String {
|
|
55
|
+
return REACT_CLASS
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
val offlineRegionManager: OfflineRegionManager by lazy {
|
|
59
|
+
getOfflineRegionManager {
|
|
60
|
+
RNMBXModule.getAccessToken(mReactContext)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
private fun makeDefinition(
|
|
65
|
+
bounds: CoordinateBounds,
|
|
66
|
+
options: ReadableMap
|
|
67
|
+
): OfflineRegionTilePyramidDefinition {
|
|
68
|
+
return OfflineRegionTilePyramidDefinition.Builder()
|
|
69
|
+
.styleURL(ConvertUtils.getString("styleURL", options, DEFAULT_STYLE_URL))
|
|
70
|
+
.bounds(bounds)
|
|
71
|
+
.minZoom(ConvertUtils.getDouble("minZoom", options, DEFAULT_MIN_ZOOM_LEVEL))
|
|
72
|
+
.maxZoom(ConvertUtils.getDouble("maxZoom", options, DEFAULT_MAX_ZOOM_LEVEL))
|
|
73
|
+
.pixelRatio(mReactContext.getResources().getDisplayMetrics().density)
|
|
74
|
+
.glyphsRasterizationMode(GlyphsRasterizationMode.IDEOGRAPHS_RASTERIZED_LOCALLY)
|
|
75
|
+
.build()
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
private fun convertPointPairToBounds(boundsFC: FeatureCollection): CoordinateBounds? {
|
|
79
|
+
val geometryCollection = boundsFC.toGeometryCollection()
|
|
80
|
+
val geometries = geometryCollection.geometries()
|
|
81
|
+
if (geometries.size != 2) {
|
|
82
|
+
return null
|
|
83
|
+
}
|
|
84
|
+
val pt0 = geometries.get(0) as Point?
|
|
85
|
+
val pt1 = geometries.get(1) as Point?
|
|
86
|
+
if (pt0 == null || pt1 == null) {
|
|
87
|
+
return null
|
|
88
|
+
}
|
|
89
|
+
return CoordinateBounds(pt0, pt1)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
private fun createPackCallback(promise: Promise, metadata: ByteArray): OfflineRegionCreateCallback {
|
|
93
|
+
return OfflineRegionCreateCallback { expected ->
|
|
94
|
+
if (expected.isValue) {
|
|
95
|
+
expected.value?.let {
|
|
96
|
+
it.setOfflineRegionDownloadState(OfflineRegionDownloadState.ACTIVE)
|
|
97
|
+
it.setMetadata(metadata) { expectedMetadata ->
|
|
98
|
+
if (expectedMetadata.isError) {
|
|
99
|
+
promise.reject("createPack error:", "Failed to setMetadata")
|
|
100
|
+
} else {
|
|
101
|
+
Log.d(LOG_TAG, "createPack done:")
|
|
102
|
+
promise.resolve(fromOfflineRegion(it))
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
} else {
|
|
107
|
+
Log.d(LOG_TAG, "createPack error:")
|
|
108
|
+
promise.reject("createPack error:", "Failed to create OfflineRegion")
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
private fun fromOfflineRegion(region: OfflineRegion): WritableMap? {
|
|
115
|
+
val bb = region.tilePyramidDefinition?.bounds
|
|
116
|
+
val map = Arguments.createMap()
|
|
117
|
+
|
|
118
|
+
if (bb === null) return map
|
|
119
|
+
|
|
120
|
+
val jsonBounds = writableArrayOf(
|
|
121
|
+
writableArrayOf(bb.east(), bb.north()),
|
|
122
|
+
writableArrayOf(bb.west(), bb.south())
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
map.putArray("bounds", jsonBounds)
|
|
126
|
+
map.putString("metadata", String(region.metadata))
|
|
127
|
+
|
|
128
|
+
return map
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
private fun getMetadataBytes(metadata: String?): ByteArray? {
|
|
132
|
+
var metadataBytes: ByteArray? = null
|
|
133
|
+
if (metadata == null || metadata.isEmpty()) {
|
|
134
|
+
return metadataBytes
|
|
135
|
+
}
|
|
136
|
+
try {
|
|
137
|
+
metadataBytes = metadata.toByteArray(charset("utf-8"))
|
|
138
|
+
} catch (e: UnsupportedEncodingException) {
|
|
139
|
+
Log.w(LOG_TAG, e.localizedMessage)
|
|
140
|
+
}
|
|
141
|
+
return metadataBytes
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
private fun getRegionByName(
|
|
145
|
+
name: String?,
|
|
146
|
+
offlineRegions: List<OfflineRegion>
|
|
147
|
+
): OfflineRegion? {
|
|
148
|
+
if (name.isNullOrEmpty()) {
|
|
149
|
+
return null
|
|
150
|
+
}
|
|
151
|
+
for (region in offlineRegions) {
|
|
152
|
+
try {
|
|
153
|
+
val byteMetadata = region.metadata
|
|
154
|
+
|
|
155
|
+
if (byteMetadata != null) {
|
|
156
|
+
val metadata = JSONObject(String(byteMetadata))
|
|
157
|
+
if (name == metadata.getString("name")) {
|
|
158
|
+
return region
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
} catch (e: JSONException) {
|
|
162
|
+
Log.w(LOG_TAG, e.localizedMessage)
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return null
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
private fun makeRegionStatus(regionName: String, status: OfflineRegionStatus): WritableMap? {
|
|
169
|
+
val map = Arguments.createMap()
|
|
170
|
+
val progressPercentage = if (status.requiredResourceCount > 0) status.completedResourceCount.toDouble() / status.requiredResourceCount.toDouble() else 0.0
|
|
171
|
+
val percentage = ceil(progressPercentage * 100.0).coerceAtMost(100.0)
|
|
172
|
+
val isCompleted = percentage == 100.0
|
|
173
|
+
val downloadState = if (isCompleted) COMPLETE_REGION_DOWNLOAD_STATE else status.downloadState.ordinal
|
|
174
|
+
|
|
175
|
+
map.putString("name", regionName)
|
|
176
|
+
map.putInt("state", downloadState)
|
|
177
|
+
map.putDouble("percentage", percentage)
|
|
178
|
+
map.putInt("completedResourceCount", status.completedResourceCount.toInt())
|
|
179
|
+
map.putInt("completedResourceSize", status.completedResourceSize.toInt())
|
|
180
|
+
map.putInt("completedTileSize", status.completedTileSize.toInt())
|
|
181
|
+
map.putInt("completedTileCount", status.completedTileCount.toInt())
|
|
182
|
+
map.putInt("requiredResourceCount", status.requiredResourceCount.toInt())
|
|
183
|
+
return map
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
@ReactMethod
|
|
187
|
+
@Throws(JSONException::class)
|
|
188
|
+
fun createPack(options: ReadableMap, promise: Promise) {
|
|
189
|
+
try {
|
|
190
|
+
val metadataBytes: ByteArray? =
|
|
191
|
+
getMetadataBytes(ConvertUtils.getString("metadata", options, ""))
|
|
192
|
+
|
|
193
|
+
val boundsStr = options.getString("bounds")!!
|
|
194
|
+
val boundsFC = FeatureCollection.fromJson(boundsStr)
|
|
195
|
+
val bounds = convertPointPairToBounds(boundsFC)
|
|
196
|
+
|
|
197
|
+
if (metadataBytes == null || bounds == null) {
|
|
198
|
+
promise.reject("createPack error:", "No metadata or bounds set")
|
|
199
|
+
return
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
val definition: OfflineRegionTilePyramidDefinition = makeDefinition(bounds, options)
|
|
203
|
+
|
|
204
|
+
UiThreadUtil.runOnUiThread {
|
|
205
|
+
offlineRegionManager.createOfflineRegion(definition, createPackCallback(promise, metadataBytes))
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
} catch (e: Throwable) {
|
|
209
|
+
promise.reject("createPack error:", e)
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
@ReactMethod
|
|
214
|
+
fun getPacks(promise: Promise) {
|
|
215
|
+
UiThreadUtil.runOnUiThread {
|
|
216
|
+
offlineRegionManager.getOfflineRegions(object: OfflineRegionCallback {
|
|
217
|
+
override fun run(expected: Expected<String, MutableList<OfflineRegion>>) {
|
|
218
|
+
if (expected.isValue) {
|
|
219
|
+
expected.value?.let {
|
|
220
|
+
val payload = Arguments.createArray()
|
|
221
|
+
|
|
222
|
+
for (region in it) {
|
|
223
|
+
payload.pushMap(fromOfflineRegion(region!!))
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
Log.d(LOG_TAG, "getPacks done:" + it.size.toString())
|
|
227
|
+
promise.resolve(payload)
|
|
228
|
+
}
|
|
229
|
+
} else {
|
|
230
|
+
promise.reject("getPacks error:", expected.error)
|
|
231
|
+
Log.d(LOG_TAG, "getPacks error:${expected.error}")
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
})
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
@ReactMethod
|
|
239
|
+
fun deletePack(name: String?, promise: Promise) {
|
|
240
|
+
UiThreadUtil.runOnUiThread {
|
|
241
|
+
offlineRegionManager.getOfflineRegions { regionsExpected ->
|
|
242
|
+
if (regionsExpected.isValue) {
|
|
243
|
+
regionsExpected.value?.let { regions ->
|
|
244
|
+
var region = getRegionByName(name, regions);
|
|
245
|
+
|
|
246
|
+
if (region == null) {
|
|
247
|
+
promise.resolve(null);
|
|
248
|
+
Log.w(LOG_TAG, "deleteRegion - Unknown offline region");
|
|
249
|
+
return@getOfflineRegions
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
region.setOfflineRegionDownloadState(OfflineRegionDownloadState.INACTIVE)
|
|
253
|
+
|
|
254
|
+
region.purge { purgeExpected ->
|
|
255
|
+
if (purgeExpected.isError) {
|
|
256
|
+
promise.reject("deleteRegion error:", purgeExpected.error);
|
|
257
|
+
} else {
|
|
258
|
+
promise.resolve(null);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
} else {
|
|
263
|
+
promise.reject("deleteRegion error:", regionsExpected.error);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
@ReactMethod
|
|
270
|
+
fun invalidatePack(name: String?, promise: Promise) {
|
|
271
|
+
UiThreadUtil.runOnUiThread {
|
|
272
|
+
offlineRegionManager.getOfflineRegions { expected ->
|
|
273
|
+
if (expected.isValue) {
|
|
274
|
+
expected.value?.let { regions ->
|
|
275
|
+
var region = getRegionByName(name, regions);
|
|
276
|
+
|
|
277
|
+
if (region == null) {
|
|
278
|
+
promise.resolve(null);
|
|
279
|
+
Log.w(LOG_TAG, "invalidateRegion - Unknown offline region");
|
|
280
|
+
return@getOfflineRegions
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
region.invalidate { expected ->
|
|
284
|
+
if (expected.isError) {
|
|
285
|
+
promise.reject("invalidateRegion error:", expected.error);
|
|
286
|
+
} else {
|
|
287
|
+
promise.resolve(null);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
} else {
|
|
292
|
+
promise.reject("invalidateRegion error:", expected.error);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
@ReactMethod
|
|
299
|
+
fun getPackStatus(name: String?, promise: Promise) {
|
|
300
|
+
UiThreadUtil.runOnUiThread {
|
|
301
|
+
offlineRegionManager.getOfflineRegions { expected ->
|
|
302
|
+
if (expected.isValue) {
|
|
303
|
+
expected.value?.let { regions ->
|
|
304
|
+
var region = getRegionByName(name, regions);
|
|
305
|
+
|
|
306
|
+
if (region == null) {
|
|
307
|
+
promise.resolve(null);
|
|
308
|
+
Log.w(LOG_TAG, "getPackStatus - Unknown offline region");
|
|
309
|
+
return@getOfflineRegions
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
region.getStatus {
|
|
313
|
+
if (it.isValue) {
|
|
314
|
+
it.value?.let { status ->
|
|
315
|
+
promise.resolve(makeRegionStatus(name!!, status));
|
|
316
|
+
}
|
|
317
|
+
} else {
|
|
318
|
+
promise.reject("getPackStatus error:", expected.error);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
} else {
|
|
323
|
+
promise.reject("getPackStatus error:", expected.error);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
@ReactMethod
|
|
330
|
+
fun pausePackDownload(name: String?, promise: Promise) {
|
|
331
|
+
UiThreadUtil.runOnUiThread {
|
|
332
|
+
offlineRegionManager.getOfflineRegions { expected ->
|
|
333
|
+
if (expected.isValue) {
|
|
334
|
+
expected.value?.let { regions ->
|
|
335
|
+
var region = getRegionByName(name, regions);
|
|
336
|
+
|
|
337
|
+
if (region == null) {
|
|
338
|
+
promise.resolve(null);
|
|
339
|
+
Log.w(LOG_TAG, "pausePackDownload - Unknown offline region");
|
|
340
|
+
return@getOfflineRegions
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
region.setOfflineRegionDownloadState(OfflineRegionDownloadState.INACTIVE)
|
|
344
|
+
promise.resolve(null)
|
|
345
|
+
}
|
|
346
|
+
} else {
|
|
347
|
+
promise.reject("pausePackDownload error:", expected.error);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
@ReactMethod
|
|
354
|
+
fun resumePackDownload(name: String?, promise: Promise) {
|
|
355
|
+
UiThreadUtil.runOnUiThread {
|
|
356
|
+
offlineRegionManager.getOfflineRegions { expected ->
|
|
357
|
+
if (expected.isValue) {
|
|
358
|
+
expected.value?.let { regions ->
|
|
359
|
+
var region = getRegionByName(name, regions);
|
|
360
|
+
|
|
361
|
+
if (region == null) {
|
|
362
|
+
promise.resolve(null);
|
|
363
|
+
Log.w(LOG_TAG, "resumeRegionDownload - Unknown offline region");
|
|
364
|
+
return@getOfflineRegions
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
region.setOfflineRegionDownloadState(OfflineRegionDownloadState.ACTIVE)
|
|
368
|
+
promise.resolve(null);
|
|
369
|
+
}
|
|
370
|
+
} else {
|
|
371
|
+
promise.reject("resumeRegionDownload error:", expected.error);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
@ReactMethod
|
|
378
|
+
fun resetDatabase(promise: Promise) {
|
|
379
|
+
UiThreadUtil.runOnUiThread {
|
|
380
|
+
var purgedCount = 0
|
|
381
|
+
offlineRegionManager.getOfflineRegions { expected ->
|
|
382
|
+
if (expected.isValue) {
|
|
383
|
+
expected.value?.let { regions ->
|
|
384
|
+
if (regions.size == 0) promise.resolve(null)
|
|
385
|
+
|
|
386
|
+
for (region in regions) {
|
|
387
|
+
region.setOfflineRegionDownloadState(OfflineRegionDownloadState.INACTIVE)
|
|
388
|
+
|
|
389
|
+
region.purge { expected ->
|
|
390
|
+
if (expected.isError) {
|
|
391
|
+
promise.reject("resetDatabase error:", expected.error);
|
|
392
|
+
} else {
|
|
393
|
+
purgedCount++
|
|
394
|
+
if (purgedCount == regions.size) {
|
|
395
|
+
Log.d(LOG_TAG, "resetDatabase done: ${regions.size} packs were purged")
|
|
396
|
+
promise.resolve(null)
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
} else {
|
|
403
|
+
promise.reject("resetDatabase error:", expected.error);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
@ReactMethod
|
|
410
|
+
fun migrateOfflineCache(promise: Promise) {
|
|
411
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
412
|
+
// Old and new cache file paths
|
|
413
|
+
val targetDirectoryPathName = mReactContext.filesDir.absolutePath + "/.mapbox/map_data"
|
|
414
|
+
val sourcePathName = mReactContext.filesDir.absolutePath + "/mbgl-offline.db"
|
|
415
|
+
val sourcePath = Paths.get(sourcePathName)
|
|
416
|
+
val targetPath = Paths.get("$targetDirectoryPathName/map_data.db")
|
|
417
|
+
|
|
418
|
+
try {
|
|
419
|
+
val source = File(sourcePath.toString())
|
|
420
|
+
|
|
421
|
+
if (!source.exists()) {
|
|
422
|
+
Log.d(LOG_TAG, "Nothing to migrate")
|
|
423
|
+
promise.resolve(false)
|
|
424
|
+
return
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
val directory = File(targetDirectoryPathName)
|
|
428
|
+
|
|
429
|
+
directory.mkdirs()
|
|
430
|
+
Files.move(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING)
|
|
431
|
+
Log.d(LOG_TAG, "v10 cache directory created successfully")
|
|
432
|
+
promise.resolve(true)
|
|
433
|
+
} catch (e: Exception) {
|
|
434
|
+
val mes = "${e}... file move unsuccessful"
|
|
435
|
+
Log.d(LOG_TAG, mes)
|
|
436
|
+
promise.reject(mes)
|
|
437
|
+
}
|
|
438
|
+
} else {
|
|
439
|
+
val mes = "\"migrateOfflineCache only supported on api level 26 or later\""
|
|
440
|
+
Log.w(LOG_TAG, "migrateOfflineCache only supported on api level 26 or later")
|
|
441
|
+
promise.reject(mes)
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.shape_animators
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.ReadableArray
|
|
4
|
+
import com.rnmapbox.rnmbx.NativeRNMBXMovePointShapeAnimatorModuleSpec
|
|
5
|
+
import com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotation
|
|
6
|
+
|
|
7
|
+
import com.facebook.react.bridge.Promise
|
|
8
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
9
|
+
import com.facebook.react.bridge.ReactMethod
|
|
10
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
11
|
+
import com.google.gson.JsonObject
|
|
12
|
+
import com.mapbox.geojson.GeoJson
|
|
13
|
+
import com.mapbox.geojson.Point
|
|
14
|
+
import com.rnmapbox.rnmbx.NativeRNMBXPointAnnotationModuleSpec
|
|
15
|
+
import com.rnmapbox.rnmbx.utils.Logger
|
|
16
|
+
import com.rnmapbox.rnmbx.utils.ViewTagResolver
|
|
17
|
+
import org.json.JSONObject
|
|
18
|
+
import java.util.Date
|
|
19
|
+
import java.util.Timer
|
|
20
|
+
import java.util.TimerTask
|
|
21
|
+
import kotlin.time.Duration
|
|
22
|
+
import kotlin.time.Duration.Companion.milliseconds
|
|
23
|
+
import kotlin.time.DurationUnit
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/// Simple dummy animator that moves the point lng, lat by 0.01, 0.01 each second.
|
|
27
|
+
class MovePointShapeAnimator(tag: Tag, val lng: Double, val lat: Double) : ShapeAnimatorCommon(tag) {
|
|
28
|
+
override fun getAnimatedShape(timeSinceStart: Duration): Pair<GeoJson, Boolean> {
|
|
29
|
+
return Pair(Point.fromLngLat(lng + timeSinceStart.toDouble(DurationUnit.SECONDS) * 0.01, lat + timeSinceStart.toDouble(DurationUnit.SECONDS) * 0.01), true);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@ReactModule(name = RNMBXMovePointShapeAnimatorModule.NAME)
|
|
35
|
+
class RNMBXMovePointShapeAnimatorModule(reactContext: ReactApplicationContext?, val shapeAnimatorManager: ShapeAnimatorManager) :
|
|
36
|
+
NativeRNMBXMovePointShapeAnimatorModuleSpec(reactContext) {
|
|
37
|
+
|
|
38
|
+
companion object {
|
|
39
|
+
const val LOG_TAG = "RNMBXMovePointShapeAnimatorModule"
|
|
40
|
+
const val NAME = "RNMBXMovePointShapeAnimatorModule"
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@ReactMethod
|
|
44
|
+
override fun start(tag: Double, promise: Promise?) {
|
|
45
|
+
shapeAnimatorManager?.get(tag.toLong())?.let {
|
|
46
|
+
it.start()
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@ReactMethod
|
|
51
|
+
override fun create(tag: Double, from: ReadableArray, promise: Promise) {
|
|
52
|
+
shapeAnimatorManager.add(MovePointShapeAnimator(tag.toLong(), from.getDouble(0), from.getDouble(1)))
|
|
53
|
+
promise.resolve(tag.toInt())
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.shape_animators
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
|
|
4
|
+
import com.mapbox.geojson.GeoJson
|
|
5
|
+
import com.rnmapbox.rnmbx.utils.Logger
|
|
6
|
+
import org.json.JSONObject
|
|
7
|
+
import java.util.Date
|
|
8
|
+
import java.util.Timer
|
|
9
|
+
import java.util.TimerTask
|
|
10
|
+
import kotlin.time.Duration
|
|
11
|
+
import kotlin.time.Duration.Companion.milliseconds
|
|
12
|
+
|
|
13
|
+
typealias Tag = Long
|
|
14
|
+
|
|
15
|
+
interface ShapeAnimationConsumer {
|
|
16
|
+
fun shapeUpdated(geoJson: GeoJson)
|
|
17
|
+
}
|
|
18
|
+
abstract class ShapeAnimator(val tag: Tag) {
|
|
19
|
+
|
|
20
|
+
abstract fun getShape(): GeoJson;
|
|
21
|
+
abstract fun start()
|
|
22
|
+
|
|
23
|
+
abstract fun subscribe(consumer: ShapeAnimationConsumer)
|
|
24
|
+
abstract fun unsubscribe(consumer: ShapeAnimationConsumer)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
abstract class ShapeAnimatorCommon(tag: Tag): ShapeAnimator(tag) {
|
|
28
|
+
var timer: Timer? = null
|
|
29
|
+
var progress: Duration? = null
|
|
30
|
+
|
|
31
|
+
// region subscribers
|
|
32
|
+
var subscribers = mutableListOf<ShapeAnimationConsumer>()
|
|
33
|
+
|
|
34
|
+
override fun subscribe(consumer: ShapeAnimationConsumer) {
|
|
35
|
+
subscribers.add(consumer)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
override fun unsubscribe(consumer: ShapeAnimationConsumer) {
|
|
39
|
+
subscribers.remove(consumer)
|
|
40
|
+
}
|
|
41
|
+
// endregion
|
|
42
|
+
|
|
43
|
+
override fun start() {
|
|
44
|
+
timer?.let { it.cancel() }
|
|
45
|
+
timer = null
|
|
46
|
+
|
|
47
|
+
val fps = 30.0
|
|
48
|
+
val period = (1000.0 / fps).toLong()
|
|
49
|
+
val start = Date()
|
|
50
|
+
val timer = Timer()
|
|
51
|
+
this.timer = timer
|
|
52
|
+
val animator = this
|
|
53
|
+
|
|
54
|
+
timer.schedule(object : TimerTask() {
|
|
55
|
+
override fun run() {
|
|
56
|
+
|
|
57
|
+
val now = Date()
|
|
58
|
+
val diff = now.time - start.time
|
|
59
|
+
val progress = diff.milliseconds
|
|
60
|
+
animator.progress = progress
|
|
61
|
+
|
|
62
|
+
val (shape,doContinue) = getAnimatedShape(progress)
|
|
63
|
+
if (!doContinue) {
|
|
64
|
+
timer.cancel()
|
|
65
|
+
}
|
|
66
|
+
runOnUiThread {
|
|
67
|
+
subscribers.forEach { it.shapeUpdated(shape) }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},0, period)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
override fun getShape(): GeoJson {
|
|
74
|
+
return getAnimatedShape(progress ?: 0.0.milliseconds).first
|
|
75
|
+
}
|
|
76
|
+
abstract fun getAnimatedShape(timeSinceStart: Duration): Pair<GeoJson,Boolean>
|
|
77
|
+
|
|
78
|
+
}
|
|
79
|
+
class ShapeAnimatorManager {
|
|
80
|
+
private val animators = hashMapOf<Tag, ShapeAnimator>();
|
|
81
|
+
fun add(animator: ShapeAnimator) {
|
|
82
|
+
animators.put(animator.tag, animator)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
fun isShapeAnimatorTag(shape: String): Boolean {
|
|
86
|
+
return shape.startsWith("{\"__nativeTag\":")
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
fun get(tag: String): ShapeAnimator? {
|
|
90
|
+
if (isShapeAnimatorTag(tag)) {
|
|
91
|
+
val obj = JSONObject(tag)
|
|
92
|
+
val tag = obj.getLong("__nativeTag")
|
|
93
|
+
return get(tag);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return null
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
fun get(tag: Tag): ShapeAnimator? {
|
|
100
|
+
val result = animators[tag]
|
|
101
|
+
if (result == null) {
|
|
102
|
+
Logger.e(LOG_TAG, "Shape animator for tag: $tag was not found")
|
|
103
|
+
}
|
|
104
|
+
return result
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
companion object {
|
|
108
|
+
const val LOG_TAG = "RNMBXShapeAnimators"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -87,6 +87,9 @@ object BitmapUtils {
|
|
|
87
87
|
if (tempFile == null) {
|
|
88
88
|
return null
|
|
89
89
|
}
|
|
90
|
+
if (outputStream == null) {
|
|
91
|
+
return null
|
|
92
|
+
}
|
|
90
93
|
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream)
|
|
91
94
|
closeSnapshotOutputStream(outputStream)
|
|
92
95
|
return Uri.fromFile(tempFile).toString()
|
|
@@ -20,6 +20,7 @@ import com.facebook.imagepipeline.image.CloseableStaticBitmap
|
|
|
20
20
|
import com.facebook.imagepipeline.request.ImageRequestBuilder
|
|
21
21
|
import com.facebook.react.views.imagehelper.ImageSource
|
|
22
22
|
import com.rnmapbox.rnmbx.components.images.ImageInfo
|
|
23
|
+
import com.rnmapbox.rnmbx.components.images.ImageManager
|
|
23
24
|
import java.io.File
|
|
24
25
|
import java.lang.ref.WeakReference
|
|
25
26
|
import java.util.HashMap
|
|
@@ -27,12 +28,13 @@ import com.rnmapbox.rnmbx.v11compat.image.*
|
|
|
27
28
|
|
|
28
29
|
data class DownloadedImage(val name: String, val bitmap: Bitmap, val info: ImageInfo)
|
|
29
30
|
|
|
30
|
-
class DownloadMapImageTask(context: Context, map: MapboxMap, callback: OnAllImagesLoaded?) :
|
|
31
|
+
class DownloadMapImageTask(context: Context, map: MapboxMap, imageManager: ImageManager?, callback: OnAllImagesLoaded? = null) :
|
|
31
32
|
AsyncTask<Map.Entry<String, ImageEntry>, Void?, List<DownloadedImage>>() {
|
|
32
33
|
private val mContext: WeakReference<Context>
|
|
33
34
|
private val mMap: WeakReference<MapboxMap>
|
|
34
35
|
private val mCallback: OnAllImagesLoaded?
|
|
35
36
|
private val mCallerContext: Any
|
|
37
|
+
private val mImageManager: WeakReference<ImageManager>
|
|
36
38
|
|
|
37
39
|
interface OnAllImagesLoaded {
|
|
38
40
|
fun onAllImagesLoaded()
|
|
@@ -97,7 +99,7 @@ class DownloadMapImageTask(context: Context, map: MapboxMap, callback: OnAllImag
|
|
|
97
99
|
for (image in images) {
|
|
98
100
|
bitmapImages[image.name] = image.bitmap
|
|
99
101
|
val info = image.info
|
|
100
|
-
|
|
102
|
+
mImageManager.get()?.resolve(image.name, image.bitmap)
|
|
101
103
|
style.addBitmapImage(image.name, image.bitmap, info)
|
|
102
104
|
}
|
|
103
105
|
}
|
|
@@ -112,6 +114,7 @@ class DownloadMapImageTask(context: Context, map: MapboxMap, callback: OnAllImag
|
|
|
112
114
|
init {
|
|
113
115
|
mContext = WeakReference(context.applicationContext)
|
|
114
116
|
mMap = WeakReference(map)
|
|
117
|
+
mImageManager = WeakReference(imageManager)
|
|
115
118
|
mCallback = callback
|
|
116
119
|
mCallerContext = this
|
|
117
120
|
}
|
|
@@ -100,6 +100,11 @@ object GeoJSONUtils {
|
|
|
100
100
|
val map: WritableMap = WritableNativeMap()
|
|
101
101
|
map.putString("type", "Feature")
|
|
102
102
|
map.putMap("geometry", toPointGeometry(latLng))
|
|
103
|
+
properties?.let {
|
|
104
|
+
if (it.hasKey("id") == true) {
|
|
105
|
+
map.putString("id", it.getString("id"));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
103
108
|
map.putMap("properties", properties)
|
|
104
109
|
return map
|
|
105
110
|
}
|