@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,66 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.camera
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Callback
|
|
4
|
+
import com.facebook.react.bridge.Promise
|
|
5
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
+
import com.facebook.react.bridge.ReadableMap
|
|
7
|
+
import com.facebook.react.bridge.WritableMap
|
|
8
|
+
import com.facebook.react.bridge.WritableNativeMap
|
|
9
|
+
import com.rnmapbox.rnmbx.NativeRNMBXViewportModuleSpec
|
|
10
|
+
import com.rnmapbox.rnmbx.components.mapview.CommandResponse
|
|
11
|
+
import com.rnmapbox.rnmbx.utils.ViewTagResolver
|
|
12
|
+
|
|
13
|
+
class RNMBXViewportModule(context: ReactApplicationContext, val viewTagResolver: ViewTagResolver) : NativeRNMBXViewportModuleSpec(context) {
|
|
14
|
+
private fun withViewportOnUIThread(
|
|
15
|
+
viewRef: Double?,
|
|
16
|
+
reject: Promise,
|
|
17
|
+
fn: (RNMBXViewport) -> Unit
|
|
18
|
+
) {
|
|
19
|
+
if (viewRef == null) {
|
|
20
|
+
reject.reject(Exception("viewRef is null"))
|
|
21
|
+
} else {
|
|
22
|
+
viewTagResolver.withViewResolved(viewRef.toInt(), reject, fn)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
private fun createCommandResponse(promise: Promise): CommandResponse = object : CommandResponse {
|
|
27
|
+
override fun success(builder: (WritableMap) -> Unit) {
|
|
28
|
+
val payload: WritableMap = WritableNativeMap()
|
|
29
|
+
builder(payload)
|
|
30
|
+
|
|
31
|
+
promise.resolve(payload)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override fun error(message: String) {
|
|
35
|
+
promise.reject(Exception(message))
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
override fun getState(viewRef: Double?, promise: Promise) {
|
|
40
|
+
withViewportOnUIThread(viewRef, promise) {
|
|
41
|
+
promise.resolve(it.getState())
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
override fun transitionTo(
|
|
46
|
+
viewRef: Double?,
|
|
47
|
+
state: ReadableMap,
|
|
48
|
+
transition: ReadableMap?,
|
|
49
|
+
promise: Promise
|
|
50
|
+
) {
|
|
51
|
+
withViewportOnUIThread(viewRef, promise) {
|
|
52
|
+
it.transitionTo(state, transition, promise)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
override fun idle(viewRef: Double?, promise: Promise) {
|
|
57
|
+
withViewportOnUIThread(viewRef, promise) {
|
|
58
|
+
it.idle()
|
|
59
|
+
promise.resolve(true)
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
companion object {
|
|
64
|
+
const val NAME = "RNMBXViewportModule"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.images
|
|
2
|
+
|
|
3
|
+
import android.graphics.Bitmap
|
|
4
|
+
import android.graphics.drawable.BitmapDrawable
|
|
5
|
+
import com.rnmapbox.rnmbx.v11compat.Cancelable
|
|
6
|
+
import com.mapbox.maps.Image
|
|
7
|
+
import com.rnmapbox.rnmbx.v11compat.image.toMapboxImage
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
ImageManager helps to resolve images defined by any of RNMBXImages component.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
fun interface Resolver {
|
|
14
|
+
fun resolved(name: String, image: Image)
|
|
15
|
+
}
|
|
16
|
+
class Subscription(val name:String, val resolver: Resolver, val manager: ImageManager): Cancelable {
|
|
17
|
+
|
|
18
|
+
fun resolved(name: String, image: Image) {
|
|
19
|
+
resolver.resolved(name, image)
|
|
20
|
+
}
|
|
21
|
+
override fun cancel() {
|
|
22
|
+
manager.unsubscribe(this)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
class ImageManager {
|
|
27
|
+
var subscriptions: MutableMap<String, MutableList<Subscription>> = hashMapOf()
|
|
28
|
+
|
|
29
|
+
fun subscribe(name: String, resolved: Resolver) : Subscription {
|
|
30
|
+
val list = subscriptions.getOrPut(name) { mutableListOf() }
|
|
31
|
+
val result = Subscription(name, resolved, this)
|
|
32
|
+
list.add(result)
|
|
33
|
+
return result
|
|
34
|
+
}
|
|
35
|
+
fun unsubscribe(subscription: Subscription) {
|
|
36
|
+
var list = subscriptions[subscription.name]
|
|
37
|
+
list?.removeAll { it === subscription }
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
fun resolve(name: String, image: Image) {
|
|
41
|
+
subscriptions[name]?.forEach {
|
|
42
|
+
it.resolved(name, image)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
fun resolve(name: String, image: Bitmap) {
|
|
47
|
+
resolve(name, image.toMapboxImage())
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
fun resolve(name: String, image: BitmapDrawable) {
|
|
51
|
+
resolve(name, image.bitmap)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -212,6 +212,7 @@ class RNMBXImages(context: Context, private val mManager: RNMBXImagesManager) :
|
|
|
212
212
|
val name = nativeImage.info.name
|
|
213
213
|
if (!hasImage(name, map)) {
|
|
214
214
|
val bitmap = nativeImage.drawable
|
|
215
|
+
mMapView!!.imageManager.resolve(name, nativeImage.drawable)
|
|
215
216
|
style.addBitmapImage(nativeImage)
|
|
216
217
|
mCurrentImages.add(name)
|
|
217
218
|
}
|
|
@@ -264,7 +265,7 @@ class RNMBXImages(context: Context, private val mManager: RNMBXImagesManager) :
|
|
|
264
265
|
}
|
|
265
266
|
}
|
|
266
267
|
if (missingImages.size > 0) {
|
|
267
|
-
val task = DownloadMapImageTask(context, map,
|
|
268
|
+
val task = DownloadMapImageTask(context, map, mMapView!!.imageManager)
|
|
268
269
|
val params = missingImages.toTypedArray()
|
|
269
270
|
task.execute(*params)
|
|
270
271
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
package com.rnmapbox.rnmbx.components.images
|
|
2
2
|
|
|
3
|
+
import android.graphics.Bitmap
|
|
4
|
+
import android.graphics.Canvas
|
|
3
5
|
import android.graphics.drawable.BitmapDrawable
|
|
6
|
+
import android.graphics.drawable.Drawable
|
|
4
7
|
import android.view.View
|
|
5
8
|
import com.facebook.react.bridge.*
|
|
6
9
|
import com.facebook.react.common.MapBuilder
|
|
@@ -11,6 +14,7 @@ import com.mapbox.maps.ImageContent
|
|
|
11
14
|
import com.mapbox.maps.ImageStretches
|
|
12
15
|
import com.rnmapbox.rnmbx.components.AbstractEventEmitter
|
|
13
16
|
import com.rnmapbox.rnmbx.events.constants.EventKeys
|
|
17
|
+
import com.rnmapbox.rnmbx.events.constants.eventMapOf
|
|
14
18
|
import com.rnmapbox.rnmbx.utils.ImageEntry
|
|
15
19
|
import com.rnmapbox.rnmbx.utils.Logger
|
|
16
20
|
import com.rnmapbox.rnmbx.utils.ResourceUtils
|
|
@@ -133,12 +137,33 @@ class RNMBXImagesManager(private val mContext: ReactApplicationContext) :
|
|
|
133
137
|
images.setHasOnImageMissing(value.asBoolean())
|
|
134
138
|
}
|
|
135
139
|
|
|
140
|
+
private fun convertDrawableToBitmap(sourceDrawable: Drawable?): BitmapDrawable? {
|
|
141
|
+
if (sourceDrawable == null) {
|
|
142
|
+
return null
|
|
143
|
+
}
|
|
144
|
+
return if (sourceDrawable is BitmapDrawable) {
|
|
145
|
+
sourceDrawable
|
|
146
|
+
} else {
|
|
147
|
+
// copying drawable object to not manipulate on the same reference
|
|
148
|
+
val constantState = sourceDrawable.constantState ?: return null
|
|
149
|
+
val drawable = constantState.newDrawable().mutate()
|
|
150
|
+
val bitmap: Bitmap = Bitmap.createBitmap(
|
|
151
|
+
drawable.intrinsicWidth, drawable.intrinsicHeight,
|
|
152
|
+
Bitmap.Config.ARGB_8888
|
|
153
|
+
)
|
|
154
|
+
val canvas = Canvas(bitmap)
|
|
155
|
+
drawable.setBounds(0, 0, canvas.width, canvas.height)
|
|
156
|
+
drawable.draw(canvas)
|
|
157
|
+
BitmapDrawable(mContext.resources, bitmap)
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
136
161
|
fun toNativeImage(dynamic: Dynamic): NativeImage? {
|
|
137
162
|
when (dynamic.type) {
|
|
138
163
|
ReadableType.String -> {
|
|
139
164
|
val resourceName = dynamic.asString();
|
|
140
165
|
val drawable =
|
|
141
|
-
ResourceUtils.getDrawableByName(mContext, resourceName)
|
|
166
|
+
convertDrawableToBitmap(ResourceUtils.getDrawableByName(mContext, resourceName))
|
|
142
167
|
if (drawable != null) {
|
|
143
168
|
return NativeImage(ImageInfo(name=resourceName), drawable)
|
|
144
169
|
} else {
|
|
@@ -150,7 +175,7 @@ class RNMBXImagesManager(private val mContext: ReactApplicationContext) :
|
|
|
150
175
|
val map = dynamic.asMap()
|
|
151
176
|
val resourceName = map.getString("name")
|
|
152
177
|
val drawable =
|
|
153
|
-
ResourceUtils.getDrawableByName(mContext, resourceName)
|
|
178
|
+
convertDrawableToBitmap(ResourceUtils.getDrawableByName(mContext, resourceName))
|
|
154
179
|
if (drawable != null && resourceName != null) {
|
|
155
180
|
return NativeImage(imageInfo(resourceName, map), drawable)
|
|
156
181
|
} else {
|
|
@@ -178,9 +203,9 @@ class RNMBXImagesManager(private val mContext: ReactApplicationContext) :
|
|
|
178
203
|
}
|
|
179
204
|
|
|
180
205
|
override fun customEvents(): Map<String, String>? {
|
|
181
|
-
return
|
|
182
|
-
|
|
183
|
-
|
|
206
|
+
return eventMapOf(
|
|
207
|
+
EventKeys.IMAGES_MISSING to "onImageMissing"
|
|
208
|
+
)
|
|
184
209
|
}
|
|
185
210
|
|
|
186
211
|
// region RNMBXImage children
|
|
@@ -266,4 +291,4 @@ class RNMBXImagesManager(private val mContext: ReactApplicationContext) :
|
|
|
266
291
|
return ImageContent(result[0].toFloat(), result[1].toFloat() ,result[2].toFloat(), result[3].toFloat())
|
|
267
292
|
}
|
|
268
293
|
}
|
|
269
|
-
}
|
|
294
|
+
}
|
package/android/src/main/java/com/rnmapbox/rnmbx/components/location/LocationComponentManager.kt
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
package com.rnmapbox.rnmbx.components.location
|
|
2
2
|
|
|
3
3
|
import android.content.Context
|
|
4
|
+
import android.graphics.BitmapFactory
|
|
4
5
|
import android.graphics.Color
|
|
5
|
-
import android.graphics.drawable.
|
|
6
|
-
import android.graphics.drawable.VectorDrawable
|
|
7
|
-
import androidx.appcompat.content.res.AppCompatResources
|
|
6
|
+
import android.graphics.drawable.BitmapDrawable
|
|
8
7
|
import androidx.lifecycle.Lifecycle
|
|
9
|
-
import com.mapbox.maps.
|
|
10
|
-
import com.rnmapbox.rnmbx.components.mapview.RNMBXMapView
|
|
8
|
+
import com.mapbox.maps.extension.style.expressions.dsl.generated.interpolate
|
|
11
9
|
import com.mapbox.maps.plugin.LocationPuck2D
|
|
12
|
-
import com.mapbox.maps.plugin.
|
|
10
|
+
import com.mapbox.maps.plugin.locationcomponent.location
|
|
13
11
|
import com.rnmapbox.rnmbx.R
|
|
12
|
+
import com.rnmapbox.rnmbx.components.mapview.RNMBXMapView
|
|
14
13
|
import com.rnmapbox.rnmbx.location.LocationManager
|
|
15
|
-
|
|
16
|
-
import com.rnmapbox.rnmbx.v11compat.
|
|
17
|
-
import com.rnmapbox.rnmbx.v11compat.image
|
|
14
|
+
import com.rnmapbox.rnmbx.v11compat.image.AppCompatResourcesV11
|
|
15
|
+
import com.rnmapbox.rnmbx.v11compat.image.ImageHolder
|
|
16
|
+
import com.rnmapbox.rnmbx.v11compat.image.toBitmapImageHolder
|
|
17
|
+
import com.rnmapbox.rnmbx.v11compat.image.toByteArray
|
|
18
|
+
import com.rnmapbox.rnmbx.v11compat.image.toImageData
|
|
19
|
+
import com.rnmapbox.rnmbx.v11compat.location.PuckBearing
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
22
|
* The LocationComponent on android implements display of user's current location.
|
|
@@ -23,9 +25,20 @@ import com.rnmapbox.rnmbx.v11compat.image.*;
|
|
|
23
25
|
* And NativeUserLocation can ask for display of user's current location - independent of Camera's user tracking.
|
|
24
26
|
*/
|
|
25
27
|
class LocationComponentManager(mapView: RNMBXMapView, context: Context) {
|
|
28
|
+
private val MAPBOX_BLUE_COLOR = Color.parseColor("#4A90E2")
|
|
29
|
+
|
|
26
30
|
var mMapView = mapView
|
|
27
31
|
var mContext = context
|
|
28
|
-
private var mState = State(
|
|
32
|
+
private var mState = State(
|
|
33
|
+
showUserLocation = false,
|
|
34
|
+
followUserLocation = false,
|
|
35
|
+
tintColor = null,
|
|
36
|
+
bearingImage = null,
|
|
37
|
+
puckBearingSource = null,
|
|
38
|
+
topImage = null,
|
|
39
|
+
shadowImage = null,
|
|
40
|
+
scale = 1.0,
|
|
41
|
+
)
|
|
29
42
|
|
|
30
43
|
private var mLocationManager: LocationManager = LocationManager.getInstance(context)
|
|
31
44
|
|
|
@@ -37,8 +50,13 @@ class LocationComponentManager(mapView: RNMBXMapView, context: Context) {
|
|
|
37
50
|
val showUserLocation: Boolean,
|
|
38
51
|
val followUserLocation: Boolean,
|
|
39
52
|
val tintColor: Int?, // tint of location puck
|
|
40
|
-
var bearingImage: ImageHolder?, //
|
|
41
|
-
var
|
|
53
|
+
var bearingImage: ImageHolder?, // The image used as the middle of the location indicator.
|
|
54
|
+
var topImage: ImageHolder?, // The image to use as the top layer for the location indicator.
|
|
55
|
+
var shadowImage: ImageHolder?, // The image that acts as a background of the location indicator.
|
|
56
|
+
var puckBearingSource: PuckBearing?, // bearing source
|
|
57
|
+
var pulsing: Boolean = true,
|
|
58
|
+
var scale: Double = 1.0,
|
|
59
|
+
var nativeUserLocation: Boolean = false, // LocaitonPuck managed by RNMBXNativeUserLocation
|
|
42
60
|
) {
|
|
43
61
|
val enabled: Boolean
|
|
44
62
|
get() = showUserLocation || followUserLocation
|
|
@@ -78,41 +96,54 @@ class LocationComponentManager(mapView: RNMBXMapView, context: Context) {
|
|
|
78
96
|
mapView.location.updateSettings {
|
|
79
97
|
enabled = newState.enabled
|
|
80
98
|
|
|
81
|
-
if (fullUpdate ||
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
drawable!!.setTint(tintColor)
|
|
99
|
-
topImage = drawable.toBitmapImageHolder()
|
|
100
|
-
}
|
|
101
|
-
defaultLocationPuck.topImage = topImage
|
|
102
|
-
val defaultBearingImage = AppCompatResourcesV11.getDrawableImageHolder(
|
|
103
|
-
mContext, R.drawable.mapbox_user_stroke_icon
|
|
104
|
-
)
|
|
105
|
-
defaultLocationPuck.bearingImage = newState.bearingImage ?: defaultBearingImage
|
|
106
|
-
val shadowImage = AppCompatResourcesV11.getDrawableImageHolder(
|
|
107
|
-
mContext, R.drawable.mapbox_user_icon_shadow
|
|
108
|
-
)
|
|
109
|
-
defaultLocationPuck.shadowImage = shadowImage
|
|
110
|
-
locationPuck = defaultLocationPuck
|
|
111
|
-
pulsingEnabled = true
|
|
112
|
-
if (tintColor != null) {
|
|
113
|
-
pulsingColor = tintColor
|
|
99
|
+
if (fullUpdate ||
|
|
100
|
+
newState.hidden != oldState.hidden ||
|
|
101
|
+
newState.tintColor != oldState.tintColor ||
|
|
102
|
+
newState.scale != oldState.scale ||
|
|
103
|
+
newState.nativeUserLocation != oldState.nativeUserLocation
|
|
104
|
+
) {
|
|
105
|
+
if (!newState.nativeUserLocation) {
|
|
106
|
+
if (newState.hidden) {
|
|
107
|
+
var emptyLocationPuck = LocationPuck2D()
|
|
108
|
+
val empty =
|
|
109
|
+
AppCompatResourcesV11.getDrawableImageHolder(mContext, R.drawable.empty)
|
|
110
|
+
emptyLocationPuck.bearingImage = empty
|
|
111
|
+
emptyLocationPuck.shadowImage = empty
|
|
112
|
+
emptyLocationPuck.topImage = empty
|
|
113
|
+
//emptyLocationPuck.opacity = 0.0
|
|
114
|
+
locationPuck = emptyLocationPuck
|
|
115
|
+
pulsingEnabled = false
|
|
114
116
|
} else {
|
|
115
|
-
|
|
117
|
+
val tintColor = newState.tintColor
|
|
118
|
+
var topImage = newState.topImage
|
|
119
|
+
if (tintColor != null && topImage != null) {
|
|
120
|
+
val imageData = (topImage as ByteArray).toImageData().toByteArray()
|
|
121
|
+
val drawable = BitmapDrawable(
|
|
122
|
+
mContext.resources,
|
|
123
|
+
BitmapFactory.decodeByteArray(imageData, 0, imageData.size)
|
|
124
|
+
)
|
|
125
|
+
drawable.setTint(tintColor)
|
|
126
|
+
topImage = drawable.toBitmapImageHolder()
|
|
127
|
+
}
|
|
128
|
+
val scaleExpression = if (newState.scale != 1.0) {
|
|
129
|
+
interpolate {
|
|
130
|
+
linear()
|
|
131
|
+
zoom()
|
|
132
|
+
stop {
|
|
133
|
+
literal(0)
|
|
134
|
+
literal(newState.scale)
|
|
135
|
+
}
|
|
136
|
+
}.toJson()
|
|
137
|
+
} else null
|
|
138
|
+
|
|
139
|
+
locationPuck = LocationPuck2D(
|
|
140
|
+
topImage = topImage,
|
|
141
|
+
bearingImage = newState.bearingImage,
|
|
142
|
+
shadowImage = newState.shadowImage,
|
|
143
|
+
scaleExpression = scaleExpression,
|
|
144
|
+
)
|
|
145
|
+
pulsingEnabled = newState.pulsing
|
|
146
|
+
pulsingColor = tintColor ?: MAPBOX_BLUE_COLOR
|
|
116
147
|
}
|
|
117
148
|
}
|
|
118
149
|
}
|
|
@@ -152,7 +183,7 @@ class LocationComponentManager(mapView: RNMBXMapView, context: Context) {
|
|
|
152
183
|
|
|
153
184
|
fun showNativeUserLocation(showUserLocation: Boolean) {
|
|
154
185
|
update {
|
|
155
|
-
it.copy(showUserLocation = showUserLocation)
|
|
186
|
+
it.copy(showUserLocation = showUserLocation, nativeUserLocation= showUserLocation)
|
|
156
187
|
}
|
|
157
188
|
}
|
|
158
189
|
|
package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXCustomLocationProvider.kt
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.location
|
|
2
|
+
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import com.mapbox.geojson.Point
|
|
5
|
+
import com.mapbox.maps.MapView
|
|
6
|
+
import com.mapbox.maps.plugin.locationcomponent.DefaultLocationProvider
|
|
7
|
+
import com.mapbox.maps.plugin.locationcomponent.LocationConsumer
|
|
8
|
+
import com.mapbox.maps.plugin.locationcomponent.LocationProvider
|
|
9
|
+
import com.mapbox.maps.plugin.locationcomponent.location
|
|
10
|
+
import com.rnmapbox.rnmbx.components.AbstractMapFeature
|
|
11
|
+
import com.rnmapbox.rnmbx.components.RemovalReason
|
|
12
|
+
import com.rnmapbox.rnmbx.components.mapview.RNMBXMapView
|
|
13
|
+
import com.rnmapbox.rnmbx.utils.PropertyChanges
|
|
14
|
+
import com.rnmapbox.rnmbx.utils.PropertyUpdaterWithName
|
|
15
|
+
|
|
16
|
+
class RNMBXCustomLocationProvider(context: Context) : AbstractMapFeature(context) {
|
|
17
|
+
val changes = PropertyChanges<RNMBXCustomLocationProvider>()
|
|
18
|
+
|
|
19
|
+
enum class Property(val _apply: (RNMBXCustomLocationProvider) -> Unit) :
|
|
20
|
+
PropertyUpdaterWithName<RNMBXCustomLocationProvider> {
|
|
21
|
+
COORDINATE(RNMBXCustomLocationProvider::applyCoordinate),
|
|
22
|
+
HEADING(RNMBXCustomLocationProvider::applyHeading);
|
|
23
|
+
|
|
24
|
+
override fun apply(locationProvider: RNMBXCustomLocationProvider) {
|
|
25
|
+
_apply(locationProvider)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var coordinate: Pair<Double, Double>? = null
|
|
30
|
+
set(value) {
|
|
31
|
+
field = value;
|
|
32
|
+
changes.add(Property.COORDINATE)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
var heading: Double? = null
|
|
36
|
+
set(value) {
|
|
37
|
+
field = value
|
|
38
|
+
changes.add(Property.HEADING)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
override fun addToMap(mapView: RNMBXMapView) {
|
|
42
|
+
super.addToMap(mapView)
|
|
43
|
+
installCustomLocationProviderIfNeeded(mapView.mapView)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
override fun removeFromMap(mapView: RNMBXMapView, reason: RemovalReason): Boolean {
|
|
47
|
+
removeCustomLocationProvider(mapView.mapView)
|
|
48
|
+
return super.removeFromMap(mapView, reason)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
fun applyCoordinate() {
|
|
52
|
+
coordinate?.let {
|
|
53
|
+
updateCorodinate(it.second, it.first)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
fun applyHeading() {
|
|
58
|
+
heading?.let {
|
|
59
|
+
updateHeading(it)
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
fun applyAllChanges() {
|
|
64
|
+
changes.apply(this)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
fun updateCorodinate(latitude: Double, longitude: Double) {
|
|
68
|
+
val point = Point.fromLngLat(longitude, latitude)
|
|
69
|
+
locationConsumers.forEach {
|
|
70
|
+
it.onLocationUpdated(point)
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
fun updateHeading(heading: Double) {
|
|
75
|
+
locationConsumers.forEach {
|
|
76
|
+
it.onBearingUpdated(heading)
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// region Location Provider
|
|
81
|
+
private var locationConsumers = mutableListOf<LocationConsumer>()
|
|
82
|
+
private var customLocationProvider: LocationProvider? = null
|
|
83
|
+
private var defaultLocationProvider: LocationProvider? = null
|
|
84
|
+
|
|
85
|
+
fun installCustomLocationProviderIfNeeded(mapView: MapView) {
|
|
86
|
+
var customLocationProvider: LocationProvider? = null
|
|
87
|
+
if (customLocationProvider == null) {
|
|
88
|
+
customLocationProvider = object : LocationProvider {
|
|
89
|
+
override fun registerLocationConsumer(locationConsumer: LocationConsumer) {
|
|
90
|
+
locationConsumers.add(locationConsumer)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
override fun unRegisterLocationConsumer(locationConsumer: LocationConsumer) {
|
|
94
|
+
locationConsumers.remove(locationConsumer)
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (customLocationProvider != null) {
|
|
99
|
+
defaultLocationProvider = mapView.location.getLocationProvider()
|
|
100
|
+
mapView.location.setLocationProvider(customLocationProvider)
|
|
101
|
+
this.customLocationProvider = customLocationProvider
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
fun removeCustomLocationProvider(mapView: MapView) {
|
|
106
|
+
mapView.location.setLocationProvider(
|
|
107
|
+
defaultLocationProvider ?: DefaultLocationProvider(
|
|
108
|
+
context
|
|
109
|
+
)
|
|
110
|
+
)
|
|
111
|
+
customLocationProvider = null
|
|
112
|
+
}
|
|
113
|
+
// endregion
|
|
114
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.location
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Dynamic
|
|
4
|
+
import com.facebook.react.bridge.ReadableType
|
|
5
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
6
|
+
import com.facebook.react.uimanager.ViewGroupManager
|
|
7
|
+
import com.facebook.react.uimanager.annotations.ReactProp
|
|
8
|
+
import com.facebook.react.viewmanagers.RNMBXCustomLocationProviderManagerInterface
|
|
9
|
+
import com.rnmapbox.rnmbx.utils.Logger
|
|
10
|
+
|
|
11
|
+
class RNMBXCustomLocationProviderManager : ViewGroupManager<RNMBXCustomLocationProvider>(),
|
|
12
|
+
RNMBXCustomLocationProviderManagerInterface<RNMBXCustomLocationProvider> {
|
|
13
|
+
override fun getName(): String {
|
|
14
|
+
return REACT_CLASS
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
override fun createViewInstance(reactContext: ThemedReactContext): RNMBXCustomLocationProvider {
|
|
18
|
+
return RNMBXCustomLocationProvider(reactContext);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@ReactProp(name = "coordinate")
|
|
22
|
+
override fun setCoordinate(view: RNMBXCustomLocationProvider, value: Dynamic?) {
|
|
23
|
+
if (value?.type == ReadableType.Array) {
|
|
24
|
+
val array = value.asArray()
|
|
25
|
+
if (array.size() == 2 && array.getType(0) == ReadableType.Number && array.getType(1) == ReadableType.Number) {
|
|
26
|
+
view.coordinate = Pair(array.getDouble(0), array.getDouble(1))
|
|
27
|
+
} else {
|
|
28
|
+
Logger.e(LOG_TAG, "coordinate is expected to be an array of numbers with 2 elements")
|
|
29
|
+
}
|
|
30
|
+
} else {
|
|
31
|
+
Logger.e(LOG_TAG, "coordinate is expected to be an array of numbers with 2 elements")
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@ReactProp(name = "heading")
|
|
36
|
+
override fun setHeading(view: RNMBXCustomLocationProvider, value: Dynamic?) {
|
|
37
|
+
if (value?.type == ReadableType.Number) {
|
|
38
|
+
view.heading = value.asDouble()
|
|
39
|
+
} else {
|
|
40
|
+
Logger.e(LOG_TAG, "heading is expected to be a number")
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
override fun onAfterUpdateTransaction(view: RNMBXCustomLocationProvider) {
|
|
45
|
+
super.onAfterUpdateTransaction(view)
|
|
46
|
+
|
|
47
|
+
view.applyAllChanges()
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
companion object {
|
|
51
|
+
const val REACT_CLASS = "RNMBXCustomLocationProvider"
|
|
52
|
+
const val LOG_TAG = REACT_CLASS
|
|
53
|
+
}
|
|
54
|
+
}
|