@rnmapbox/maps 10.1.0 → 10.1.1
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 +507 -207
- 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
|
@@ -14,7 +14,6 @@ class FeatureEntry {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
|
|
18
17
|
#if RNMBX_11
|
|
19
18
|
extension QueriedRenderedFeature {
|
|
20
19
|
var feature : Feature { return queriedFeature.feature }
|
|
@@ -98,82 +97,103 @@ class RNMBXCameraChanged : RNMBXEvent, RCTEvent {
|
|
|
98
97
|
}
|
|
99
98
|
|
|
100
99
|
@objc(RNMBXMapView)
|
|
101
|
-
open class RNMBXMapView
|
|
102
|
-
var
|
|
100
|
+
open class RNMBXMapView: UIView {
|
|
101
|
+
var imageManager: ImageManager = ImageManager()
|
|
103
102
|
|
|
103
|
+
var tapDelegate: IgnoreRNMBXMakerViewGestureDelegate? = nil
|
|
104
|
+
|
|
104
105
|
var eventDispatcher: RCTEventDispatcherProtocol
|
|
105
|
-
|
|
106
|
-
var compassEnabled: Bool = false
|
|
107
|
-
var compassFadeWhenNorth: Bool = false
|
|
108
|
-
var compassImage: String?
|
|
109
106
|
|
|
110
107
|
var reactOnPress : RCTBubblingEventBlock?
|
|
111
108
|
var reactOnLongPress : RCTBubblingEventBlock?
|
|
112
109
|
var reactOnMapChange : RCTBubblingEventBlock?
|
|
113
|
-
|
|
110
|
+
|
|
114
111
|
@objc
|
|
115
112
|
var onCameraChanged: RCTDirectEventBlock?
|
|
116
|
-
|
|
113
|
+
|
|
117
114
|
var styleLoaded: Bool = false
|
|
118
115
|
var styleLoadWaiters : [(MapboxMap)->Void] = []
|
|
119
|
-
|
|
116
|
+
|
|
120
117
|
var features: [FeatureEntry] = []
|
|
121
|
-
|
|
118
|
+
|
|
122
119
|
weak var reactCamera : RNMBXCamera?
|
|
123
120
|
var images : [RNMBXImages] = []
|
|
124
121
|
var sources : [RNMBXInteractiveElement] = []
|
|
125
122
|
|
|
126
123
|
var handleMapChangedEvents = Set<RNMBXEvent.EventType>()
|
|
127
|
-
|
|
124
|
+
|
|
128
125
|
var eventListeners : [Cancelable] = []
|
|
129
|
-
|
|
126
|
+
|
|
130
127
|
private var isPendingInitialLayout = true
|
|
131
128
|
private var wasGestureActive = false
|
|
132
129
|
private var isGestureActive = false
|
|
133
|
-
|
|
130
|
+
|
|
134
131
|
var layerWaiters : [String:[(String) -> Void]] = [:]
|
|
132
|
+
|
|
133
|
+
@objc
|
|
134
|
+
public var deselectAnnotationOnTap: Bool = false
|
|
135
135
|
|
|
136
|
-
|
|
136
|
+
#if RNMBX_11
|
|
137
137
|
var cancelables = Set<AnyCancelable>()
|
|
138
|
-
|
|
138
|
+
#endif
|
|
139
139
|
|
|
140
|
-
lazy var pointAnnotationManager :
|
|
141
|
-
let result =
|
|
140
|
+
lazy var pointAnnotationManager : RNMBXPointAnnotationManager = {
|
|
141
|
+
let result = RNMBXPointAnnotationManager(annotations: mapView.annotations, mapView: mapView)
|
|
142
142
|
self._removeMapboxLongPressGestureRecognizer()
|
|
143
143
|
return result
|
|
144
144
|
}()
|
|
145
|
-
|
|
145
|
+
|
|
146
146
|
lazy var calloutAnnotationManager : MapboxMaps.PointAnnotationManager = {
|
|
147
|
-
return annotations.makePointAnnotationManager(id: "RNMBX-mapview-callouts")
|
|
147
|
+
return mapView.annotations.makePointAnnotationManager(id: "RNMBX-mapview-callouts")
|
|
148
148
|
}()
|
|
149
149
|
|
|
150
|
-
var
|
|
151
|
-
|
|
150
|
+
var _mapView: MapView! = nil
|
|
151
|
+
func createMapView() {
|
|
152
|
+
#if RNMBX_11
|
|
153
|
+
_mapView = MapView(frame: self.bounds, mapInitOptions: MapInitOptions())
|
|
154
|
+
#else
|
|
155
|
+
let resourceOptions = ResourceOptions(accessToken: RNMBXModule.accessToken!)
|
|
156
|
+
_mapView = MapView(frame: frame, mapInitOptions: MapInitOptions(resourceOptions: resourceOptions))
|
|
157
|
+
#endif
|
|
158
|
+
_mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
|
|
159
|
+
addSubview(_mapView)
|
|
160
|
+
|
|
161
|
+
_mapView.gestures.delegate = self
|
|
162
|
+
setupEvents()
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
var mapView : MapView! {
|
|
166
|
+
get { return _mapView }
|
|
167
|
+
}
|
|
168
|
+
var mapboxMap: MapboxMap! {
|
|
169
|
+
get { _mapView.mapboxMap }
|
|
152
170
|
}
|
|
153
171
|
|
|
154
172
|
@objc public func addToMap(_ subview: UIView) {
|
|
155
|
-
|
|
156
|
-
let
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if (
|
|
173
|
+
withMapView {
|
|
174
|
+
if let mapComponent = subview as? RNMBXMapComponent {
|
|
175
|
+
let style = self.mapView.mapboxMap.style
|
|
176
|
+
var addToMap = false
|
|
177
|
+
if mapComponent.waitForStyleLoad() {
|
|
178
|
+
if (self.styleLoaded) {
|
|
179
|
+
addToMap = true
|
|
180
|
+
}
|
|
181
|
+
} else {
|
|
160
182
|
addToMap = true
|
|
161
183
|
}
|
|
184
|
+
|
|
185
|
+
let entry = FeatureEntry(feature: mapComponent, view: subview, addedToMap: false)
|
|
186
|
+
if (addToMap) {
|
|
187
|
+
mapComponent.addToMap(self, style: style)
|
|
188
|
+
entry.addedToMap = true
|
|
189
|
+
}
|
|
190
|
+
self.features.append(entry)
|
|
162
191
|
} else {
|
|
163
|
-
addToMap
|
|
192
|
+
subview.reactSubviews()?.forEach { self.addToMap($0) }
|
|
164
193
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
if (addToMap) {
|
|
168
|
-
mapComponent.addToMap(self, style: style)
|
|
169
|
-
entry.addedToMap = true
|
|
194
|
+
if let source = subview as? RNMBXInteractiveElement {
|
|
195
|
+
self.sources.append(source)
|
|
170
196
|
}
|
|
171
|
-
features.append(entry)
|
|
172
|
-
} else {
|
|
173
|
-
subview.reactSubviews()?.forEach { addToMap($0) }
|
|
174
|
-
}
|
|
175
|
-
if let source = subview as? RNMBXInteractiveElement {
|
|
176
|
-
sources.append(source)
|
|
177
197
|
}
|
|
178
198
|
}
|
|
179
199
|
|
|
@@ -183,8 +203,8 @@ open class RNMBXMapView : MapView {
|
|
|
183
203
|
if let entryIndex = entryIndex {
|
|
184
204
|
var entry = features[entryIndex]
|
|
185
205
|
if (entry.addedToMap) {
|
|
186
|
-
|
|
187
|
-
|
|
206
|
+
mapComponent.removeFromMap(self, reason: .OnDestroy)
|
|
207
|
+
entry.addedToMap = false
|
|
188
208
|
}
|
|
189
209
|
features.remove(at: entryIndex)
|
|
190
210
|
}
|
|
@@ -207,30 +227,20 @@ open class RNMBXMapView : MapView {
|
|
|
207
227
|
}
|
|
208
228
|
|
|
209
229
|
@objc public required init(frame:CGRect, eventDispatcher: RCTEventDispatcherProtocol) {
|
|
210
|
-
#if RNMBX_11
|
|
211
230
|
self.eventDispatcher = eventDispatcher
|
|
212
|
-
super.init(frame: frame
|
|
213
|
-
#else
|
|
214
|
-
let resourceOptions = ResourceOptions(accessToken: RNMBXModule.accessToken!)
|
|
215
|
-
self.eventDispatcher = eventDispatcher
|
|
216
|
-
super.init(frame: frame, mapInitOptions: MapInitOptions(resourceOptions: resourceOptions))
|
|
217
|
-
#endif
|
|
218
|
-
|
|
219
|
-
self.mapView.gestures.delegate = self
|
|
220
|
-
|
|
221
|
-
setupEvents()
|
|
231
|
+
super.init(frame: frame)
|
|
222
232
|
}
|
|
223
233
|
|
|
224
234
|
public required init (coder: NSCoder) {
|
|
225
|
-
|
|
235
|
+
fatalError("not implemented")
|
|
226
236
|
}
|
|
227
237
|
|
|
228
238
|
func layerAdded (_ layer: Layer) {
|
|
229
|
-
|
|
239
|
+
// TODO
|
|
230
240
|
}
|
|
231
241
|
|
|
232
242
|
func waitForLayerWithID(_ layerId: String, _ callback: @escaping (_ layerId: String) -> Void) {
|
|
233
|
-
let style = mapboxMap.style;
|
|
243
|
+
let style = mapView.mapboxMap.style;
|
|
234
244
|
if style.layerExists(withId: layerId) {
|
|
235
245
|
callback(layerId)
|
|
236
246
|
} else {
|
|
@@ -243,40 +253,141 @@ open class RNMBXMapView : MapView {
|
|
|
243
253
|
if let camera = reactCamera {
|
|
244
254
|
if (isPendingInitialLayout) {
|
|
245
255
|
isPendingInitialLayout = false;
|
|
246
|
-
|
|
256
|
+
|
|
247
257
|
camera.initialLayout()
|
|
248
258
|
}
|
|
249
259
|
}
|
|
250
260
|
}
|
|
251
|
-
|
|
261
|
+
|
|
252
262
|
|
|
253
263
|
// MARK: - React Native properties
|
|
254
|
-
|
|
264
|
+
let changes : PropertyChanges<RNMBXMapView> = PropertyChanges()
|
|
265
|
+
var mapViewWaiters : [()->Void] = []
|
|
266
|
+
|
|
267
|
+
enum Property : String {
|
|
268
|
+
case projection
|
|
269
|
+
case localizeLabels
|
|
270
|
+
case attribution
|
|
271
|
+
case logo
|
|
272
|
+
case compass
|
|
273
|
+
case scaleBar
|
|
274
|
+
case onLongPress
|
|
275
|
+
case onPress
|
|
276
|
+
case scrollEnabled
|
|
277
|
+
case rotateEnabled
|
|
278
|
+
case pitchEnabled
|
|
279
|
+
case onMapChange
|
|
280
|
+
case styleURL
|
|
281
|
+
case gestureSettings
|
|
282
|
+
|
|
283
|
+
func apply(_ map: RNMBXMapView) -> Void {
|
|
284
|
+
switch self {
|
|
285
|
+
case .projection:
|
|
286
|
+
map.applyProjection()
|
|
287
|
+
case .localizeLabels:
|
|
288
|
+
map.applyLocalizeLabels()
|
|
289
|
+
case .attribution:
|
|
290
|
+
map.applyAttribution()
|
|
291
|
+
case .logo:
|
|
292
|
+
map.applyLogo()
|
|
293
|
+
case .compass:
|
|
294
|
+
map.applyCompass()
|
|
295
|
+
case .scaleBar:
|
|
296
|
+
map.applyScaleBar()
|
|
297
|
+
case .onLongPress:
|
|
298
|
+
map.applyOnLongPress()
|
|
299
|
+
case .onPress:
|
|
300
|
+
map.applyOnPress()
|
|
301
|
+
case .scrollEnabled:
|
|
302
|
+
map.applyScrollEnabled()
|
|
303
|
+
case .rotateEnabled:
|
|
304
|
+
map.applyRotateEnabled()
|
|
305
|
+
case .onMapChange:
|
|
306
|
+
map.applyOnMapChange()
|
|
307
|
+
case .styleURL:
|
|
308
|
+
map.applyStyleURL()
|
|
309
|
+
case .pitchEnabled:
|
|
310
|
+
map.applyPitchEnabled()
|
|
311
|
+
case .gestureSettings:
|
|
312
|
+
map.applyGestureSettings()
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
func changed(_ property: Property) {
|
|
318
|
+
changes.add(name: property.rawValue, update: property.apply)
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
func withMapView(callback: @escaping () -> Void) {
|
|
322
|
+
if _mapView != nil {
|
|
323
|
+
callback()
|
|
324
|
+
} else {
|
|
325
|
+
mapViewWaiters.append(callback)
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
var projection: StyleProjection?
|
|
330
|
+
|
|
255
331
|
@objc public func setReactProjection(_ value: String?) {
|
|
256
332
|
if let value = value {
|
|
257
|
-
|
|
258
|
-
|
|
333
|
+
projection = StyleProjection(name: value == "globe" ? .globe : .mercator)
|
|
334
|
+
} else {
|
|
335
|
+
projection = nil
|
|
336
|
+
}
|
|
337
|
+
changed(.projection)
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
func applyProjection() {
|
|
341
|
+
logged("RNMBXMapView.setReactProjection") {
|
|
342
|
+
if let projection = projection {
|
|
259
343
|
try self.mapboxMap.style.setProjection(projection)
|
|
260
344
|
}
|
|
261
345
|
}
|
|
262
346
|
}
|
|
263
|
-
|
|
347
|
+
|
|
348
|
+
var locale: (layerIds: [String]?, locale: Locale)? = nil
|
|
349
|
+
|
|
264
350
|
@objc public func setReactLocalizeLabels(_ value: NSDictionary?) {
|
|
351
|
+
if let value = value {
|
|
352
|
+
let localeString = value["locale"] as! String
|
|
353
|
+
let layerIds = value["layerIds"] as! [String]?
|
|
354
|
+
let locale = localeString == "current" ? Locale.current : Locale(identifier: localeString)
|
|
355
|
+
self.locale = (layerIds, locale)
|
|
356
|
+
}
|
|
357
|
+
changed(.localizeLabels)
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
func applyLocalizeLabels() {
|
|
265
361
|
onMapStyleLoaded { _ in
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
let layerIds = value["layerIds"] as! [String]?
|
|
270
|
-
let locale = localeString == "current" ? Locale.current : Locale(identifier: localeString)
|
|
271
|
-
try self.mapboxMap.style.localizeLabels(into: locale, forLayerIds: layerIds)
|
|
362
|
+
logged("RNMBXMapView.\(#function)") {
|
|
363
|
+
if let locale = self.locale {
|
|
364
|
+
try self.mapboxMap.style.localizeLabels(into: locale.locale, forLayerIds: locale.layerIds)
|
|
272
365
|
}
|
|
273
366
|
}
|
|
274
367
|
}
|
|
275
368
|
}
|
|
276
369
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
370
|
+
struct GestureSettings {
|
|
371
|
+
var doubleTapToZoomInEnabled: Bool? = nil;
|
|
372
|
+
var doubleTouchToZoomOutEnabled: Bool? = nil;
|
|
373
|
+
var pinchPanEnabled: Bool? = nil;
|
|
374
|
+
var pinchZoomEnabled: Bool? = nil;
|
|
375
|
+
var pitchEnabled: Bool? = nil;
|
|
376
|
+
var quickZoomEnabled: Bool? = nil;
|
|
377
|
+
var rotateEnabled: Bool? = nil;
|
|
378
|
+
var panEnabled: Bool? = nil;
|
|
379
|
+
var panDecelerationFactor: CGFloat? = nil;
|
|
380
|
+
#if RNMBX_11
|
|
381
|
+
var simultaneousRotateAndPinchZoomEnabled: Bool? = nil;
|
|
382
|
+
#endif
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
var gestureSettings = GestureSettings()
|
|
386
|
+
|
|
387
|
+
@objc
|
|
388
|
+
public func setReactGestureSettings(_ value: NSDictionary?) {
|
|
389
|
+
if let value = value {
|
|
390
|
+
var options = gestureSettings
|
|
280
391
|
if let doubleTapToZoomInEnabled = value["doubleTapToZoomInEnabled"] as? NSNumber {
|
|
281
392
|
options.doubleTapToZoomInEnabled = doubleTapToZoomInEnabled.boolValue
|
|
282
393
|
}
|
|
@@ -290,10 +401,10 @@ open class RNMBXMapView : MapView {
|
|
|
290
401
|
options.pinchZoomEnabled = pinchZoomEnabled.boolValue
|
|
291
402
|
}
|
|
292
403
|
/* android only
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
404
|
+
if let pinchZoomDecelerationEnabled = value["pinchZoomDecelerationEnabled"] as? NSNumber {
|
|
405
|
+
options.pinchZoomDecelerationEnabled = pinchZoomDecelerationEnabled.boolValue
|
|
406
|
+
}
|
|
407
|
+
*/
|
|
297
408
|
if let pitchEnabled = value["pitchEnabled"] as? NSNumber {
|
|
298
409
|
options.pitchEnabled = pitchEnabled.boolValue
|
|
299
410
|
}
|
|
@@ -304,76 +415,188 @@ open class RNMBXMapView : MapView {
|
|
|
304
415
|
options.rotateEnabled = rotateEnabled.boolValue
|
|
305
416
|
}
|
|
306
417
|
/* android only
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
418
|
+
if let rotateDecelerationEnabled = value["rotateDecelerationEnabled"] as? NSNumber {
|
|
419
|
+
options.rotateDecelerationEnabled = rotateDecelerationEnabled.boolValue
|
|
420
|
+
}*/
|
|
310
421
|
if let panEnabled = value["panEnabled"] as? NSNumber {
|
|
311
422
|
options.panEnabled = panEnabled.boolValue
|
|
312
423
|
}
|
|
313
424
|
if let panDecelerationFactor = value["panDecelerationFactor"] as? NSNumber {
|
|
314
425
|
options.panDecelerationFactor = panDecelerationFactor.CGFloat
|
|
315
426
|
}
|
|
316
|
-
|
|
427
|
+
#if RNMBX_11
|
|
317
428
|
if let simultaneousRotateAndPinchZoomEnabled = value["simultaneousRotateAndPinchZoomEnabled"] as? NSNumber {
|
|
318
429
|
options.simultaneousRotateAndPinchZoomEnabled = simultaneousRotateAndPinchZoomEnabled.boolValue
|
|
319
430
|
}
|
|
320
|
-
|
|
431
|
+
#endif
|
|
321
432
|
/* android only
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
433
|
+
if let zoomAnimationAmount = value["zoomAnimationAmount"] as? NSNumber {
|
|
434
|
+
options.zoomAnimationAmount = zoomAnimationAmount.CGFloat
|
|
435
|
+
}*/
|
|
436
|
+
gestureSettings = options
|
|
437
|
+
|
|
438
|
+
changed(.gestureSettings)
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
func applyGestureSettings() {
|
|
443
|
+
if let gestures = self.mapView?.gestures {
|
|
444
|
+
var options = gestures.options
|
|
445
|
+
let settings = gestureSettings
|
|
446
|
+
if let doubleTapToZoomInEnabled = settings.doubleTapToZoomInEnabled as? Bool {
|
|
447
|
+
options.doubleTapToZoomInEnabled = doubleTapToZoomInEnabled
|
|
448
|
+
}
|
|
449
|
+
if let doubleTouchToZoomOutEnabled = settings.doubleTouchToZoomOutEnabled as? Bool {
|
|
450
|
+
options.doubleTouchToZoomOutEnabled = doubleTouchToZoomOutEnabled
|
|
451
|
+
}
|
|
452
|
+
if let pinchPanEnabled = settings.pinchPanEnabled as? Bool {
|
|
453
|
+
options.pinchPanEnabled = pinchPanEnabled
|
|
454
|
+
}
|
|
455
|
+
if let pinchZoomEnabled = settings.pinchZoomEnabled as? Bool {
|
|
456
|
+
options.pinchZoomEnabled = pinchZoomEnabled
|
|
457
|
+
}
|
|
458
|
+
if let pitchEnabled = settings.pitchEnabled as? Bool {
|
|
459
|
+
options.pitchEnabled = pitchEnabled
|
|
460
|
+
}
|
|
461
|
+
if let quickZoomEnabled = settings.quickZoomEnabled as? Bool {
|
|
462
|
+
options.quickZoomEnabled = quickZoomEnabled
|
|
463
|
+
}
|
|
464
|
+
if let rotateEnabled = settings.rotateEnabled as? Bool {
|
|
465
|
+
options.rotateEnabled = rotateEnabled
|
|
466
|
+
}
|
|
467
|
+
/* android only
|
|
468
|
+
if let rotateDecelerationEnabled = value["rotateDecelerationEnabled"] as? NSNumber {
|
|
469
|
+
options.rotateDecelerationEnabled = rotateDecelerationEnabled.boolValue
|
|
470
|
+
}*/
|
|
471
|
+
if let panEnabled = settings.panEnabled as? Bool {
|
|
472
|
+
options.panEnabled = panEnabled
|
|
473
|
+
}
|
|
474
|
+
if let panDecelerationFactor = settings.panDecelerationFactor as? CGFloat {
|
|
475
|
+
options.panDecelerationFactor = panDecelerationFactor
|
|
476
|
+
}
|
|
477
|
+
#if RNMBX_11
|
|
478
|
+
if let simultaneousRotateAndPinchZoomEnabled = settings.simultaneousRotateAndPinchZoomEnabled as? Bool {
|
|
479
|
+
options.simultaneousRotateAndPinchZoomEnabled = simultaneousRotateAndPinchZoomEnabled
|
|
480
|
+
}
|
|
481
|
+
#endif
|
|
482
|
+
/* android only
|
|
483
|
+
if let zoomAnimationAmount = value["zoomAnimationAmount"] as? NSNumber {
|
|
484
|
+
options.zoomAnimationAmount = zoomAnimationAmount.CGFloat
|
|
485
|
+
}*/
|
|
325
486
|
if options != gestures.options {
|
|
326
487
|
gestures.options = options
|
|
327
488
|
}
|
|
328
489
|
}
|
|
329
490
|
}
|
|
330
491
|
|
|
492
|
+
var attributionEnabled: OrnamentVisibility? = nil
|
|
493
|
+
var attributionOptions: (position: OrnamentPosition, margins: CGPoint)? = nil
|
|
494
|
+
|
|
331
495
|
@objc public func setReactAttributionEnabled(_ value: Bool) {
|
|
332
|
-
|
|
496
|
+
attributionEnabled = value ? .visible : .hidden
|
|
497
|
+
changed(.attribution)
|
|
333
498
|
}
|
|
334
499
|
|
|
335
|
-
|
|
336
|
-
if let
|
|
337
|
-
mapView.ornaments.options.attributionButton.
|
|
338
|
-
mapView.ornaments.options.attributionButton.margins = ornamentOptions.margins
|
|
500
|
+
func applyAttribution() {
|
|
501
|
+
if let visibility = attributionEnabled {
|
|
502
|
+
mapView.ornaments.options.attributionButton.visibility = visibility
|
|
339
503
|
}
|
|
504
|
+
if let options = attributionOptions {
|
|
505
|
+
mapView.ornaments.options.attributionButton.position = options.position
|
|
506
|
+
mapView.ornaments.options.attributionButton.margins = options.margins
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
@objc public func setReactAttributionPosition(_ position: [String: NSNumber]) {
|
|
511
|
+
attributionOptions = self.getOrnamentOptionsFromPosition(position)
|
|
512
|
+
changed(.attribution)
|
|
340
513
|
}
|
|
341
514
|
|
|
515
|
+
var logoEnabled: OrnamentVisibility? = nil
|
|
516
|
+
var logoOptions: (position: OrnamentPosition, margins: CGPoint)? = nil
|
|
517
|
+
|
|
342
518
|
@objc public func setReactLogoEnabled(_ value: Bool) {
|
|
343
|
-
|
|
519
|
+
logoEnabled = value ? .visible : .hidden
|
|
520
|
+
changed(.logo)
|
|
344
521
|
}
|
|
345
522
|
|
|
346
523
|
@objc public func setReactLogoPosition(_ position: [String: NSNumber]) {
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
524
|
+
logoOptions = self.getOrnamentOptionsFromPosition(position)
|
|
525
|
+
changed(.logo)
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
func applyLogo() {
|
|
529
|
+
if let visibility = logoEnabled {
|
|
530
|
+
mapView.ornaments.options.logo.visibility = visibility
|
|
531
|
+
}
|
|
532
|
+
if let options = logoOptions {
|
|
533
|
+
mapView.ornaments.options.logo.position = options.position
|
|
534
|
+
mapView.ornaments.options.logo.margins = options.margins
|
|
350
535
|
}
|
|
351
536
|
}
|
|
352
537
|
|
|
538
|
+
var compassEnabled: Bool = false
|
|
539
|
+
var compassPosition: OrnamentPosition? = nil
|
|
540
|
+
var compassMargins: CGPoint? = nil
|
|
541
|
+
var compassFadeWhenNorth: Bool = false
|
|
542
|
+
var compassImage: String?
|
|
543
|
+
|
|
353
544
|
@objc public func setReactCompassEnabled(_ value: Bool) {
|
|
354
545
|
compassEnabled = value
|
|
355
|
-
|
|
546
|
+
changed(.compass)
|
|
356
547
|
}
|
|
357
|
-
|
|
548
|
+
|
|
358
549
|
@objc public func setReactCompassFadeWhenNorth(_ value: Bool) {
|
|
359
550
|
compassFadeWhenNorth = value
|
|
360
|
-
|
|
551
|
+
changed(.compass)
|
|
361
552
|
}
|
|
362
553
|
|
|
363
|
-
|
|
554
|
+
@objc public func setReactCompassPosition(_ position: [String: NSNumber]) {
|
|
555
|
+
if let compassOptions = self.getOrnamentOptionsFromPosition(position) {
|
|
556
|
+
compassPosition = compassOptions.position
|
|
557
|
+
compassMargins = compassOptions.margins
|
|
558
|
+
changed(.compass)
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
@objc public func setReactCompassViewPosition(_ position: NSInteger) {
|
|
563
|
+
compassPosition = toOrnamentPositon(Int(truncating: NSNumber(value: position)))
|
|
564
|
+
changed(.compass)
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
@objc public func setReactCompassViewMargins(_ margins: CGPoint) {
|
|
568
|
+
compassMargins = margins
|
|
569
|
+
changed(.compass)
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
@objc public func setReactCompassImage(_ image: String) {
|
|
573
|
+
compassImage = image.isEmpty ? nil : image
|
|
574
|
+
changed(.compass)
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
func applyCompass() {
|
|
364
578
|
var visibility: OrnamentVisibility = .hidden
|
|
365
579
|
if compassEnabled {
|
|
366
580
|
visibility = compassFadeWhenNorth ? .adaptive : .visible
|
|
367
581
|
}
|
|
368
582
|
mapView.ornaments.options.compass.visibility = visibility
|
|
369
583
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
584
|
+
if let position = compassPosition {
|
|
585
|
+
mapView.ornaments.options.compass.position = position
|
|
586
|
+
}
|
|
587
|
+
if let margina = compassMargins {
|
|
588
|
+
mapView.ornaments.options.compass.margins = margina
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
if let compassImage = compassImage {
|
|
592
|
+
onMapStyleLoaded { map in
|
|
593
|
+
let img = map.style.image(withId: compassImage)
|
|
594
|
+
self.mapView.ornaments.options.compass.image = img
|
|
595
|
+
}
|
|
596
|
+
} else {
|
|
597
|
+
// Does not currently reset the image to the default.
|
|
598
|
+
// See https://github.com/mapbox/mapbox-maps-ios/issues/1673.
|
|
599
|
+
self.mapView.ornaments.options.compass.image = nil
|
|
377
600
|
}
|
|
378
601
|
}
|
|
379
602
|
|
|
@@ -399,42 +622,43 @@ open class RNMBXMapView : MapView {
|
|
|
399
622
|
return .topLeading
|
|
400
623
|
}
|
|
401
624
|
}
|
|
625
|
+
|
|
626
|
+
var scaleBarEnabled: Bool? = nil
|
|
627
|
+
var scaleBarPosition: OrnamentPosition? = nil
|
|
628
|
+
var scaleBarMargins: CGPoint? = nil
|
|
402
629
|
|
|
403
|
-
@objc public func
|
|
404
|
-
|
|
630
|
+
@objc public func setReactScaleBarEnabled(_ value: Bool) {
|
|
631
|
+
scaleBarEnabled = value
|
|
632
|
+
changed(.scaleBar)
|
|
405
633
|
}
|
|
406
634
|
|
|
407
|
-
@objc public func
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
compassImage = image.isEmpty ? nil : image
|
|
413
|
-
refreshCompassImage()
|
|
635
|
+
@objc public func setReactScaleBarPosition(_ position: [String: NSNumber]) {
|
|
636
|
+
if let ornamentOptions = self.getOrnamentOptionsFromPosition(position) {
|
|
637
|
+
scaleBarPosition = ornamentOptions.position
|
|
638
|
+
scaleBarMargins = ornamentOptions.margins
|
|
639
|
+
}
|
|
414
640
|
}
|
|
415
641
|
|
|
416
|
-
|
|
417
|
-
if let
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
self.mapView.ornaments.options.compass.image = nil
|
|
642
|
+
func applyScaleBar() {
|
|
643
|
+
if let enabled = scaleBarEnabled {
|
|
644
|
+
mapView.ornaments.options.scaleBar.visibility = enabled ? .visible : .hidden
|
|
645
|
+
}
|
|
646
|
+
if let position = scaleBarPosition {
|
|
647
|
+
mapView.ornaments.options.scaleBar.position = position
|
|
648
|
+
}
|
|
649
|
+
if let margins = scaleBarMargins {
|
|
650
|
+
mapView.ornaments.options.scaleBar.margins = margins
|
|
426
651
|
}
|
|
427
652
|
}
|
|
428
653
|
|
|
429
|
-
@objc public func
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
mapView.ornaments.options.scaleBar.position = ornamentOptions.position
|
|
436
|
-
mapView.ornaments.options.scaleBar.margins = ornamentOptions.margins
|
|
654
|
+
@objc override public func didSetProps(_ props: [String]) {
|
|
655
|
+
if (_mapView == nil) {
|
|
656
|
+
createMapView()
|
|
657
|
+
|
|
658
|
+
mapViewWaiters.forEach { $0() }
|
|
659
|
+
mapViewWaiters.removeAll()
|
|
437
660
|
}
|
|
661
|
+
changes.apply(self)
|
|
438
662
|
}
|
|
439
663
|
|
|
440
664
|
@objc public func setReactZoomEnabled(_ value: Bool) {
|
|
@@ -443,17 +667,41 @@ open class RNMBXMapView : MapView {
|
|
|
443
667
|
self.mapView.gestures.options.pinchZoomEnabled = value
|
|
444
668
|
}
|
|
445
669
|
|
|
670
|
+
var scrollEnabled: Bool? = nil
|
|
446
671
|
@objc public func setReactScrollEnabled(_ value: Bool) {
|
|
447
|
-
self.
|
|
448
|
-
|
|
672
|
+
self.scrollEnabled = value
|
|
673
|
+
changed(.scrollEnabled)
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
func applyScrollEnabled() {
|
|
677
|
+
if let value = scrollEnabled {
|
|
678
|
+
self.mapView.gestures.options.panEnabled = value
|
|
679
|
+
self.mapView.gestures.options.pinchPanEnabled = value
|
|
680
|
+
}
|
|
449
681
|
}
|
|
450
682
|
|
|
683
|
+
var rotateEnabled: Bool? = nil
|
|
451
684
|
@objc public func setReactRotateEnabled(_ value: Bool) {
|
|
452
|
-
|
|
685
|
+
rotateEnabled = value
|
|
686
|
+
changed(.rotateEnabled)
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
func applyRotateEnabled() {
|
|
690
|
+
if let value = rotateEnabled {
|
|
691
|
+
self.mapView.gestures.options.rotateEnabled = value
|
|
692
|
+
}
|
|
453
693
|
}
|
|
454
694
|
|
|
695
|
+
|
|
696
|
+
var pitchEnabled: Bool? = nil
|
|
455
697
|
@objc public func setReactPitchEnabled(_ value: Bool) {
|
|
456
|
-
self.
|
|
698
|
+
self.pitchEnabled = value
|
|
699
|
+
changed(.pitchEnabled)
|
|
700
|
+
}
|
|
701
|
+
func applyPitchEnabled() {
|
|
702
|
+
if let value = pitchEnabled {
|
|
703
|
+
self.mapView.gestures.options.pitchEnabled = value
|
|
704
|
+
}
|
|
457
705
|
}
|
|
458
706
|
|
|
459
707
|
private func removeAllFeaturesFromMap(reason: RemovalReason) {
|
|
@@ -482,11 +730,17 @@ open class RNMBXMapView : MapView {
|
|
|
482
730
|
addFeaturesToMap(style: style)
|
|
483
731
|
}
|
|
484
732
|
|
|
733
|
+
var reactStyleURL: String? = nil
|
|
485
734
|
@objc public func setReactStyleURL(_ value: String?) {
|
|
735
|
+
self.reactStyleURL = value
|
|
736
|
+
changed(.styleURL)
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
public func applyStyleURL() {
|
|
486
740
|
var initialLoad = !self.styleLoaded
|
|
487
741
|
if !initialLoad { refreshComponentsBeforeStyleChange() }
|
|
488
742
|
self.styleLoaded = false
|
|
489
|
-
if let value =
|
|
743
|
+
if let value = reactStyleURL {
|
|
490
744
|
if let _ = URL(string: value) {
|
|
491
745
|
if let styleURI = StyleURI(rawValue: value) {
|
|
492
746
|
mapView.mapboxMap.loadStyleURI(styleURI)
|
|
@@ -582,7 +836,10 @@ extension RNMBXMapView {
|
|
|
582
836
|
|
|
583
837
|
@objc public func setReactOnMapChange(_ value: @escaping RCTBubblingEventBlock) {
|
|
584
838
|
self.reactOnMapChange = value
|
|
839
|
+
changed(.onMapChange)
|
|
840
|
+
}
|
|
585
841
|
|
|
842
|
+
func applyOnMapChange() {
|
|
586
843
|
self.onEvery(event: .cameraChanged, handler: { (self, cameraEvent) in
|
|
587
844
|
self.wasGestureActive = self.isGestureActive
|
|
588
845
|
if self.handleMapChangedEvents.contains(.regionIsChanging) {
|
|
@@ -620,7 +877,7 @@ extension RNMBXMapView {
|
|
|
620
877
|
}
|
|
621
878
|
|
|
622
879
|
private func buildStateObject() -> [String: Any] {
|
|
623
|
-
let cameraOptions = CameraOptions(cameraState: cameraState)
|
|
880
|
+
let cameraOptions = CameraOptions(cameraState: mapView.cameraState)
|
|
624
881
|
let bounds = mapView.mapboxMap.coordinateBounds(for: cameraOptions)
|
|
625
882
|
|
|
626
883
|
return [
|
|
@@ -646,7 +903,7 @@ extension RNMBXMapView {
|
|
|
646
903
|
}
|
|
647
904
|
|
|
648
905
|
private func buildRegionObject() -> [String: Any] {
|
|
649
|
-
let cameraOptions = CameraOptions(cameraState: cameraState)
|
|
906
|
+
let cameraOptions = CameraOptions(cameraState: mapView.cameraState)
|
|
650
907
|
let bounds = mapView.mapboxMap.coordinateBounds(for: cameraOptions)
|
|
651
908
|
let boundsArray : JSONArray = [
|
|
652
909
|
[.number(bounds.northeast.longitude),.number(bounds.northeast.latitude)],
|
|
@@ -805,7 +1062,10 @@ extension RNMBXMapView {
|
|
|
805
1062
|
|
|
806
1063
|
@objc public func setReactOnPress(_ value: @escaping RCTBubblingEventBlock) {
|
|
807
1064
|
self.reactOnPress = value
|
|
808
|
-
|
|
1065
|
+
changed(.onPress)
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
func applyOnPress() {
|
|
809
1069
|
let singleTapGestureRecognizer = self.mapView.gestures.singleTapGestureRecognizer
|
|
810
1070
|
|
|
811
1071
|
singleTapGestureRecognizer.removeTarget(pointAnnotationManager.manager, action: nil)
|
|
@@ -817,9 +1077,14 @@ extension RNMBXMapView {
|
|
|
817
1077
|
|
|
818
1078
|
@objc public func setReactOnLongPress(_ value: @escaping RCTBubblingEventBlock) {
|
|
819
1079
|
self.reactOnLongPress = value
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
1080
|
+
changed(.onLongPress)
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
func applyOnLongPress() {
|
|
1084
|
+
if (reactOnLongPress != nil) {
|
|
1085
|
+
let longPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(doHandleLongPress(_:)))
|
|
1086
|
+
self.mapView.addGestureRecognizer(longPressGestureRecognizer)
|
|
1087
|
+
}
|
|
823
1088
|
}
|
|
824
1089
|
}
|
|
825
1090
|
|
|
@@ -896,11 +1161,29 @@ extension RNMBXMapView: GestureManagerDelegate {
|
|
|
896
1161
|
return orderedLayers.lazy.reversed().compactMap { layersToSource[$0.id] }.first ?? sources.first
|
|
897
1162
|
}
|
|
898
1163
|
|
|
1164
|
+
|
|
1165
|
+
|
|
1166
|
+
func _tapEvent(_ tapPoint: CGPoint) -> RNMBXEvent {
|
|
1167
|
+
let location = self.mapboxMap.coordinate(for: tapPoint)
|
|
1168
|
+
var geojson = Feature(geometry: .point(Point(location)));
|
|
1169
|
+
geojson.properties = [
|
|
1170
|
+
"screenPointX": .number(Double(tapPoint.x)),
|
|
1171
|
+
"screenPointY": .number(Double(tapPoint.y))
|
|
1172
|
+
]
|
|
1173
|
+
let event = RNMBXEvent(type:.tap, payload: logged("reactOnPress") { try geojson.toJSON() })
|
|
1174
|
+
return event
|
|
1175
|
+
}
|
|
1176
|
+
|
|
899
1177
|
@objc
|
|
900
1178
|
func doHandleTap(_ sender: UITapGestureRecognizer) {
|
|
901
1179
|
let tapPoint = sender.location(in: self)
|
|
902
1180
|
pointAnnotationManager.handleTap(sender) { (_: UITapGestureRecognizer) in
|
|
903
1181
|
DispatchQueue.main.async {
|
|
1182
|
+
if (self.deselectAnnotationOnTap) {
|
|
1183
|
+
if (self.pointAnnotationManager.deselectCurrentlySelected(deselectAnnotationOnTap: true)) {
|
|
1184
|
+
return
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
904
1187
|
let touchableSources = self.touchableSources()
|
|
905
1188
|
self.doHandleTapInSources(sources: touchableSources, tapPoint: tapPoint, hits: [:], touchedSources: []) { (hits, touchedSources) in
|
|
906
1189
|
|
|
@@ -932,14 +1215,7 @@ extension RNMBXMapView: GestureManagerDelegate {
|
|
|
932
1215
|
|
|
933
1216
|
} else {
|
|
934
1217
|
if let reactOnPress = self.reactOnPress {
|
|
935
|
-
|
|
936
|
-
var geojson = Feature(geometry: .point(Point(location)));
|
|
937
|
-
geojson.properties = [
|
|
938
|
-
"screenPointX": .number(Double(tapPoint.x)),
|
|
939
|
-
"screenPointY": .number(Double(tapPoint.y))
|
|
940
|
-
]
|
|
941
|
-
let event = RNMBXEvent(type:.tap, payload: logged("reactOnPress") { try geojson.toJSON() })
|
|
942
|
-
self.fireEvent(event: event, callback: reactOnPress)
|
|
1218
|
+
self.fireEvent(event: self._tapEvent(tapPoint), callback: reactOnPress)
|
|
943
1219
|
}
|
|
944
1220
|
}
|
|
945
1221
|
}
|
|
@@ -1079,7 +1355,7 @@ extension RNMBXMapView {
|
|
|
1079
1355
|
}
|
|
1080
1356
|
}
|
|
1081
1357
|
|
|
1082
|
-
class
|
|
1358
|
+
class RNMBXPointAnnotationManager : AnnotationInteractionDelegate {
|
|
1083
1359
|
weak var selected : RNMBXPointAnnotation? = nil
|
|
1084
1360
|
private var draggedAnnotation: PointAnnotation?
|
|
1085
1361
|
|
|
@@ -1087,6 +1363,50 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1087
1363
|
// We handle taps ourselfs
|
|
1088
1364
|
// onTap(annotations: annotations)
|
|
1089
1365
|
}
|
|
1366
|
+
|
|
1367
|
+
func deselectCurrentlySelected(deselectAnnotationOnTap: Bool = false) -> Bool {
|
|
1368
|
+
if let selected = selected {
|
|
1369
|
+
selected.doDeselect(deselectAnnotationOnMapTap: deselectAnnotationOnTap)
|
|
1370
|
+
self.selected = nil
|
|
1371
|
+
return true
|
|
1372
|
+
}
|
|
1373
|
+
return false
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
func onAnnotationClick(pointAnnotation: RNMBXPointAnnotation) {
|
|
1377
|
+
let oldSelected = selected
|
|
1378
|
+
var newSelected: RNMBXPointAnnotation? = pointAnnotation
|
|
1379
|
+
|
|
1380
|
+
if (newSelected == oldSelected) {
|
|
1381
|
+
newSelected = nil
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
deselectCurrentlySelected()
|
|
1385
|
+
|
|
1386
|
+
if let newSelected = newSelected {
|
|
1387
|
+
newSelected.doSelect()
|
|
1388
|
+
selected = newSelected
|
|
1389
|
+
}
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1392
|
+
func lookup(_ annotation: PointAnnotation) -> RNMBXPointAnnotation? {
|
|
1393
|
+
guard let userInfo = annotation.userInfo else {
|
|
1394
|
+
return nil
|
|
1395
|
+
}
|
|
1396
|
+
if let rnmbxPointAnnotationWeakRef = userInfo[RNMBXPointAnnotation.key] as? WeakRef<RNMBXPointAnnotation> {
|
|
1397
|
+
if let rnmbxPointAnnotation = rnmbxPointAnnotationWeakRef.object {
|
|
1398
|
+
return rnmbxPointAnnotation
|
|
1399
|
+
}
|
|
1400
|
+
}
|
|
1401
|
+
#if RNMBX_11
|
|
1402
|
+
// see https://github.com/rnmapbox/maps/issues/3121
|
|
1403
|
+
if let rnmbxPointAnnotation = annotations.object(forKey: annotation.id as NSString) {
|
|
1404
|
+
return rnmbxPointAnnotation;
|
|
1405
|
+
}
|
|
1406
|
+
#endif
|
|
1407
|
+
return nil
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1090
1410
|
|
|
1091
1411
|
func onTap(annotations: [Annotation]) {
|
|
1092
1412
|
guard annotations.count > 0 else {
|
|
@@ -1094,34 +1414,9 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1094
1414
|
}
|
|
1095
1415
|
|
|
1096
1416
|
for annotation in annotations {
|
|
1097
|
-
if let
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
if let RNMBXPointAnnotation = userInfo[RNMBXPointAnnotation.key] as? WeakRef<RNMBXPointAnnotation> {
|
|
1101
|
-
if let pt = RNMBXPointAnnotation.object {
|
|
1102
|
-
let position = pt.superview?.convert(pt.layer.position, to: nil)
|
|
1103
|
-
let location = pt.map?.mapboxMap.coordinate(for: position!)
|
|
1104
|
-
var geojson = Feature(geometry: .point(Point(location!)))
|
|
1105
|
-
geojson.identifier = .string(pt.id)
|
|
1106
|
-
geojson.properties = [
|
|
1107
|
-
"screenPointX": .number(Double(position!.x)),
|
|
1108
|
-
"screenPointY": .number(Double(position!.y))
|
|
1109
|
-
]
|
|
1110
|
-
let event = RNMBXEvent(type:.tap, payload: logged("doHandleTap") { try geojson.toJSON() })
|
|
1111
|
-
if let selected = selected {
|
|
1112
|
-
guard let onDeselected = pt.onDeselected else {
|
|
1113
|
-
return
|
|
1114
|
-
}
|
|
1115
|
-
onDeselected(event.toJSON())
|
|
1116
|
-
selected.onDeselect()
|
|
1117
|
-
}
|
|
1118
|
-
guard let onSelected = pt.onSelected else {
|
|
1119
|
-
return
|
|
1120
|
-
}
|
|
1121
|
-
onSelected(event.toJSON())
|
|
1122
|
-
pt.onSelect()
|
|
1123
|
-
selected = pt
|
|
1124
|
-
}
|
|
1417
|
+
if let annotation = annotation as? PointAnnotation {
|
|
1418
|
+
if let pointAnnotation = lookup(annotation) {
|
|
1419
|
+
onAnnotationClick(pointAnnotation: pointAnnotation)
|
|
1125
1420
|
}
|
|
1126
1421
|
}
|
|
1127
1422
|
}
|
|
@@ -1185,41 +1480,36 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1185
1480
|
|
|
1186
1481
|
for annotation in annotations {
|
|
1187
1482
|
if let pointAnnotation = annotation as? PointAnnotation,
|
|
1188
|
-
let
|
|
1189
|
-
|
|
1190
|
-
if let RNMBXPointAnnotation = userInfo[RNMBXPointAnnotation.key] as? WeakRef<RNMBXPointAnnotation> {
|
|
1191
|
-
if let pt = RNMBXPointAnnotation.object {
|
|
1483
|
+
let pt = lookup(pointAnnotation) {
|
|
1192
1484
|
let position = pt.superview?.convert(pt.layer.position, to: nil)
|
|
1193
1485
|
var geojson = Feature(geometry: .point(Point(targetPoint)))
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
return
|
|
1204
|
-
}
|
|
1205
|
-
onDragStart(event.toJSON())
|
|
1206
|
-
case .changed:
|
|
1207
|
-
guard let onDrag = pt.onDrag else {
|
|
1208
|
-
return
|
|
1209
|
-
}
|
|
1210
|
-
onDrag(event.toJSON())
|
|
1486
|
+
geojson.identifier = .string(pt.id)
|
|
1487
|
+
geojson.properties = [
|
|
1488
|
+
"screenPointX": .number(Double(position!.x)),
|
|
1489
|
+
"screenPointY": .number(Double(position!.y))
|
|
1490
|
+
]
|
|
1491
|
+
let event = RNMBXEvent(type:.longPress, payload: logged("doHandleLongPress") { try geojson.toJSON() })
|
|
1492
|
+
switch (dragState) {
|
|
1493
|
+
case .began:
|
|
1494
|
+
guard let onDragStart = pt.onDragStart else {
|
|
1211
1495
|
return
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
onDragEnd(event.toJSON())
|
|
1496
|
+
}
|
|
1497
|
+
onDragStart(event.toJSON())
|
|
1498
|
+
case .changed:
|
|
1499
|
+
guard let onDrag = pt.onDrag else {
|
|
1217
1500
|
return
|
|
1218
|
-
|
|
1501
|
+
}
|
|
1502
|
+
onDrag(event.toJSON())
|
|
1503
|
+
return
|
|
1504
|
+
case .ended:
|
|
1505
|
+
guard let onDragEnd = pt.onDragEnd else {
|
|
1219
1506
|
return
|
|
1220
1507
|
}
|
|
1508
|
+
onDragEnd(event.toJSON())
|
|
1509
|
+
return
|
|
1510
|
+
default:
|
|
1511
|
+
return
|
|
1221
1512
|
}
|
|
1222
|
-
}
|
|
1223
1513
|
}
|
|
1224
1514
|
}
|
|
1225
1515
|
}
|
|
@@ -1254,7 +1544,7 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1254
1544
|
|
|
1255
1545
|
// Find if any `queriedFeatureIds` match an annotation's `id`
|
|
1256
1546
|
let draggedAnnotations = self.manager.annotations.filter { queriedFeatureIds.contains($0.id) }
|
|
1257
|
-
let enabledAnnotations = draggedAnnotations.filter { ($0
|
|
1547
|
+
let enabledAnnotations = draggedAnnotations.filter { self.lookup($0)?.draggable ?? false }
|
|
1258
1548
|
// If `tappedAnnotations` is not empty, call delegate
|
|
1259
1549
|
if !enabledAnnotations.isEmpty {
|
|
1260
1550
|
self.draggedAnnotation = enabledAnnotations.first!
|
|
@@ -1297,9 +1587,19 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1297
1587
|
manager.annotations.removeAll(where: {$0.id == annotation.id})
|
|
1298
1588
|
}
|
|
1299
1589
|
|
|
1300
|
-
|
|
1590
|
+
#if RNMBX_11
|
|
1591
|
+
var annotations = NSMapTable<NSString, RNMBXPointAnnotation>.init(
|
|
1592
|
+
keyOptions: .copyIn,
|
|
1593
|
+
valueOptions: .weakMemory
|
|
1594
|
+
)
|
|
1595
|
+
#endif
|
|
1596
|
+
|
|
1597
|
+
func add(_ annotation: PointAnnotation, _ rnmbxPointAnnotation: RNMBXPointAnnotation) {
|
|
1301
1598
|
manager.annotations.append(annotation)
|
|
1302
1599
|
manager.refresh()
|
|
1600
|
+
#if RNMBX_11
|
|
1601
|
+
annotations.setObject(rnmbxPointAnnotation, forKey: annotation.id as NSString)
|
|
1602
|
+
#endif
|
|
1303
1603
|
}
|
|
1304
1604
|
|
|
1305
1605
|
func update(_ annotation: PointAnnotation) {
|