@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
|
@@ -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
|
-
self.eventDispatcher = eventDispatcher
|
|
212
|
-
super.init(frame: frame, mapInitOptions: MapInitOptions())
|
|
213
|
-
#else
|
|
214
|
-
let resourceOptions = ResourceOptions(accessToken: RNMBXModule.accessToken!)
|
|
215
230
|
self.eventDispatcher = eventDispatcher
|
|
216
|
-
super.init(frame: frame
|
|
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,144 @@ 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 zoomEnabled
|
|
277
|
+
case scrollEnabled
|
|
278
|
+
case rotateEnabled
|
|
279
|
+
case pitchEnabled
|
|
280
|
+
case onMapChange
|
|
281
|
+
case styleURL
|
|
282
|
+
case gestureSettings
|
|
283
|
+
|
|
284
|
+
func apply(_ map: RNMBXMapView) -> Void {
|
|
285
|
+
switch self {
|
|
286
|
+
case .projection:
|
|
287
|
+
map.applyProjection()
|
|
288
|
+
case .localizeLabels:
|
|
289
|
+
map.applyLocalizeLabels()
|
|
290
|
+
case .attribution:
|
|
291
|
+
map.applyAttribution()
|
|
292
|
+
case .logo:
|
|
293
|
+
map.applyLogo()
|
|
294
|
+
case .compass:
|
|
295
|
+
map.applyCompass()
|
|
296
|
+
case .scaleBar:
|
|
297
|
+
map.applyScaleBar()
|
|
298
|
+
case .onLongPress:
|
|
299
|
+
map.applyOnLongPress()
|
|
300
|
+
case .onPress:
|
|
301
|
+
map.applyOnPress()
|
|
302
|
+
case .zoomEnabled:
|
|
303
|
+
map.applyZoomEnabled()
|
|
304
|
+
case .scrollEnabled:
|
|
305
|
+
map.applyScrollEnabled()
|
|
306
|
+
case .rotateEnabled:
|
|
307
|
+
map.applyRotateEnabled()
|
|
308
|
+
case .onMapChange:
|
|
309
|
+
map.applyOnMapChange()
|
|
310
|
+
case .styleURL:
|
|
311
|
+
map.applyStyleURL()
|
|
312
|
+
case .pitchEnabled:
|
|
313
|
+
map.applyPitchEnabled()
|
|
314
|
+
case .gestureSettings:
|
|
315
|
+
map.applyGestureSettings()
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
func changed(_ property: Property) {
|
|
321
|
+
changes.add(name: property.rawValue, update: property.apply)
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
func withMapView(callback: @escaping () -> Void) {
|
|
325
|
+
if _mapView != nil {
|
|
326
|
+
callback()
|
|
327
|
+
} else {
|
|
328
|
+
mapViewWaiters.append(callback)
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
var projection: StyleProjection?
|
|
333
|
+
|
|
255
334
|
@objc public func setReactProjection(_ value: String?) {
|
|
256
335
|
if let value = value {
|
|
257
|
-
|
|
258
|
-
|
|
336
|
+
projection = StyleProjection(name: value == "globe" ? .globe : .mercator)
|
|
337
|
+
} else {
|
|
338
|
+
projection = nil
|
|
339
|
+
}
|
|
340
|
+
changed(.projection)
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
func applyProjection() {
|
|
344
|
+
logged("RNMBXMapView.setReactProjection") {
|
|
345
|
+
if let projection = projection {
|
|
259
346
|
try self.mapboxMap.style.setProjection(projection)
|
|
260
347
|
}
|
|
261
348
|
}
|
|
262
349
|
}
|
|
263
|
-
|
|
350
|
+
|
|
351
|
+
var locale: (layerIds: [String]?, locale: Locale)? = nil
|
|
352
|
+
|
|
264
353
|
@objc public func setReactLocalizeLabels(_ value: NSDictionary?) {
|
|
354
|
+
if let value = value {
|
|
355
|
+
let localeString = value["locale"] as! String
|
|
356
|
+
let layerIds = value["layerIds"] as! [String]?
|
|
357
|
+
let locale = localeString == "current" ? Locale.current : Locale(identifier: localeString)
|
|
358
|
+
self.locale = (layerIds, locale)
|
|
359
|
+
}
|
|
360
|
+
changed(.localizeLabels)
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
func applyLocalizeLabels() {
|
|
265
364
|
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)
|
|
365
|
+
logged("RNMBXMapView.\(#function)") {
|
|
366
|
+
if let locale = self.locale {
|
|
367
|
+
try self.mapboxMap.style.localizeLabels(into: locale.locale, forLayerIds: locale.layerIds)
|
|
272
368
|
}
|
|
273
369
|
}
|
|
274
370
|
}
|
|
275
371
|
}
|
|
276
372
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
373
|
+
struct GestureSettings {
|
|
374
|
+
var doubleTapToZoomInEnabled: Bool? = nil;
|
|
375
|
+
var doubleTouchToZoomOutEnabled: Bool? = nil;
|
|
376
|
+
var pinchPanEnabled: Bool? = nil;
|
|
377
|
+
var pinchZoomEnabled: Bool? = nil;
|
|
378
|
+
var pitchEnabled: Bool? = nil;
|
|
379
|
+
var quickZoomEnabled: Bool? = nil;
|
|
380
|
+
var rotateEnabled: Bool? = nil;
|
|
381
|
+
var panEnabled: Bool? = nil;
|
|
382
|
+
var panDecelerationFactor: CGFloat? = nil;
|
|
383
|
+
#if RNMBX_11
|
|
384
|
+
var simultaneousRotateAndPinchZoomEnabled: Bool? = nil;
|
|
385
|
+
#endif
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
var gestureSettings = GestureSettings()
|
|
389
|
+
|
|
390
|
+
@objc
|
|
391
|
+
public func setReactGestureSettings(_ value: NSDictionary?) {
|
|
392
|
+
if let value = value {
|
|
393
|
+
var options = gestureSettings
|
|
280
394
|
if let doubleTapToZoomInEnabled = value["doubleTapToZoomInEnabled"] as? NSNumber {
|
|
281
395
|
options.doubleTapToZoomInEnabled = doubleTapToZoomInEnabled.boolValue
|
|
282
396
|
}
|
|
@@ -290,10 +404,10 @@ open class RNMBXMapView : MapView {
|
|
|
290
404
|
options.pinchZoomEnabled = pinchZoomEnabled.boolValue
|
|
291
405
|
}
|
|
292
406
|
/* android only
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
407
|
+
if let pinchZoomDecelerationEnabled = value["pinchZoomDecelerationEnabled"] as? NSNumber {
|
|
408
|
+
options.pinchZoomDecelerationEnabled = pinchZoomDecelerationEnabled.boolValue
|
|
409
|
+
}
|
|
410
|
+
*/
|
|
297
411
|
if let pitchEnabled = value["pitchEnabled"] as? NSNumber {
|
|
298
412
|
options.pitchEnabled = pitchEnabled.boolValue
|
|
299
413
|
}
|
|
@@ -304,76 +418,188 @@ open class RNMBXMapView : MapView {
|
|
|
304
418
|
options.rotateEnabled = rotateEnabled.boolValue
|
|
305
419
|
}
|
|
306
420
|
/* android only
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
421
|
+
if let rotateDecelerationEnabled = value["rotateDecelerationEnabled"] as? NSNumber {
|
|
422
|
+
options.rotateDecelerationEnabled = rotateDecelerationEnabled.boolValue
|
|
423
|
+
}*/
|
|
310
424
|
if let panEnabled = value["panEnabled"] as? NSNumber {
|
|
311
425
|
options.panEnabled = panEnabled.boolValue
|
|
312
426
|
}
|
|
313
427
|
if let panDecelerationFactor = value["panDecelerationFactor"] as? NSNumber {
|
|
314
428
|
options.panDecelerationFactor = panDecelerationFactor.CGFloat
|
|
315
429
|
}
|
|
316
|
-
|
|
430
|
+
#if RNMBX_11
|
|
317
431
|
if let simultaneousRotateAndPinchZoomEnabled = value["simultaneousRotateAndPinchZoomEnabled"] as? NSNumber {
|
|
318
432
|
options.simultaneousRotateAndPinchZoomEnabled = simultaneousRotateAndPinchZoomEnabled.boolValue
|
|
319
433
|
}
|
|
320
|
-
|
|
434
|
+
#endif
|
|
321
435
|
/* android only
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
436
|
+
if let zoomAnimationAmount = value["zoomAnimationAmount"] as? NSNumber {
|
|
437
|
+
options.zoomAnimationAmount = zoomAnimationAmount.CGFloat
|
|
438
|
+
}*/
|
|
439
|
+
gestureSettings = options
|
|
440
|
+
|
|
441
|
+
changed(.gestureSettings)
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
func applyGestureSettings() {
|
|
446
|
+
if let gestures = self.mapView?.gestures {
|
|
447
|
+
var options = gestures.options
|
|
448
|
+
let settings = gestureSettings
|
|
449
|
+
if let doubleTapToZoomInEnabled = settings.doubleTapToZoomInEnabled as? Bool {
|
|
450
|
+
options.doubleTapToZoomInEnabled = doubleTapToZoomInEnabled
|
|
451
|
+
}
|
|
452
|
+
if let doubleTouchToZoomOutEnabled = settings.doubleTouchToZoomOutEnabled as? Bool {
|
|
453
|
+
options.doubleTouchToZoomOutEnabled = doubleTouchToZoomOutEnabled
|
|
454
|
+
}
|
|
455
|
+
if let pinchPanEnabled = settings.pinchPanEnabled as? Bool {
|
|
456
|
+
options.pinchPanEnabled = pinchPanEnabled
|
|
457
|
+
}
|
|
458
|
+
if let pinchZoomEnabled = settings.pinchZoomEnabled as? Bool {
|
|
459
|
+
options.pinchZoomEnabled = pinchZoomEnabled
|
|
460
|
+
}
|
|
461
|
+
if let pitchEnabled = settings.pitchEnabled as? Bool {
|
|
462
|
+
options.pitchEnabled = pitchEnabled
|
|
463
|
+
}
|
|
464
|
+
if let quickZoomEnabled = settings.quickZoomEnabled as? Bool {
|
|
465
|
+
options.quickZoomEnabled = quickZoomEnabled
|
|
466
|
+
}
|
|
467
|
+
if let rotateEnabled = settings.rotateEnabled as? Bool {
|
|
468
|
+
options.rotateEnabled = rotateEnabled
|
|
469
|
+
}
|
|
470
|
+
/* android only
|
|
471
|
+
if let rotateDecelerationEnabled = value["rotateDecelerationEnabled"] as? NSNumber {
|
|
472
|
+
options.rotateDecelerationEnabled = rotateDecelerationEnabled.boolValue
|
|
473
|
+
}*/
|
|
474
|
+
if let panEnabled = settings.panEnabled as? Bool {
|
|
475
|
+
options.panEnabled = panEnabled
|
|
476
|
+
}
|
|
477
|
+
if let panDecelerationFactor = settings.panDecelerationFactor as? CGFloat {
|
|
478
|
+
options.panDecelerationFactor = panDecelerationFactor
|
|
479
|
+
}
|
|
480
|
+
#if RNMBX_11
|
|
481
|
+
if let simultaneousRotateAndPinchZoomEnabled = settings.simultaneousRotateAndPinchZoomEnabled as? Bool {
|
|
482
|
+
options.simultaneousRotateAndPinchZoomEnabled = simultaneousRotateAndPinchZoomEnabled
|
|
483
|
+
}
|
|
484
|
+
#endif
|
|
485
|
+
/* android only
|
|
486
|
+
if let zoomAnimationAmount = value["zoomAnimationAmount"] as? NSNumber {
|
|
487
|
+
options.zoomAnimationAmount = zoomAnimationAmount.CGFloat
|
|
488
|
+
}*/
|
|
325
489
|
if options != gestures.options {
|
|
326
490
|
gestures.options = options
|
|
327
491
|
}
|
|
328
492
|
}
|
|
329
493
|
}
|
|
330
494
|
|
|
495
|
+
var attributionEnabled: OrnamentVisibility? = nil
|
|
496
|
+
var attributionOptions: (position: OrnamentPosition, margins: CGPoint)? = nil
|
|
497
|
+
|
|
331
498
|
@objc public func setReactAttributionEnabled(_ value: Bool) {
|
|
332
|
-
|
|
499
|
+
attributionEnabled = value ? .visible : .hidden
|
|
500
|
+
changed(.attribution)
|
|
333
501
|
}
|
|
334
502
|
|
|
335
|
-
|
|
336
|
-
if let
|
|
337
|
-
mapView.ornaments.options.attributionButton.
|
|
338
|
-
|
|
503
|
+
func applyAttribution() {
|
|
504
|
+
if let visibility = attributionEnabled {
|
|
505
|
+
mapView.ornaments.options.attributionButton.visibility = visibility
|
|
506
|
+
}
|
|
507
|
+
if let options = attributionOptions {
|
|
508
|
+
mapView.ornaments.options.attributionButton.position = options.position
|
|
509
|
+
mapView.ornaments.options.attributionButton.margins = options.margins
|
|
339
510
|
}
|
|
340
511
|
}
|
|
341
512
|
|
|
513
|
+
@objc public func setReactAttributionPosition(_ position: [String: NSNumber]) {
|
|
514
|
+
attributionOptions = self.getOrnamentOptionsFromPosition(position)
|
|
515
|
+
changed(.attribution)
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
var logoEnabled: OrnamentVisibility? = nil
|
|
519
|
+
var logoOptions: (position: OrnamentPosition, margins: CGPoint)? = nil
|
|
520
|
+
|
|
342
521
|
@objc public func setReactLogoEnabled(_ value: Bool) {
|
|
343
|
-
|
|
522
|
+
logoEnabled = value ? .visible : .hidden
|
|
523
|
+
changed(.logo)
|
|
344
524
|
}
|
|
345
525
|
|
|
346
526
|
@objc public func setReactLogoPosition(_ position: [String: NSNumber]) {
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
527
|
+
logoOptions = self.getOrnamentOptionsFromPosition(position)
|
|
528
|
+
changed(.logo)
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
func applyLogo() {
|
|
532
|
+
if let visibility = logoEnabled {
|
|
533
|
+
mapView.ornaments.options.logo.visibility = visibility
|
|
534
|
+
}
|
|
535
|
+
if let options = logoOptions {
|
|
536
|
+
mapView.ornaments.options.logo.position = options.position
|
|
537
|
+
mapView.ornaments.options.logo.margins = options.margins
|
|
350
538
|
}
|
|
351
539
|
}
|
|
352
540
|
|
|
541
|
+
var compassEnabled: Bool = false
|
|
542
|
+
var compassPosition: OrnamentPosition? = nil
|
|
543
|
+
var compassMargins: CGPoint? = nil
|
|
544
|
+
var compassFadeWhenNorth: Bool = false
|
|
545
|
+
var compassImage: String?
|
|
546
|
+
|
|
353
547
|
@objc public func setReactCompassEnabled(_ value: Bool) {
|
|
354
548
|
compassEnabled = value
|
|
355
|
-
|
|
549
|
+
changed(.compass)
|
|
356
550
|
}
|
|
357
|
-
|
|
551
|
+
|
|
358
552
|
@objc public func setReactCompassFadeWhenNorth(_ value: Bool) {
|
|
359
553
|
compassFadeWhenNorth = value
|
|
360
|
-
|
|
554
|
+
changed(.compass)
|
|
361
555
|
}
|
|
362
556
|
|
|
363
|
-
|
|
557
|
+
@objc public func setReactCompassPosition(_ position: [String: NSNumber]) {
|
|
558
|
+
if let compassOptions = self.getOrnamentOptionsFromPosition(position) {
|
|
559
|
+
compassPosition = compassOptions.position
|
|
560
|
+
compassMargins = compassOptions.margins
|
|
561
|
+
changed(.compass)
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
@objc public func setReactCompassViewPosition(_ position: NSInteger) {
|
|
566
|
+
compassPosition = toOrnamentPositon(Int(truncating: NSNumber(value: position)))
|
|
567
|
+
changed(.compass)
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
@objc public func setReactCompassViewMargins(_ margins: CGPoint) {
|
|
571
|
+
compassMargins = margins
|
|
572
|
+
changed(.compass)
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
@objc public func setReactCompassImage(_ image: String) {
|
|
576
|
+
compassImage = image.isEmpty ? nil : image
|
|
577
|
+
changed(.compass)
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
func applyCompass() {
|
|
364
581
|
var visibility: OrnamentVisibility = .hidden
|
|
365
582
|
if compassEnabled {
|
|
366
583
|
visibility = compassFadeWhenNorth ? .adaptive : .visible
|
|
367
584
|
}
|
|
368
585
|
mapView.ornaments.options.compass.visibility = visibility
|
|
369
586
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
587
|
+
if let position = compassPosition {
|
|
588
|
+
mapView.ornaments.options.compass.position = position
|
|
589
|
+
}
|
|
590
|
+
if let margina = compassMargins {
|
|
591
|
+
mapView.ornaments.options.compass.margins = margina
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
if let compassImage = compassImage {
|
|
595
|
+
onMapStyleLoaded { map in
|
|
596
|
+
let img = map.style.image(withId: compassImage)
|
|
597
|
+
self.mapView.ornaments.options.compass.image = img
|
|
598
|
+
}
|
|
599
|
+
} else {
|
|
600
|
+
// Does not currently reset the image to the default.
|
|
601
|
+
// See https://github.com/mapbox/mapbox-maps-ios/issues/1673.
|
|
602
|
+
self.mapView.ornaments.options.compass.image = nil
|
|
377
603
|
}
|
|
378
604
|
}
|
|
379
605
|
|
|
@@ -399,61 +625,94 @@ open class RNMBXMapView : MapView {
|
|
|
399
625
|
return .topLeading
|
|
400
626
|
}
|
|
401
627
|
}
|
|
628
|
+
|
|
629
|
+
var scaleBarEnabled: Bool? = nil
|
|
630
|
+
var scaleBarPosition: OrnamentPosition? = nil
|
|
631
|
+
var scaleBarMargins: CGPoint? = nil
|
|
402
632
|
|
|
403
|
-
@objc public func
|
|
404
|
-
|
|
633
|
+
@objc public func setReactScaleBarEnabled(_ value: Bool) {
|
|
634
|
+
scaleBarEnabled = value
|
|
635
|
+
changed(.scaleBar)
|
|
405
636
|
}
|
|
406
637
|
|
|
407
|
-
@objc public func
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
compassImage = image.isEmpty ? nil : image
|
|
413
|
-
refreshCompassImage()
|
|
638
|
+
@objc public func setReactScaleBarPosition(_ position: [String: NSNumber]) {
|
|
639
|
+
if let ornamentOptions = self.getOrnamentOptionsFromPosition(position) {
|
|
640
|
+
scaleBarPosition = ornamentOptions.position
|
|
641
|
+
scaleBarMargins = ornamentOptions.margins
|
|
642
|
+
}
|
|
414
643
|
}
|
|
415
644
|
|
|
416
|
-
|
|
417
|
-
if let
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
self.mapView.ornaments.options.compass.image = nil
|
|
645
|
+
func applyScaleBar() {
|
|
646
|
+
if let enabled = scaleBarEnabled {
|
|
647
|
+
mapView.ornaments.options.scaleBar.visibility = enabled ? .visible : .hidden
|
|
648
|
+
}
|
|
649
|
+
if let position = scaleBarPosition {
|
|
650
|
+
mapView.ornaments.options.scaleBar.position = position
|
|
651
|
+
}
|
|
652
|
+
if let margins = scaleBarMargins {
|
|
653
|
+
mapView.ornaments.options.scaleBar.margins = margins
|
|
426
654
|
}
|
|
427
655
|
}
|
|
428
656
|
|
|
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
|
|
657
|
+
@objc override public func didSetProps(_ props: [String]) {
|
|
658
|
+
if (_mapView == nil) {
|
|
659
|
+
createMapView()
|
|
660
|
+
|
|
661
|
+
mapViewWaiters.forEach { $0() }
|
|
662
|
+
mapViewWaiters.removeAll()
|
|
437
663
|
}
|
|
664
|
+
changes.apply(self)
|
|
438
665
|
}
|
|
439
666
|
|
|
667
|
+
var zoomEnabled: Bool? = nil
|
|
440
668
|
@objc public func setReactZoomEnabled(_ value: Bool) {
|
|
441
|
-
self.
|
|
442
|
-
|
|
443
|
-
self.mapView.gestures.options.pinchZoomEnabled = value
|
|
669
|
+
self.zoomEnabled = value
|
|
670
|
+
changed(.zoomEnabled)
|
|
444
671
|
}
|
|
445
672
|
|
|
673
|
+
func applyZoomEnabled() {
|
|
674
|
+
if let value = zoomEnabled {
|
|
675
|
+
self.mapView.gestures.options.quickZoomEnabled = value
|
|
676
|
+
self.mapView.gestures.options.doubleTapToZoomInEnabled = value
|
|
677
|
+
self.mapView.gestures.options.pinchZoomEnabled = value
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
var scrollEnabled: Bool? = nil
|
|
446
682
|
@objc public func setReactScrollEnabled(_ value: Bool) {
|
|
447
|
-
self.
|
|
448
|
-
|
|
683
|
+
self.scrollEnabled = value
|
|
684
|
+
changed(.scrollEnabled)
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
func applyScrollEnabled() {
|
|
688
|
+
if let value = scrollEnabled {
|
|
689
|
+
self.mapView.gestures.options.panEnabled = value
|
|
690
|
+
self.mapView.gestures.options.pinchPanEnabled = value
|
|
691
|
+
}
|
|
449
692
|
}
|
|
450
693
|
|
|
694
|
+
var rotateEnabled: Bool? = nil
|
|
451
695
|
@objc public func setReactRotateEnabled(_ value: Bool) {
|
|
452
|
-
|
|
696
|
+
rotateEnabled = value
|
|
697
|
+
changed(.rotateEnabled)
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
func applyRotateEnabled() {
|
|
701
|
+
if let value = rotateEnabled {
|
|
702
|
+
self.mapView.gestures.options.rotateEnabled = value
|
|
703
|
+
}
|
|
453
704
|
}
|
|
454
705
|
|
|
706
|
+
|
|
707
|
+
var pitchEnabled: Bool? = nil
|
|
455
708
|
@objc public func setReactPitchEnabled(_ value: Bool) {
|
|
456
|
-
self.
|
|
709
|
+
self.pitchEnabled = value
|
|
710
|
+
changed(.pitchEnabled)
|
|
711
|
+
}
|
|
712
|
+
func applyPitchEnabled() {
|
|
713
|
+
if let value = pitchEnabled {
|
|
714
|
+
self.mapView.gestures.options.pitchEnabled = value
|
|
715
|
+
}
|
|
457
716
|
}
|
|
458
717
|
|
|
459
718
|
private func removeAllFeaturesFromMap(reason: RemovalReason) {
|
|
@@ -482,11 +741,17 @@ open class RNMBXMapView : MapView {
|
|
|
482
741
|
addFeaturesToMap(style: style)
|
|
483
742
|
}
|
|
484
743
|
|
|
744
|
+
var reactStyleURL: String? = nil
|
|
485
745
|
@objc public func setReactStyleURL(_ value: String?) {
|
|
746
|
+
self.reactStyleURL = value
|
|
747
|
+
changed(.styleURL)
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
public func applyStyleURL() {
|
|
486
751
|
var initialLoad = !self.styleLoaded
|
|
487
752
|
if !initialLoad { refreshComponentsBeforeStyleChange() }
|
|
488
753
|
self.styleLoaded = false
|
|
489
|
-
if let value =
|
|
754
|
+
if let value = reactStyleURL {
|
|
490
755
|
if let _ = URL(string: value) {
|
|
491
756
|
if let styleURI = StyleURI(rawValue: value) {
|
|
492
757
|
mapView.mapboxMap.loadStyleURI(styleURI)
|
|
@@ -582,7 +847,10 @@ extension RNMBXMapView {
|
|
|
582
847
|
|
|
583
848
|
@objc public func setReactOnMapChange(_ value: @escaping RCTBubblingEventBlock) {
|
|
584
849
|
self.reactOnMapChange = value
|
|
850
|
+
changed(.onMapChange)
|
|
851
|
+
}
|
|
585
852
|
|
|
853
|
+
func applyOnMapChange() {
|
|
586
854
|
self.onEvery(event: .cameraChanged, handler: { (self, cameraEvent) in
|
|
587
855
|
self.wasGestureActive = self.isGestureActive
|
|
588
856
|
if self.handleMapChangedEvents.contains(.regionIsChanging) {
|
|
@@ -620,7 +888,7 @@ extension RNMBXMapView {
|
|
|
620
888
|
}
|
|
621
889
|
|
|
622
890
|
private func buildStateObject() -> [String: Any] {
|
|
623
|
-
let cameraOptions = CameraOptions(cameraState: cameraState)
|
|
891
|
+
let cameraOptions = CameraOptions(cameraState: mapView.cameraState)
|
|
624
892
|
let bounds = mapView.mapboxMap.coordinateBounds(for: cameraOptions)
|
|
625
893
|
|
|
626
894
|
return [
|
|
@@ -646,7 +914,7 @@ extension RNMBXMapView {
|
|
|
646
914
|
}
|
|
647
915
|
|
|
648
916
|
private func buildRegionObject() -> [String: Any] {
|
|
649
|
-
let cameraOptions = CameraOptions(cameraState: cameraState)
|
|
917
|
+
let cameraOptions = CameraOptions(cameraState: mapView.cameraState)
|
|
650
918
|
let bounds = mapView.mapboxMap.coordinateBounds(for: cameraOptions)
|
|
651
919
|
let boundsArray : JSONArray = [
|
|
652
920
|
[.number(bounds.northeast.longitude),.number(bounds.northeast.latitude)],
|
|
@@ -805,7 +1073,10 @@ extension RNMBXMapView {
|
|
|
805
1073
|
|
|
806
1074
|
@objc public func setReactOnPress(_ value: @escaping RCTBubblingEventBlock) {
|
|
807
1075
|
self.reactOnPress = value
|
|
808
|
-
|
|
1076
|
+
changed(.onPress)
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
func applyOnPress() {
|
|
809
1080
|
let singleTapGestureRecognizer = self.mapView.gestures.singleTapGestureRecognizer
|
|
810
1081
|
|
|
811
1082
|
singleTapGestureRecognizer.removeTarget(pointAnnotationManager.manager, action: nil)
|
|
@@ -817,9 +1088,14 @@ extension RNMBXMapView {
|
|
|
817
1088
|
|
|
818
1089
|
@objc public func setReactOnLongPress(_ value: @escaping RCTBubblingEventBlock) {
|
|
819
1090
|
self.reactOnLongPress = value
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
1091
|
+
changed(.onLongPress)
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
func applyOnLongPress() {
|
|
1095
|
+
if (reactOnLongPress != nil) {
|
|
1096
|
+
let longPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(doHandleLongPress(_:)))
|
|
1097
|
+
self.mapView.addGestureRecognizer(longPressGestureRecognizer)
|
|
1098
|
+
}
|
|
823
1099
|
}
|
|
824
1100
|
}
|
|
825
1101
|
|
|
@@ -896,11 +1172,29 @@ extension RNMBXMapView: GestureManagerDelegate {
|
|
|
896
1172
|
return orderedLayers.lazy.reversed().compactMap { layersToSource[$0.id] }.first ?? sources.first
|
|
897
1173
|
}
|
|
898
1174
|
|
|
1175
|
+
|
|
1176
|
+
|
|
1177
|
+
func _tapEvent(_ tapPoint: CGPoint) -> RNMBXEvent {
|
|
1178
|
+
let location = self.mapboxMap.coordinate(for: tapPoint)
|
|
1179
|
+
var geojson = Feature(geometry: .point(Point(location)));
|
|
1180
|
+
geojson.properties = [
|
|
1181
|
+
"screenPointX": .number(Double(tapPoint.x)),
|
|
1182
|
+
"screenPointY": .number(Double(tapPoint.y))
|
|
1183
|
+
]
|
|
1184
|
+
let event = RNMBXEvent(type:.tap, payload: logged("reactOnPress") { try geojson.toJSON() })
|
|
1185
|
+
return event
|
|
1186
|
+
}
|
|
1187
|
+
|
|
899
1188
|
@objc
|
|
900
1189
|
func doHandleTap(_ sender: UITapGestureRecognizer) {
|
|
901
1190
|
let tapPoint = sender.location(in: self)
|
|
902
1191
|
pointAnnotationManager.handleTap(sender) { (_: UITapGestureRecognizer) in
|
|
903
1192
|
DispatchQueue.main.async {
|
|
1193
|
+
if (self.deselectAnnotationOnTap) {
|
|
1194
|
+
if (self.pointAnnotationManager.deselectCurrentlySelected(deselectAnnotationOnTap: true)) {
|
|
1195
|
+
return
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
904
1198
|
let touchableSources = self.touchableSources()
|
|
905
1199
|
self.doHandleTapInSources(sources: touchableSources, tapPoint: tapPoint, hits: [:], touchedSources: []) { (hits, touchedSources) in
|
|
906
1200
|
|
|
@@ -932,14 +1226,7 @@ extension RNMBXMapView: GestureManagerDelegate {
|
|
|
932
1226
|
|
|
933
1227
|
} else {
|
|
934
1228
|
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)
|
|
1229
|
+
self.fireEvent(event: self._tapEvent(tapPoint), callback: reactOnPress)
|
|
943
1230
|
}
|
|
944
1231
|
}
|
|
945
1232
|
}
|
|
@@ -1079,7 +1366,7 @@ extension RNMBXMapView {
|
|
|
1079
1366
|
}
|
|
1080
1367
|
}
|
|
1081
1368
|
|
|
1082
|
-
class
|
|
1369
|
+
class RNMBXPointAnnotationManager : AnnotationInteractionDelegate {
|
|
1083
1370
|
weak var selected : RNMBXPointAnnotation? = nil
|
|
1084
1371
|
private var draggedAnnotation: PointAnnotation?
|
|
1085
1372
|
|
|
@@ -1087,6 +1374,50 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1087
1374
|
// We handle taps ourselfs
|
|
1088
1375
|
// onTap(annotations: annotations)
|
|
1089
1376
|
}
|
|
1377
|
+
|
|
1378
|
+
func deselectCurrentlySelected(deselectAnnotationOnTap: Bool = false) -> Bool {
|
|
1379
|
+
if let selected = selected {
|
|
1380
|
+
selected.doDeselect(deselectAnnotationOnMapTap: deselectAnnotationOnTap)
|
|
1381
|
+
self.selected = nil
|
|
1382
|
+
return true
|
|
1383
|
+
}
|
|
1384
|
+
return false
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
func onAnnotationClick(pointAnnotation: RNMBXPointAnnotation) {
|
|
1388
|
+
let oldSelected = selected
|
|
1389
|
+
var newSelected: RNMBXPointAnnotation? = pointAnnotation
|
|
1390
|
+
|
|
1391
|
+
if (newSelected == oldSelected) {
|
|
1392
|
+
newSelected = nil
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
deselectCurrentlySelected()
|
|
1396
|
+
|
|
1397
|
+
if let newSelected = newSelected {
|
|
1398
|
+
newSelected.doSelect()
|
|
1399
|
+
selected = newSelected
|
|
1400
|
+
}
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
func lookup(_ annotation: PointAnnotation) -> RNMBXPointAnnotation? {
|
|
1404
|
+
guard let userInfo = annotation.userInfo else {
|
|
1405
|
+
return nil
|
|
1406
|
+
}
|
|
1407
|
+
if let rnmbxPointAnnotationWeakRef = userInfo[RNMBXPointAnnotation.key] as? WeakRef<RNMBXPointAnnotation> {
|
|
1408
|
+
if let rnmbxPointAnnotation = rnmbxPointAnnotationWeakRef.object {
|
|
1409
|
+
return rnmbxPointAnnotation
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
#if RNMBX_11
|
|
1413
|
+
// see https://github.com/rnmapbox/maps/issues/3121
|
|
1414
|
+
if let rnmbxPointAnnotation = annotations.object(forKey: annotation.id as NSString) {
|
|
1415
|
+
return rnmbxPointAnnotation;
|
|
1416
|
+
}
|
|
1417
|
+
#endif
|
|
1418
|
+
return nil
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1090
1421
|
|
|
1091
1422
|
func onTap(annotations: [Annotation]) {
|
|
1092
1423
|
guard annotations.count > 0 else {
|
|
@@ -1094,34 +1425,9 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1094
1425
|
}
|
|
1095
1426
|
|
|
1096
1427
|
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
|
-
}
|
|
1428
|
+
if let annotation = annotation as? PointAnnotation {
|
|
1429
|
+
if let pointAnnotation = lookup(annotation) {
|
|
1430
|
+
onAnnotationClick(pointAnnotation: pointAnnotation)
|
|
1125
1431
|
}
|
|
1126
1432
|
}
|
|
1127
1433
|
}
|
|
@@ -1185,41 +1491,36 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1185
1491
|
|
|
1186
1492
|
for annotation in annotations {
|
|
1187
1493
|
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 {
|
|
1494
|
+
let pt = lookup(pointAnnotation) {
|
|
1192
1495
|
let position = pt.superview?.convert(pt.layer.position, to: nil)
|
|
1193
1496
|
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())
|
|
1497
|
+
geojson.identifier = .string(pt.id)
|
|
1498
|
+
geojson.properties = [
|
|
1499
|
+
"screenPointX": .number(Double(position!.x)),
|
|
1500
|
+
"screenPointY": .number(Double(position!.y))
|
|
1501
|
+
]
|
|
1502
|
+
let event = RNMBXEvent(type:.longPress, payload: logged("doHandleLongPress") { try geojson.toJSON() })
|
|
1503
|
+
switch (dragState) {
|
|
1504
|
+
case .began:
|
|
1505
|
+
guard let onDragStart = pt.onDragStart else {
|
|
1211
1506
|
return
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
onDragEnd(event.toJSON())
|
|
1507
|
+
}
|
|
1508
|
+
onDragStart(event.toJSON())
|
|
1509
|
+
case .changed:
|
|
1510
|
+
guard let onDrag = pt.onDrag else {
|
|
1217
1511
|
return
|
|
1218
|
-
|
|
1512
|
+
}
|
|
1513
|
+
onDrag(event.toJSON())
|
|
1514
|
+
return
|
|
1515
|
+
case .ended:
|
|
1516
|
+
guard let onDragEnd = pt.onDragEnd else {
|
|
1219
1517
|
return
|
|
1220
1518
|
}
|
|
1519
|
+
onDragEnd(event.toJSON())
|
|
1520
|
+
return
|
|
1521
|
+
default:
|
|
1522
|
+
return
|
|
1221
1523
|
}
|
|
1222
|
-
}
|
|
1223
1524
|
}
|
|
1224
1525
|
}
|
|
1225
1526
|
}
|
|
@@ -1254,7 +1555,7 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1254
1555
|
|
|
1255
1556
|
// Find if any `queriedFeatureIds` match an annotation's `id`
|
|
1256
1557
|
let draggedAnnotations = self.manager.annotations.filter { queriedFeatureIds.contains($0.id) }
|
|
1257
|
-
let enabledAnnotations = draggedAnnotations.filter { ($0
|
|
1558
|
+
let enabledAnnotations = draggedAnnotations.filter { self.lookup($0)?.draggable ?? false }
|
|
1258
1559
|
// If `tappedAnnotations` is not empty, call delegate
|
|
1259
1560
|
if !enabledAnnotations.isEmpty {
|
|
1260
1561
|
self.draggedAnnotation = enabledAnnotations.first!
|
|
@@ -1297,9 +1598,19 @@ class PointAnnotationManager : AnnotationInteractionDelegate {
|
|
|
1297
1598
|
manager.annotations.removeAll(where: {$0.id == annotation.id})
|
|
1298
1599
|
}
|
|
1299
1600
|
|
|
1300
|
-
|
|
1601
|
+
#if RNMBX_11
|
|
1602
|
+
var annotations = NSMapTable<NSString, RNMBXPointAnnotation>.init(
|
|
1603
|
+
keyOptions: .copyIn,
|
|
1604
|
+
valueOptions: .weakMemory
|
|
1605
|
+
)
|
|
1606
|
+
#endif
|
|
1607
|
+
|
|
1608
|
+
func add(_ annotation: PointAnnotation, _ rnmbxPointAnnotation: RNMBXPointAnnotation) {
|
|
1301
1609
|
manager.annotations.append(annotation)
|
|
1302
1610
|
manager.refresh()
|
|
1611
|
+
#if RNMBX_11
|
|
1612
|
+
annotations.setObject(rnmbxPointAnnotation, forKey: annotation.id as NSString)
|
|
1613
|
+
#endif
|
|
1303
1614
|
}
|
|
1304
1615
|
|
|
1305
1616
|
func update(_ annotation: PointAnnotation) {
|