@rnmapbox/maps 10.1.0-beta.20 → 10.1.0-beta.21
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/android/build.gradle +1 -1
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +27 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt +6 -5
- 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 +2 -1
- 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/old-arch/com/rnmapbox/rnmbx/NativeMapViewModuleSpec.java +1 -2
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXImageModuleSpec.java +1 -2
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXMovePointShapeAnimatorModuleSpec.java +43 -0
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXPointAnnotationModuleSpec.java +1 -2
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXShapeSourceModuleSpec.java +1 -2
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXViewportModuleSpec.java +1 -2
- package/ios/RNMBX/RNMBXMapView.swift +74 -3
- package/ios/RNMBX/RNMBXMarkerViewComponentView.mm +1 -0
- package/ios/RNMBX/RNMBXShapeSource.swift +54 -15
- package/ios/RNMBX/RNMBXViewportComponentView.mm +1 -1
- 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/lib/commonjs/Mapbox.js +10 -0
- package/lib/commonjs/Mapbox.js.map +1 -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.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.map +1 -1
- package/lib/commonjs/components/CustomLocationProvider.js.map +1 -1
- package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
- package/lib/commonjs/components/FillLayer.js.map +1 -1
- package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
- 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.map +1 -1
- package/lib/commonjs/components/MapView.js +0 -8
- package/lib/commonjs/components/MapView.js.map +1 -1
- package/lib/commonjs/components/MarkerView.js.map +1 -1
- package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
- package/lib/commonjs/components/NativeUserLocation.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.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.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.map +1 -1
- package/lib/commonjs/components/Terrain.js.map +1 -1
- package/lib/commonjs/components/UserLocation.js.map +1 -1
- package/lib/commonjs/components/VectorSource.js.map +1 -1
- package/lib/commonjs/components/Viewport.js.map +1 -1
- 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/offlineManager.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
- 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.map +1 -1
- package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
- 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.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.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.map +1 -1
- package/lib/commonjs/specs/codegenUtils.js.map +1 -1
- 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.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.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 +8 -0
- package/lib/module/Mapbox.js.map +1 -1
- 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.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.map +1 -1
- package/lib/module/components/CustomLocationProvider.js.map +1 -1
- package/lib/module/components/FillExtrusionLayer.js.map +1 -1
- package/lib/module/components/FillLayer.js.map +1 -1
- package/lib/module/components/HeadingIndicator.js.map +1 -1
- 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.map +1 -1
- package/lib/module/components/MapView.js +0 -8
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/MarkerView.js.map +1 -1
- package/lib/module/components/NativeBridgeComponent.js.map +1 -1
- package/lib/module/components/NativeUserLocation.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.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.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.map +1 -1
- package/lib/module/components/Terrain.js.map +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.map +1 -1
- 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/offlineManager.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
- 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.map +1 -1
- package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
- 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.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.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.map +1 -1
- package/lib/module/specs/codegenUtils.js.map +1 -1
- 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.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.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 +5 -0
- package/lib/typescript/src/Mapbox.d.ts.map +1 -1
- package/lib/typescript/src/components/MapView.d.ts +0 -5
- package/lib/typescript/src/components/MapView.d.ts.map +1 -1
- 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 +0 -1
- package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts.map +1 -1
- package/lib/typescript/src/specs/codegenUtils.d.ts +0 -1
- package/lib/typescript/src/specs/codegenUtils.d.ts.map +1 -1
- package/package.json +7 -8
- package/rnmapbox-maps.podspec +13 -2
- package/setup-jest.js +5 -0
- package/src/Mapbox.ts +9 -0
- package/src/components/MapView.tsx +0 -8
- package/src/shape_animators/MovePointShapeAnimator.ts +18 -0
- package/src/shape_animators/ShapeAnimatorManager.tsx +8 -0
- package/src/specs/NativeRNMBXMovePointShapeAnimatorModule.ts +16 -0
package/android/build.gradle
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
1
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.rnmapbox.rnmbx">
|
|
2
2
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
3
3
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
|
4
4
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
|
@@ -46,6 +46,8 @@ import com.rnmapbox.rnmbx.modules.RNMBXLogging
|
|
|
46
46
|
import com.rnmapbox.rnmbx.modules.RNMBXModule
|
|
47
47
|
import com.rnmapbox.rnmbx.modules.RNMBXOfflineModule
|
|
48
48
|
import com.rnmapbox.rnmbx.modules.RNMBXSnapshotModule
|
|
49
|
+
import com.rnmapbox.rnmbx.shape_animators.RNMBXMovePointShapeAnimatorModule
|
|
50
|
+
import com.rnmapbox.rnmbx.shape_animators.ShapeAnimatorManager
|
|
49
51
|
import com.rnmapbox.rnmbx.utils.ViewTagResolver
|
|
50
52
|
|
|
51
53
|
class RNMBXPackage : TurboReactPackage() {
|
|
@@ -61,6 +63,17 @@ class RNMBXPackage : TurboReactPackage() {
|
|
|
61
63
|
return viewTagResolver
|
|
62
64
|
}
|
|
63
65
|
|
|
66
|
+
var shapeAnimators: ShapeAnimatorManager? = null
|
|
67
|
+
fun getShapeAnimators(module: String): ShapeAnimatorManager {
|
|
68
|
+
val shapeAnimators = shapeAnimators
|
|
69
|
+
if (shapeAnimators == null) {
|
|
70
|
+
val result = ShapeAnimatorManager()
|
|
71
|
+
this.shapeAnimators = result
|
|
72
|
+
return result
|
|
73
|
+
}
|
|
74
|
+
return shapeAnimators
|
|
75
|
+
}
|
|
76
|
+
|
|
64
77
|
fun resetViewTagResolver() {
|
|
65
78
|
viewTagResolver = null
|
|
66
79
|
}
|
|
@@ -80,6 +93,7 @@ class RNMBXPackage : TurboReactPackage() {
|
|
|
80
93
|
RNMBXShapeSourceModule.NAME -> return RNMBXShapeSourceModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
|
|
81
94
|
RNMBXImageModule.NAME -> return RNMBXImageModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
|
|
82
95
|
RNMBXPointAnnotationModule.NAME -> return RNMBXPointAnnotationModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
|
|
96
|
+
RNMBXMovePointShapeAnimatorModule.NAME -> return RNMBXMovePointShapeAnimatorModule(reactApplicationContext, getShapeAnimators(s))
|
|
83
97
|
}
|
|
84
98
|
return null
|
|
85
99
|
}
|
|
@@ -107,7 +121,10 @@ class RNMBXPackage : TurboReactPackage() {
|
|
|
107
121
|
|
|
108
122
|
// sources
|
|
109
123
|
managers.add(RNMBXVectorSourceManager(reactApplicationContext))
|
|
110
|
-
managers.add(RNMBXShapeSourceManager(reactApplicationContext,
|
|
124
|
+
managers.add(RNMBXShapeSourceManager(reactApplicationContext,
|
|
125
|
+
getViewTagResolver(reactApplicationContext, "RNMBXShapeSourceManager"),
|
|
126
|
+
getShapeAnimators("RNMBXShapeSourceManager")
|
|
127
|
+
))
|
|
111
128
|
managers.add(RNMBXRasterDemSourceManager(reactApplicationContext))
|
|
112
129
|
managers.add(RNMBXRasterSourceManager(reactApplicationContext))
|
|
113
130
|
managers.add(RNMBXImageSourceManager())
|
|
@@ -227,6 +244,15 @@ class RNMBXPackage : TurboReactPackage() {
|
|
|
227
244
|
false, // isCxxModule
|
|
228
245
|
isTurboModule // isTurboModule
|
|
229
246
|
)
|
|
247
|
+
moduleInfos[RNMBXMovePointShapeAnimatorModule.NAME] = ReactModuleInfo(
|
|
248
|
+
RNMBXMovePointShapeAnimatorModule.NAME,
|
|
249
|
+
RNMBXMovePointShapeAnimatorModule.NAME,
|
|
250
|
+
false,
|
|
251
|
+
false,
|
|
252
|
+
false,
|
|
253
|
+
false,
|
|
254
|
+
isTurboModule
|
|
255
|
+
)
|
|
230
256
|
moduleInfos
|
|
231
257
|
}
|
|
232
258
|
}
|
package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt
CHANGED
|
@@ -15,6 +15,7 @@ import com.mapbox.maps.MapboxMap
|
|
|
15
15
|
import com.mapbox.maps.Style
|
|
16
16
|
import com.mapbox.maps.plugin.LocationPuck2D
|
|
17
17
|
import com.mapbox.maps.plugin.locationcomponent.location
|
|
18
|
+
import com.mapbox.maps.plugin.locationcomponent.R as LR
|
|
18
19
|
import com.rnmapbox.rnmbx.R
|
|
19
20
|
import com.rnmapbox.rnmbx.components.AbstractMapFeature
|
|
20
21
|
import com.rnmapbox.rnmbx.components.RemovalReason
|
|
@@ -234,19 +235,19 @@ fun makeDefaultLocationPuck2D(context: Context, renderMode: RenderMode): Locatio
|
|
|
234
235
|
return LocationPuck2D(
|
|
235
236
|
topImage = AppCompatResourcesV11.getDrawableImageHolder(
|
|
236
237
|
context,
|
|
237
|
-
|
|
238
|
+
LR.drawable.mapbox_user_icon
|
|
238
239
|
),
|
|
239
240
|
bearingImage = AppCompatResourcesV11.getDrawableImageHolder(
|
|
240
241
|
context,
|
|
241
242
|
when (renderMode) {
|
|
242
|
-
RenderMode.GPS ->
|
|
243
|
-
RenderMode.COMPASS ->
|
|
244
|
-
RenderMode.NORMAL ->
|
|
243
|
+
RenderMode.GPS -> LR.drawable.mapbox_user_bearing_icon
|
|
244
|
+
RenderMode.COMPASS -> LR.drawable.mapbox_user_puck_icon
|
|
245
|
+
RenderMode.NORMAL -> LR.drawable.mapbox_user_stroke_icon
|
|
245
246
|
}
|
|
246
247
|
),
|
|
247
248
|
shadowImage = AppCompatResourcesV11.getDrawableImageHolder(
|
|
248
249
|
context,
|
|
249
|
-
|
|
250
|
+
LR.drawable.mapbox_user_icon_shadow
|
|
250
251
|
)
|
|
251
252
|
);
|
|
252
253
|
}
|
package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSource.kt
CHANGED
|
@@ -14,8 +14,13 @@ import com.mapbox.bindgen.Value
|
|
|
14
14
|
import com.mapbox.geojson.Feature
|
|
15
15
|
import com.rnmapbox.rnmbx.events.AndroidCallbackEvent
|
|
16
16
|
import com.mapbox.geojson.FeatureCollection
|
|
17
|
+
import com.mapbox.geojson.GeoJson
|
|
18
|
+
import com.mapbox.geojson.Geometry
|
|
17
19
|
import com.mapbox.maps.*
|
|
18
20
|
import com.mapbox.maps.extension.style.expressions.generated.Expression
|
|
21
|
+
import com.rnmapbox.rnmbx.shape_animators.ShapeAnimationConsumer
|
|
22
|
+
import com.rnmapbox.rnmbx.shape_animators.ShapeAnimator
|
|
23
|
+
import com.rnmapbox.rnmbx.shape_animators.ShapeAnimatorManager
|
|
19
24
|
import com.rnmapbox.rnmbx.utils.Logger
|
|
20
25
|
import java.net.URL
|
|
21
26
|
import java.util.ArrayList
|
|
@@ -24,9 +29,10 @@ import java.util.HashMap
|
|
|
24
29
|
import com.rnmapbox.rnmbx.v11compat.feature.*
|
|
25
30
|
|
|
26
31
|
class RNMBXShapeSource(context: Context, private val mManager: RNMBXShapeSourceManager) :
|
|
27
|
-
RNMBXSource<GeoJsonSource>(context) {
|
|
32
|
+
RNMBXSource<GeoJsonSource>(context), ShapeAnimationConsumer {
|
|
28
33
|
private var mURL: URL? = null
|
|
29
34
|
private var mShape: String? = null
|
|
35
|
+
private var mShapeAnimator: ShapeAnimator? = null
|
|
30
36
|
private var mCluster: Boolean? = null
|
|
31
37
|
private var mClusterRadius: Long? = null
|
|
32
38
|
private var mClusterMaxZoom: Long? = null
|
|
@@ -70,11 +76,55 @@ class RNMBXShapeSource(context: Context, private val mManager: RNMBXShapeSourceM
|
|
|
70
76
|
}
|
|
71
77
|
|
|
72
78
|
fun setShape(geoJSONStr: String) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
mShapeAnimator?.unsubscribe(this)
|
|
80
|
+
mShapeAnimator = null
|
|
81
|
+
|
|
82
|
+
val shapeAnimatorManager = mManager.shapeAnimatorManager
|
|
83
|
+
if (shapeAnimatorManager.isShapeAnimatorTag(geoJSONStr)) {
|
|
84
|
+
shapeAnimatorManager.get(geoJSONStr)?.let { shapeAnimator ->
|
|
85
|
+
mShapeAnimator = shapeAnimator
|
|
86
|
+
shapeAnimator.subscribe(this)
|
|
87
|
+
|
|
88
|
+
shapeUpdated(shapeAnimator.getShape())
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
mShape = geoJSONStr
|
|
92
|
+
if (mSource != null && mMapView != null && !mMapView!!.isDestroyed) {
|
|
93
|
+
mSource!!.data(mShape!!)
|
|
94
|
+
val result = mMap!!.getStyle()!!
|
|
95
|
+
.setStyleSourceProperty(iD!!, "data", Value.valueOf(mShape!!))
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
private fun toGeoJSONSourceData(geoJson: GeoJson): GeoJSONSourceData? {
|
|
101
|
+
return when (geoJson) {
|
|
102
|
+
is Geometry ->
|
|
103
|
+
GeoJSONSourceData(geoJson)
|
|
104
|
+
is Feature ->
|
|
105
|
+
GeoJSONSourceData(geoJson)
|
|
106
|
+
is FeatureCollection ->
|
|
107
|
+
GeoJSONSourceData(geoJson.features() ?: listOf())
|
|
108
|
+
else -> {
|
|
109
|
+
Logger.e(
|
|
110
|
+
LOG_TAG,
|
|
111
|
+
"Cannot convert shape to GeoJSONSourceData, neitthe Geometry, nor Feature or FeatureCollection: $geoJson"
|
|
112
|
+
);
|
|
113
|
+
return null
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
override fun shapeUpdated(geoJson: GeoJson) {
|
|
118
|
+
mSource?.also {
|
|
119
|
+
if (mSource != null && mMapView != null && !mMapView!!.isDestroyed) {
|
|
120
|
+
toGeoJSONSourceData(geoJson)?.let {
|
|
121
|
+
mMap?.getStyle()?.setStyleGeoJSONSourceData(iD!!,
|
|
122
|
+
"animated-shape",
|
|
123
|
+
it)
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
} ?: run {
|
|
127
|
+
mShape = geoJson.toJson()
|
|
78
128
|
}
|
|
79
129
|
}
|
|
80
130
|
|
|
@@ -13,6 +13,7 @@ import com.mapbox.bindgen.Value
|
|
|
13
13
|
import com.mapbox.maps.extension.style.expressions.generated.Expression
|
|
14
14
|
import com.rnmapbox.rnmbx.events.constants.EventKeys
|
|
15
15
|
import com.rnmapbox.rnmbx.events.constants.eventMapOf
|
|
16
|
+
import com.rnmapbox.rnmbx.shape_animators.ShapeAnimatorManager
|
|
16
17
|
import com.rnmapbox.rnmbx.utils.ExpressionParser
|
|
17
18
|
import com.rnmapbox.rnmbx.utils.Logger
|
|
18
19
|
import com.rnmapbox.rnmbx.utils.ViewTagResolver
|
|
@@ -22,7 +23,7 @@ import java.util.ArrayList
|
|
|
22
23
|
import java.util.HashMap
|
|
23
24
|
|
|
24
25
|
|
|
25
|
-
class RNMBXShapeSourceManager(private val mContext: ReactApplicationContext, val viewTagResolver: ViewTagResolver) :
|
|
26
|
+
class RNMBXShapeSourceManager(private val mContext: ReactApplicationContext, val viewTagResolver: ViewTagResolver, val shapeAnimatorManager: ShapeAnimatorManager) :
|
|
26
27
|
AbstractEventEmitter<RNMBXShapeSource>(
|
|
27
28
|
mContext
|
|
28
29
|
), RNMBXShapeSourceManagerInterface<RNMBXShapeSource> {
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.shape_animators
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.ReadableArray
|
|
4
|
+
import com.rnmapbox.rnmbx.NativeRNMBXMovePointShapeAnimatorModuleSpec
|
|
5
|
+
import com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotation
|
|
6
|
+
|
|
7
|
+
import com.facebook.react.bridge.Promise
|
|
8
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
9
|
+
import com.facebook.react.bridge.ReactMethod
|
|
10
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
11
|
+
import com.google.gson.JsonObject
|
|
12
|
+
import com.mapbox.geojson.GeoJson
|
|
13
|
+
import com.mapbox.geojson.Point
|
|
14
|
+
import com.rnmapbox.rnmbx.NativeRNMBXPointAnnotationModuleSpec
|
|
15
|
+
import com.rnmapbox.rnmbx.utils.Logger
|
|
16
|
+
import com.rnmapbox.rnmbx.utils.ViewTagResolver
|
|
17
|
+
import org.json.JSONObject
|
|
18
|
+
import java.util.Date
|
|
19
|
+
import java.util.Timer
|
|
20
|
+
import java.util.TimerTask
|
|
21
|
+
import kotlin.time.Duration
|
|
22
|
+
import kotlin.time.Duration.Companion.milliseconds
|
|
23
|
+
import kotlin.time.DurationUnit
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/// Simple dummy animator that moves the point lng, lat by 0.01, 0.01 each second.
|
|
27
|
+
class MovePointShapeAnimator(tag: Tag, val lng: Double, val lat: Double) : ShapeAnimatorCommon(tag) {
|
|
28
|
+
override fun getAnimatedShape(timeSinceStart: Duration): Pair<GeoJson, Boolean> {
|
|
29
|
+
return Pair(Point.fromLngLat(lng + timeSinceStart.toDouble(DurationUnit.SECONDS) * 0.01, lat + timeSinceStart.toDouble(DurationUnit.SECONDS) * 0.01), true);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@ReactModule(name = RNMBXMovePointShapeAnimatorModule.NAME)
|
|
35
|
+
class RNMBXMovePointShapeAnimatorModule(reactContext: ReactApplicationContext?, val shapeAnimatorManager: ShapeAnimatorManager) :
|
|
36
|
+
NativeRNMBXMovePointShapeAnimatorModuleSpec(reactContext) {
|
|
37
|
+
|
|
38
|
+
companion object {
|
|
39
|
+
const val LOG_TAG = "RNMBXMovePointShapeAnimatorModule"
|
|
40
|
+
const val NAME = "RNMBXMovePointShapeAnimatorModule"
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@ReactMethod
|
|
44
|
+
override fun start(tag: Double, promise: Promise?) {
|
|
45
|
+
shapeAnimatorManager?.get(tag.toLong())?.let {
|
|
46
|
+
it.start()
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@ReactMethod
|
|
51
|
+
override fun create(tag: Double, from: ReadableArray, promise: Promise) {
|
|
52
|
+
shapeAnimatorManager.add(MovePointShapeAnimator(tag.toLong(), from.getDouble(0), from.getDouble(1)))
|
|
53
|
+
promise.resolve(tag.toInt())
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.shape_animators
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
|
|
4
|
+
import com.mapbox.geojson.GeoJson
|
|
5
|
+
import com.rnmapbox.rnmbx.utils.Logger
|
|
6
|
+
import org.json.JSONObject
|
|
7
|
+
import java.util.Date
|
|
8
|
+
import java.util.Timer
|
|
9
|
+
import java.util.TimerTask
|
|
10
|
+
import kotlin.time.Duration
|
|
11
|
+
import kotlin.time.Duration.Companion.milliseconds
|
|
12
|
+
|
|
13
|
+
typealias Tag = Long
|
|
14
|
+
|
|
15
|
+
interface ShapeAnimationConsumer {
|
|
16
|
+
fun shapeUpdated(geoJson: GeoJson)
|
|
17
|
+
}
|
|
18
|
+
abstract class ShapeAnimator(val tag: Tag) {
|
|
19
|
+
|
|
20
|
+
abstract fun getShape(): GeoJson;
|
|
21
|
+
abstract fun start()
|
|
22
|
+
|
|
23
|
+
abstract fun subscribe(consumer: ShapeAnimationConsumer)
|
|
24
|
+
abstract fun unsubscribe(consumer: ShapeAnimationConsumer)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
abstract class ShapeAnimatorCommon(tag: Tag): ShapeAnimator(tag) {
|
|
28
|
+
var timer: Timer? = null
|
|
29
|
+
var progress: Duration? = null
|
|
30
|
+
|
|
31
|
+
// region subscribers
|
|
32
|
+
var subscribers = mutableListOf<ShapeAnimationConsumer>()
|
|
33
|
+
|
|
34
|
+
override fun subscribe(consumer: ShapeAnimationConsumer) {
|
|
35
|
+
subscribers.add(consumer)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
override fun unsubscribe(consumer: ShapeAnimationConsumer) {
|
|
39
|
+
subscribers.remove(consumer)
|
|
40
|
+
}
|
|
41
|
+
// endregion
|
|
42
|
+
|
|
43
|
+
override fun start() {
|
|
44
|
+
timer?.let { it.cancel() }
|
|
45
|
+
timer = null
|
|
46
|
+
|
|
47
|
+
val fps = 30.0
|
|
48
|
+
val period = (1000.0 / fps).toLong()
|
|
49
|
+
val start = Date()
|
|
50
|
+
val timer = Timer()
|
|
51
|
+
this.timer = timer
|
|
52
|
+
val animator = this
|
|
53
|
+
|
|
54
|
+
timer.schedule(object : TimerTask() {
|
|
55
|
+
override fun run() {
|
|
56
|
+
|
|
57
|
+
val now = Date()
|
|
58
|
+
val diff = now.time - start.time
|
|
59
|
+
val progress = diff.milliseconds
|
|
60
|
+
animator.progress = progress
|
|
61
|
+
|
|
62
|
+
val (shape,doContinue) = getAnimatedShape(progress)
|
|
63
|
+
if (!doContinue) {
|
|
64
|
+
timer.cancel()
|
|
65
|
+
}
|
|
66
|
+
runOnUiThread {
|
|
67
|
+
subscribers.forEach { it.shapeUpdated(shape) }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},0, period)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
override fun getShape(): GeoJson {
|
|
74
|
+
return getAnimatedShape(progress ?: 0.0.milliseconds).first
|
|
75
|
+
}
|
|
76
|
+
abstract fun getAnimatedShape(timeSinceStart: Duration): Pair<GeoJson,Boolean>
|
|
77
|
+
|
|
78
|
+
}
|
|
79
|
+
class ShapeAnimatorManager {
|
|
80
|
+
private val animators = hashMapOf<Tag, ShapeAnimator>();
|
|
81
|
+
fun add(animator: ShapeAnimator) {
|
|
82
|
+
animators.put(animator.tag, animator)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
fun isShapeAnimatorTag(shape: String): Boolean {
|
|
86
|
+
return shape.startsWith("{\"__nativeTag\":")
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
fun get(tag: String): ShapeAnimator? {
|
|
90
|
+
if (isShapeAnimatorTag(tag)) {
|
|
91
|
+
val obj = JSONObject(tag)
|
|
92
|
+
val tag = obj.getLong("__nativeTag")
|
|
93
|
+
return get(tag);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return null
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
fun get(tag: Tag): ShapeAnimator? {
|
|
100
|
+
val result = animators[tag]
|
|
101
|
+
if (result == null) {
|
|
102
|
+
Logger.e(LOG_TAG, "Shape animator for tag: $tag was not found")
|
|
103
|
+
}
|
|
104
|
+
return result
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
companion object {
|
|
108
|
+
const val LOG_TAG = "RNMBXShapeAnimators"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -17,13 +17,12 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
-
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
21
20
|
import com.facebook.react.bridge.ReadableArray;
|
|
22
21
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
23
22
|
import javax.annotation.Nonnull;
|
|
24
23
|
import javax.annotation.Nullable;
|
|
25
24
|
|
|
26
|
-
public abstract class NativeMapViewModuleSpec extends ReactContextBaseJavaModule implements
|
|
25
|
+
public abstract class NativeMapViewModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
27
26
|
public static final String NAME = "RNMBXMapViewModule";
|
|
28
27
|
|
|
29
28
|
public NativeMapViewModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -17,12 +17,11 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
-
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
21
20
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
22
21
|
import javax.annotation.Nonnull;
|
|
23
22
|
import javax.annotation.Nullable;
|
|
24
23
|
|
|
25
|
-
public abstract class NativeRNMBXImageModuleSpec extends ReactContextBaseJavaModule implements
|
|
24
|
+
public abstract class NativeRNMBXImageModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
26
25
|
public static final String NAME = "RNMBXImageModule";
|
|
27
26
|
|
|
28
27
|
public NativeRNMBXImageModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateModuleJavaSpec.js
|
|
9
|
+
*
|
|
10
|
+
* @nolint
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
package com.rnmapbox.rnmbx;
|
|
14
|
+
|
|
15
|
+
import com.facebook.proguard.annotations.DoNotStrip;
|
|
16
|
+
import com.facebook.react.bridge.Promise;
|
|
17
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
|
+
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
+
import com.facebook.react.bridge.ReadableArray;
|
|
21
|
+
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
22
|
+
import javax.annotation.Nonnull;
|
|
23
|
+
|
|
24
|
+
public abstract class NativeRNMBXMovePointShapeAnimatorModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
25
|
+
public static final String NAME = "RNMBXMovePointShapeAnimatorModule";
|
|
26
|
+
|
|
27
|
+
public NativeRNMBXMovePointShapeAnimatorModuleSpec(ReactApplicationContext reactContext) {
|
|
28
|
+
super(reactContext);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Override
|
|
32
|
+
public @Nonnull String getName() {
|
|
33
|
+
return NAME;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@ReactMethod
|
|
37
|
+
@DoNotStrip
|
|
38
|
+
public abstract void create(double tag, ReadableArray from, Promise promise);
|
|
39
|
+
|
|
40
|
+
@ReactMethod
|
|
41
|
+
@DoNotStrip
|
|
42
|
+
public abstract void start(double tag, Promise promise);
|
|
43
|
+
}
|
package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXPointAnnotationModuleSpec.java
CHANGED
|
@@ -17,12 +17,11 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
-
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
21
20
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
22
21
|
import javax.annotation.Nonnull;
|
|
23
22
|
import javax.annotation.Nullable;
|
|
24
23
|
|
|
25
|
-
public abstract class NativeRNMBXPointAnnotationModuleSpec extends ReactContextBaseJavaModule implements
|
|
24
|
+
public abstract class NativeRNMBXPointAnnotationModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
26
25
|
public static final String NAME = "RNMBXPointAnnotationModule";
|
|
27
26
|
|
|
28
27
|
public NativeRNMBXPointAnnotationModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -17,12 +17,11 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
-
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
21
20
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
22
21
|
import javax.annotation.Nonnull;
|
|
23
22
|
import javax.annotation.Nullable;
|
|
24
23
|
|
|
25
|
-
public abstract class NativeRNMBXShapeSourceModuleSpec extends ReactContextBaseJavaModule implements
|
|
24
|
+
public abstract class NativeRNMBXShapeSourceModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
26
25
|
public static final String NAME = "RNMBXShapeSourceModule";
|
|
27
26
|
|
|
28
27
|
public NativeRNMBXShapeSourceModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -17,13 +17,12 @@ import com.facebook.react.bridge.Promise;
|
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
18
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
19
|
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
-
import com.facebook.react.bridge.ReactModuleWithSpec;
|
|
21
20
|
import com.facebook.react.bridge.ReadableMap;
|
|
22
21
|
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
|
|
23
22
|
import javax.annotation.Nonnull;
|
|
24
23
|
import javax.annotation.Nullable;
|
|
25
24
|
|
|
26
|
-
public abstract class NativeRNMBXViewportModuleSpec extends ReactContextBaseJavaModule implements
|
|
25
|
+
public abstract class NativeRNMBXViewportModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
|
|
27
26
|
public static final String NAME = "RNMBXViewportModule";
|
|
28
27
|
|
|
29
28
|
public NativeRNMBXViewportModuleSpec(ReactApplicationContext reactContext) {
|
|
@@ -275,6 +275,7 @@ open class RNMBXMapView: UIView {
|
|
|
275
275
|
case pitchEnabled
|
|
276
276
|
case onMapChange
|
|
277
277
|
case styleURL
|
|
278
|
+
case gestureSettings
|
|
278
279
|
|
|
279
280
|
func apply(_ map: RNMBXMapView) -> Void {
|
|
280
281
|
switch self {
|
|
@@ -304,6 +305,8 @@ open class RNMBXMapView: UIView {
|
|
|
304
305
|
map.applyStyleURL()
|
|
305
306
|
case .pitchEnabled:
|
|
306
307
|
map.applyPitchEnabled()
|
|
308
|
+
case .gestureSettings:
|
|
309
|
+
map.applyGestureSettings()
|
|
307
310
|
}
|
|
308
311
|
}
|
|
309
312
|
}
|
|
@@ -361,9 +364,27 @@ open class RNMBXMapView: UIView {
|
|
|
361
364
|
}
|
|
362
365
|
}
|
|
363
366
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
+
struct GestureSettings {
|
|
368
|
+
var doubleTapToZoomInEnabled: Bool? = nil;
|
|
369
|
+
var doubleTouchToZoomOutEnabled: Bool? = nil;
|
|
370
|
+
var pinchPanEnabled: Bool? = nil;
|
|
371
|
+
var pinchZoomEnabled: Bool? = nil;
|
|
372
|
+
var pitchEnabled: Bool? = nil;
|
|
373
|
+
var quickZoomEnabled: Bool? = nil;
|
|
374
|
+
var rotateEnabled: Bool? = nil;
|
|
375
|
+
var panEnabled: Bool? = nil;
|
|
376
|
+
var panDecelerationFactor: CGFloat? = nil;
|
|
377
|
+
#if RNMBX_11
|
|
378
|
+
var simultaneousRotateAndPinchZoomEnabled: Bool? = nil;
|
|
379
|
+
#endif
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
var gestureSettings = GestureSettings()
|
|
383
|
+
|
|
384
|
+
@objc
|
|
385
|
+
public func setReactGestureSettings(_ value: NSDictionary?) {
|
|
386
|
+
if let value = value {
|
|
387
|
+
var options = gestureSettings
|
|
367
388
|
if let doubleTapToZoomInEnabled = value["doubleTapToZoomInEnabled"] as? NSNumber {
|
|
368
389
|
options.doubleTapToZoomInEnabled = doubleTapToZoomInEnabled.boolValue
|
|
369
390
|
}
|
|
@@ -404,6 +425,56 @@ open class RNMBXMapView: UIView {
|
|
|
404
425
|
if let simultaneousRotateAndPinchZoomEnabled = value["simultaneousRotateAndPinchZoomEnabled"] as? NSNumber {
|
|
405
426
|
options.simultaneousRotateAndPinchZoomEnabled = simultaneousRotateAndPinchZoomEnabled.boolValue
|
|
406
427
|
}
|
|
428
|
+
#endif
|
|
429
|
+
/* android only
|
|
430
|
+
if let zoomAnimationAmount = value["zoomAnimationAmount"] as? NSNumber {
|
|
431
|
+
options.zoomAnimationAmount = zoomAnimationAmount.CGFloat
|
|
432
|
+
}*/
|
|
433
|
+
gestureSettings = options
|
|
434
|
+
|
|
435
|
+
changed(.gestureSettings)
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
func applyGestureSettings() {
|
|
440
|
+
if let gestures = self.mapView?.gestures {
|
|
441
|
+
var options = gestures.options
|
|
442
|
+
let settings = gestureSettings
|
|
443
|
+
if let doubleTapToZoomInEnabled = settings.doubleTapToZoomInEnabled as? Bool {
|
|
444
|
+
options.doubleTapToZoomInEnabled = doubleTapToZoomInEnabled
|
|
445
|
+
}
|
|
446
|
+
if let doubleTouchToZoomOutEnabled = settings.doubleTouchToZoomOutEnabled as? Bool {
|
|
447
|
+
options.doubleTouchToZoomOutEnabled = doubleTouchToZoomOutEnabled
|
|
448
|
+
}
|
|
449
|
+
if let pinchPanEnabled = settings.pinchPanEnabled as? Bool {
|
|
450
|
+
options.pinchPanEnabled = pinchPanEnabled
|
|
451
|
+
}
|
|
452
|
+
if let pinchZoomEnabled = settings.pinchZoomEnabled as? Bool {
|
|
453
|
+
options.pinchZoomEnabled = pinchZoomEnabled
|
|
454
|
+
}
|
|
455
|
+
if let pitchEnabled = settings.pitchEnabled as? Bool {
|
|
456
|
+
options.pitchEnabled = pitchEnabled
|
|
457
|
+
}
|
|
458
|
+
if let quickZoomEnabled = settings.quickZoomEnabled as? Bool {
|
|
459
|
+
options.quickZoomEnabled = quickZoomEnabled
|
|
460
|
+
}
|
|
461
|
+
if let rotateEnabled = settings.rotateEnabled as? Bool {
|
|
462
|
+
options.rotateEnabled = rotateEnabled
|
|
463
|
+
}
|
|
464
|
+
/* android only
|
|
465
|
+
if let rotateDecelerationEnabled = value["rotateDecelerationEnabled"] as? NSNumber {
|
|
466
|
+
options.rotateDecelerationEnabled = rotateDecelerationEnabled.boolValue
|
|
467
|
+
}*/
|
|
468
|
+
if let panEnabled = settings.panEnabled as? Bool {
|
|
469
|
+
options.panEnabled = panEnabled
|
|
470
|
+
}
|
|
471
|
+
if let panDecelerationFactor = settings.panDecelerationFactor as? CGFloat {
|
|
472
|
+
options.panDecelerationFactor = panDecelerationFactor
|
|
473
|
+
}
|
|
474
|
+
#if RNMBX_11
|
|
475
|
+
if let simultaneousRotateAndPinchZoomEnabled = settings.simultaneousRotateAndPinchZoomEnabled as? Bool {
|
|
476
|
+
options.simultaneousRotateAndPinchZoomEnabled = simultaneousRotateAndPinchZoomEnabled
|
|
477
|
+
}
|
|
407
478
|
#endif
|
|
408
479
|
/* android only
|
|
409
480
|
if let zoomAnimationAmount = value["zoomAnimationAmount"] as? NSNumber {
|