@rnmapbox/maps 10.1.0-beta.14 → 10.1.0-beta.18
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 +2 -1
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +25 -6
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXCalloutManager.kt +33 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt +24 -10
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotation.kt +5 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.kt +83 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationModule.kt +33 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImage.kt +5 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImageManager.kt +25 -22
- package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImageModule.kt +33 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +9 -8
- package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocationManager.kt +11 -4
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +140 -63
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +71 -55
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/atmosphere/RNMBXAtmosphereManager.kt +0 -5
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/light/RNMBXLightManager.kt +27 -0
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXImageSourceManager.kt +16 -8
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterDemSourceManager.kt +15 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXRasterSourceManager.kt +11 -3
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSource.kt +5 -2
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +45 -32
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXSource.kt +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSourceManager.kt +17 -17
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSourceManager.kt +13 -32
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/terrain/RNMBXTerrainManager.kt +8 -11
- package/android/src/main/java/com/rnmapbox/rnmbx/utils/PropertyChanges.kt +68 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCalloutManagerDelegate.java +25 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCalloutManagerInterface.java +16 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageManagerDelegate.java +47 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImageManagerInterface.java +22 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImagesManagerDelegate.java +38 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXImagesManagerInterface.java +19 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLightManagerDelegate.java +32 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLightManagerInterface.java +17 -0
- 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/RNMBXMarkerViewManagerDelegate.java +41 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerInterface.java +20 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerDelegate.java +35 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerInterface.java +18 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXPointAnnotationManagerDelegate.java +41 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXPointAnnotationManagerInterface.java +20 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXShapeSourceManagerDelegate.java +0 -6
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXShapeSourceManagerInterface.java +0 -2
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXTerrainManagerDelegate.java +35 -0
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXTerrainManagerInterface.java +18 -0
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXImageModuleSpec.java +40 -0
- package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXPointAnnotationModuleSpec.java +40 -0
- package/ios/RNMBX/RNMBXAtmosphereComponentView.mm +3 -1
- package/ios/RNMBX/RNMBXBackgroundLayerComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXCallout.swift +1 -1
- package/ios/RNMBX/RNMBXCalloutComponentView.h +15 -0
- package/ios/RNMBX/RNMBXCalloutComponentView.mm +57 -0
- package/ios/RNMBX/{RNMBXCalloutManager.m → RNMBXCalloutViewManager.m} +1 -1
- package/ios/RNMBX/{RNMBXCalloutManager.swift → RNMBXCalloutViewManager.swift} +2 -2
- package/ios/RNMBX/RNMBXCamera.swift +4 -4
- package/ios/RNMBX/RNMBXCameraComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXCircleLayerComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXFabricHelpers.h +1 -8
- package/ios/RNMBX/RNMBXFillExtrusionLayerComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXFillLayerComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXHeatmapLayerComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXImage.swift +30 -22
- package/ios/RNMBX/RNMBXImageComponentView.h +15 -0
- package/ios/RNMBX/RNMBXImageComponentView.mm +100 -0
- package/ios/RNMBX/RNMBXImageManager.swift +0 -1
- package/ios/RNMBX/RNMBXImageModule.h +17 -0
- package/ios/RNMBX/RNMBXImageModule.mm +67 -0
- package/ios/RNMBX/RNMBXImageSourceComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXImages.swift +9 -9
- package/ios/RNMBX/RNMBXImagesComponentView.h +15 -0
- package/ios/RNMBX/RNMBXImagesComponentView.mm +91 -0
- package/ios/RNMBX/{RNMBXImagesManager.m → RNMBXImagesViewManager.m} +1 -2
- package/ios/RNMBX/{RNMBXImagesManager.swift → RNMBXImagesViewManager.swift} +2 -2
- package/ios/RNMBX/RNMBXLight.swift +7 -7
- package/ios/RNMBX/RNMBXLightComponentView.h +15 -0
- package/ios/RNMBX/RNMBXLightComponentView.mm +68 -0
- package/ios/RNMBX/{RNMBXLightManager.m → RNMBXLightViewManager.m} +1 -1
- package/ios/RNMBX/{RNMBXLightManager.swift → RNMBXLightViewManager.swift} +2 -2
- package/ios/RNMBX/RNMBXLineLayerComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXMapView.swift +326 -136
- package/ios/RNMBX/RNMBXMapViewComponentView.mm +1 -2
- package/ios/RNMBX/RNMBXMarkerView.swift +24 -17
- package/ios/RNMBX/RNMBXMarkerViewComponentView.h +15 -0
- package/ios/RNMBX/RNMBXMarkerViewComponentView.mm +130 -0
- package/ios/RNMBX/RNMBXNativeUserLocation.swift +12 -10
- package/ios/RNMBX/RNMBXNativeUserLocationComponentView.h +15 -0
- package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +72 -0
- package/ios/RNMBX/{RNMBXNativeUserLocationManager.m → RNMBXNativeUserLocationViewManager.m} +1 -1
- package/ios/RNMBX/{RNMBXNativeUserLocationManager.swift → RNMBXNativeUserLocationViewManager.swift} +2 -2
- package/ios/RNMBX/RNMBXPointAnnotation.swift +41 -30
- package/ios/RNMBX/RNMBXPointAnnotationComponentView.h +15 -0
- package/ios/RNMBX/RNMBXPointAnnotationComponentView.mm +147 -0
- package/ios/RNMBX/RNMBXPointAnnotationModule.h +17 -0
- package/ios/RNMBX/RNMBXPointAnnotationModule.mm +66 -0
- package/ios/RNMBX/{RNMBXPointAnnotationManager.m → RNMBXPointAnnotationViewManager.m} +1 -6
- package/ios/RNMBX/RNMBXPointAnnotationViewManager.swift +14 -0
- package/ios/RNMBX/RNMBXRasterDemSourceComponentView.h +1 -3
- package/ios/RNMBX/RNMBXRasterDemSourceComponentView.mm +1 -3
- package/ios/RNMBX/RNMBXRasterLayerComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXRasterSourceComponentView.h +1 -3
- package/ios/RNMBX/RNMBXRasterSourceComponentView.mm +1 -3
- package/ios/RNMBX/RNMBXShapeSourceComponentView.h +1 -3
- package/ios/RNMBX/RNMBXShapeSourceComponentView.mm +5 -7
- package/ios/RNMBX/RNMBXShapeSourceModule.mm +1 -9
- package/ios/RNMBX/RNMBXSingletonLayer.swift +1 -1
- package/ios/RNMBX/RNMBXSkyLayerComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXSymbolLayerComponentView.mm +1 -1
- package/ios/RNMBX/RNMBXTerrain.swift +2 -2
- package/ios/RNMBX/RNMBXTerrainComponentView.h +15 -0
- package/ios/RNMBX/RNMBXTerrainComponentView.mm +78 -0
- package/ios/RNMBX/{RNMBXTerrainManager.m → RNMBXTerrainViewManager.m} +1 -1
- package/ios/RNMBX/{RNMBXTerrainManager.swift → RNMBXTerrainViewManager.swift} +2 -2
- package/ios/RNMBX/RNMBXVectorSourceComponentView.h +1 -3
- package/ios/RNMBX/RNMBXVectorSourceComponentView.mm +1 -3
- package/ios/RNMBX/Uitls/PropertyChanges.swift +58 -0
- package/ios/RNMBX/rnmapbox_maps-Swift.pre.h +0 -2
- package/lib/commonjs/components/Callout.js +3 -4
- package/lib/commonjs/components/Callout.js.map +1 -1
- package/lib/commonjs/components/Image.js +20 -4
- package/lib/commonjs/components/Image.js.map +1 -1
- package/lib/commonjs/components/Images.js +6 -3
- package/lib/commonjs/components/Images.js.map +1 -1
- package/lib/commonjs/components/Light.js +5 -5
- package/lib/commonjs/components/Light.js.map +1 -1
- package/lib/commonjs/components/MapView.js +12 -49
- package/lib/commonjs/components/MapView.js.map +1 -1
- package/lib/commonjs/components/MarkerView.js +2 -1
- package/lib/commonjs/components/MarkerView.js.map +1 -1
- package/lib/commonjs/components/NativeBridgeComponent.js +6 -43
- package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
- package/lib/commonjs/components/NativeUserLocation.js +3 -4
- package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
- package/lib/commonjs/components/PointAnnotation.js +29 -14
- package/lib/commonjs/components/PointAnnotation.js.map +1 -1
- package/lib/commonjs/components/ShapeSource.js +7 -18
- package/lib/commonjs/components/ShapeSource.js.map +1 -1
- package/lib/commonjs/components/Terrain.js +4 -5
- package/lib/commonjs/components/Terrain.js.map +1 -1
- package/lib/commonjs/components/VectorSource.js +2 -11
- package/lib/commonjs/components/VectorSource.js.map +1 -1
- package/lib/commonjs/specs/NativeRNMBXImageModule.js +10 -0
- package/lib/commonjs/specs/NativeRNMBXImageModule.js.map +1 -0
- package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js +10 -0
- package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js.map +1 -0
- package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js +11 -0
- package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/{RNMBXAndroidTextureMapViewNativeComponent.js → RNMBXImageNativeComponent.js} +2 -4
- package/lib/commonjs/specs/RNMBXImageNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXImagesNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXImagesNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXLightNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXLightNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js +1 -1
- package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js +10 -0
- package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js.map +1 -0
- package/lib/commonjs/utils/index.js +6 -30
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/components/Callout.js +3 -4
- package/lib/module/components/Callout.js.map +1 -1
- package/lib/module/components/Image.js +19 -4
- package/lib/module/components/Image.js.map +1 -1
- package/lib/module/components/Images.js +7 -4
- package/lib/module/components/Images.js.map +1 -1
- package/lib/module/components/Light.js +4 -4
- package/lib/module/components/Light.js.map +1 -1
- package/lib/module/components/MapView.js +12 -49
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/MarkerView.js +3 -2
- package/lib/module/components/MarkerView.js.map +1 -1
- package/lib/module/components/NativeBridgeComponent.js +7 -44
- package/lib/module/components/NativeBridgeComponent.js.map +1 -1
- package/lib/module/components/NativeUserLocation.js +2 -4
- package/lib/module/components/NativeUserLocation.js.map +1 -1
- package/lib/module/components/PointAnnotation.js +30 -15
- package/lib/module/components/PointAnnotation.js.map +1 -1
- package/lib/module/components/ShapeSource.js +7 -18
- package/lib/module/components/ShapeSource.js.map +1 -1
- package/lib/module/components/Terrain.js +2 -4
- package/lib/module/components/Terrain.js.map +1 -1
- package/lib/module/components/VectorSource.js +2 -11
- package/lib/module/components/VectorSource.js.map +1 -1
- package/lib/module/specs/NativeRNMBXImageModule.js +5 -0
- package/lib/module/specs/NativeRNMBXImageModule.js.map +1 -0
- package/lib/module/specs/NativeRNMBXPointAnnotationModule.js +5 -0
- package/lib/module/specs/NativeRNMBXPointAnnotationModule.js.map +1 -0
- package/lib/module/specs/RNMBXCalloutNativeComponent.js +6 -0
- package/lib/module/specs/RNMBXCalloutNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXImageNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXImageNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXImagesNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXImagesNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXLightNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXLightNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXMapViewNativeComponent.js +2 -0
- package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXMarkerViewNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -0
- package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
- package/lib/module/specs/RNMBXTerrainNativeComponent.js +3 -0
- package/lib/module/specs/RNMBXTerrainNativeComponent.js.map +1 -0
- package/lib/module/utils/index.js +6 -29
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/src/components/Callout.d.ts +0 -1
- package/lib/typescript/src/components/Callout.d.ts.map +1 -1
- package/lib/typescript/src/components/Image.d.ts +0 -1
- package/lib/typescript/src/components/Image.d.ts.map +1 -1
- package/lib/typescript/src/components/Images.d.ts +0 -1
- package/lib/typescript/src/components/Images.d.ts.map +1 -1
- package/lib/typescript/src/components/Light.d.ts +0 -1
- package/lib/typescript/src/components/Light.d.ts.map +1 -1
- package/lib/typescript/src/components/MapView.d.ts +21 -28
- package/lib/typescript/src/components/MapView.d.ts.map +1 -1
- package/lib/typescript/src/components/MarkerView.d.ts.map +1 -1
- package/lib/typescript/src/components/NativeBridgeComponent.d.ts +5 -9
- package/lib/typescript/src/components/NativeBridgeComponent.d.ts.map +1 -1
- package/lib/typescript/src/components/NativeUserLocation.d.ts.map +1 -1
- package/lib/typescript/src/components/PointAnnotation.d.ts +5 -11
- package/lib/typescript/src/components/PointAnnotation.d.ts.map +1 -1
- package/lib/typescript/src/components/ShapeSource.d.ts +40 -2
- package/lib/typescript/src/components/ShapeSource.d.ts.map +1 -1
- package/lib/typescript/src/components/Terrain.d.ts +0 -1
- package/lib/typescript/src/components/Terrain.d.ts.map +1 -1
- package/lib/typescript/src/components/VectorSource.d.ts +1 -2
- package/lib/typescript/src/components/VectorSource.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts +9 -0
- package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts +9 -0
- package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXCalloutNativeComponent.d.ts +6 -0
- package/lib/typescript/src/specs/RNMBXCalloutNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXImageNativeComponent.d.ts +14 -0
- package/lib/typescript/src/specs/RNMBXImageNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXImagesNativeComponent.d.ts +18 -0
- package/lib/typescript/src/specs/RNMBXImagesNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXLightNativeComponent.d.ts +8 -0
- package/lib/typescript/src/specs/RNMBXLightNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts +52 -3
- package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts +16 -0
- package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts +9 -0
- package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXPointAnnotationNativeComponent.d.ts +37 -0
- package/lib/typescript/src/specs/RNMBXPointAnnotationNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/RNMBXShapeSourceNativeComponent.d.ts +0 -2
- package/lib/typescript/src/specs/RNMBXShapeSourceNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/specs/RNMBXTerrainNativeComponent.d.ts +9 -0
- package/lib/typescript/src/specs/RNMBXTerrainNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/codegenUtils.d.ts +0 -4
- package/lib/typescript/src/specs/codegenUtils.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts +2 -3
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/package.json +2 -1
- package/setup-jest.js +8 -0
- package/src/components/Callout.tsx +4 -11
- package/src/components/Image.tsx +17 -13
- package/src/components/Images.tsx +9 -19
- package/src/components/Light.tsx +4 -12
- package/src/components/MapView.tsx +36 -74
- package/src/components/MarkerView.tsx +3 -15
- package/src/components/NativeBridgeComponent.tsx +9 -57
- package/src/components/NativeUserLocation.tsx +2 -8
- package/src/components/PointAnnotation.tsx +32 -24
- package/src/components/ShapeSource.tsx +21 -44
- package/src/components/Terrain.tsx +3 -11
- package/src/components/VectorSource.tsx +2 -19
- package/src/specs/NativeRNMBXImageModule.ts +10 -0
- package/src/specs/NativeRNMBXPointAnnotationModule.ts +12 -0
- package/src/specs/RNMBXCalloutNativeComponent.ts +9 -0
- package/src/specs/RNMBXImageNativeComponent.ts +18 -0
- package/src/specs/RNMBXImagesNativeComponent.ts +18 -0
- package/src/specs/RNMBXLightNativeComponent.ts +12 -0
- package/src/specs/RNMBXMapViewNativeComponent.ts +69 -5
- package/src/specs/RNMBXMarkerViewNativeComponent.ts +21 -0
- package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +13 -0
- package/src/specs/RNMBXPointAnnotationNativeComponent.ts +40 -0
- package/src/specs/RNMBXShapeSourceNativeComponent.ts +0 -2
- package/src/specs/RNMBXTerrainNativeComponent.ts +13 -0
- package/src/specs/codegenUtils.ts +0 -5
- package/src/utils/index.ts +6 -43
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXCalloutManager.java +0 -18
- package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.java +0 -84
- package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXAndroidTextureMapViewManager.kt +0 -39
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/light/RNMBXLightManager.java +0 -25
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXAndroidTextureMapViewManagerDelegate.java +0 -95
- package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXAndroidTextureMapViewManagerInterface.java +0 -38
- package/ios/RNMBX/RNMBXCircleLayerManager.m +0 -12
- package/ios/RNMBX/RNMBXCircleLayerManager.swift +0 -13
- package/ios/RNMBX/RNMBXMapFeatureView.h +0 -7
- package/ios/RNMBX/RNMBXPointAnnotationManager.swift +0 -34
- package/lib/commonjs/specs/RNMBXAndroidTextureMapViewNativeComponent.js.map +0 -1
- package/lib/module/specs/RNMBXAndroidTextureMapViewNativeComponent.js +0 -5
- package/lib/module/specs/RNMBXAndroidTextureMapViewNativeComponent.js.map +0 -1
- package/lib/typescript/src/specs/RNMBXAndroidTextureMapViewNativeComponent.d.ts +0 -46
- package/lib/typescript/src/specs/RNMBXAndroidTextureMapViewNativeComponent.d.ts.map +0 -1
- package/src/specs/RNMBXAndroidTextureMapViewNativeComponent.ts +0 -59
package/android/build.gradle
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
def defaultMapboxMapsImpl = "
|
|
1
|
+
def defaultMapboxMapsImpl = "mapbox"
|
|
2
2
|
def defaultMapboxMapsVersion = "10.16.1"
|
|
3
3
|
|
|
4
4
|
def safeExtGet(prop, fallback) {
|
|
@@ -43,6 +43,7 @@ if (safeExtGet("RNMapboxMapsImpl", defaultMapboxMapsImpl) == "mapbox") {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
android {
|
|
46
|
+
namespace = "com.rnmapbox.rnmbx"
|
|
46
47
|
if (safeExtGet("RNMapboxMapsImpl", defaultMapboxMapsImpl) == "maplibre") {
|
|
47
48
|
msg = '@rnmapbox/maps: Maplibre implementation has been removed, set RNMapboxMapsImpl to mapbox- see https://github.com/rnmapbox/maps/wiki/Deprecated-RNMapboxImpl-Maplibre#android'
|
|
48
49
|
logger.error(msg)
|
|
@@ -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">
|
|
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"/>
|
|
@@ -10,13 +10,13 @@ import com.facebook.react.uimanager.ViewManager
|
|
|
10
10
|
import com.rnmapbox.rnmbx.components.annotation.RNMBXCalloutManager
|
|
11
11
|
import com.rnmapbox.rnmbx.components.annotation.RNMBXMarkerViewManager
|
|
12
12
|
import com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotationManager
|
|
13
|
+
import com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotationModule
|
|
13
14
|
import com.rnmapbox.rnmbx.components.camera.RNMBXCameraManager
|
|
14
15
|
import com.rnmapbox.rnmbx.components.images.RNMBXImageManager
|
|
16
|
+
import com.rnmapbox.rnmbx.components.images.RNMBXImageModule
|
|
15
17
|
import com.rnmapbox.rnmbx.components.images.RNMBXImagesManager
|
|
16
18
|
import com.rnmapbox.rnmbx.components.location.RNMBXNativeUserLocationManager
|
|
17
19
|
import com.rnmapbox.rnmbx.components.mapview.NativeMapViewModule
|
|
18
|
-
import com.rnmapbox.rnmbx.components.mapview.RNMBXAndroidTextureMapViewManager
|
|
19
|
-
import com.rnmapbox.rnmbx.components.mapview.RNMBXMapView
|
|
20
20
|
import com.rnmapbox.rnmbx.components.mapview.RNMBXMapViewManager
|
|
21
21
|
import com.rnmapbox.rnmbx.components.styles.RNMBXStyleImportManager
|
|
22
22
|
import com.rnmapbox.rnmbx.components.styles.atmosphere.RNMBXAtmosphereManager
|
|
@@ -69,6 +69,8 @@ class RNMBXPackage : TurboReactPackage() {
|
|
|
69
69
|
RNMBXLogging.REACT_CLASS -> return RNMBXLogging(reactApplicationContext)
|
|
70
70
|
NativeMapViewModule.NAME -> return NativeMapViewModule(reactApplicationContext, getViewTagResolver(reactApplicationContext))
|
|
71
71
|
RNMBXShapeSourceModule.NAME -> return RNMBXShapeSourceModule(reactApplicationContext, getViewTagResolver(reactApplicationContext))
|
|
72
|
+
RNMBXImageModule.NAME -> return RNMBXImageModule(reactApplicationContext, getViewTagResolver(reactApplicationContext))
|
|
73
|
+
RNMBXPointAnnotationModule.NAME -> return RNMBXPointAnnotationModule(reactApplicationContext, getViewTagResolver(reactApplicationContext))
|
|
72
74
|
}
|
|
73
75
|
return null
|
|
74
76
|
}
|
|
@@ -83,26 +85,25 @@ class RNMBXPackage : TurboReactPackage() {
|
|
|
83
85
|
|
|
84
86
|
// components
|
|
85
87
|
managers.add(RNMBXCameraManager(reactApplicationContext))
|
|
86
|
-
managers.add(RNMBXAndroidTextureMapViewManager(reactApplicationContext, getViewTagResolver(reactApplicationContext)))
|
|
87
88
|
managers.add(RNMBXMapViewManager(reactApplicationContext, getViewTagResolver(reactApplicationContext)))
|
|
88
89
|
managers.add(RNMBXStyleImportManager(reactApplicationContext))
|
|
89
90
|
|
|
90
91
|
// annotations
|
|
91
92
|
managers.add(RNMBXMarkerViewManager(reactApplicationContext))
|
|
92
|
-
managers.add(RNMBXPointAnnotationManager(reactApplicationContext))
|
|
93
|
+
managers.add(RNMBXPointAnnotationManager(reactApplicationContext, getViewTagResolver(reactApplicationContext)))
|
|
93
94
|
managers.add(RNMBXCalloutManager())
|
|
94
95
|
managers.add(RNMBXNativeUserLocationManager())
|
|
95
96
|
|
|
96
97
|
// sources
|
|
97
98
|
managers.add(RNMBXVectorSourceManager(reactApplicationContext))
|
|
98
|
-
managers.add(RNMBXShapeSourceManager(reactApplicationContext))
|
|
99
|
+
managers.add(RNMBXShapeSourceManager(reactApplicationContext, getViewTagResolver(reactApplicationContext)))
|
|
99
100
|
managers.add(RNMBXRasterDemSourceManager(reactApplicationContext))
|
|
100
101
|
managers.add(RNMBXRasterSourceManager(reactApplicationContext))
|
|
101
102
|
managers.add(RNMBXImageSourceManager())
|
|
102
103
|
|
|
103
104
|
// images
|
|
104
105
|
managers.add(RNMBXImagesManager(reactApplicationContext))
|
|
105
|
-
managers.add(RNMBXImageManager(reactApplicationContext))
|
|
106
|
+
managers.add(RNMBXImageManager(reactApplicationContext, getViewTagResolver(reactApplicationContext)))
|
|
106
107
|
|
|
107
108
|
// layers
|
|
108
109
|
managers.add(RNMBXFillLayerManager())
|
|
@@ -187,6 +188,24 @@ class RNMBXPackage : TurboReactPackage() {
|
|
|
187
188
|
false, // isCxxModule
|
|
188
189
|
isTurboModule // isTurboModule
|
|
189
190
|
)
|
|
191
|
+
moduleInfos[RNMBXImageModule.NAME] = ReactModuleInfo(
|
|
192
|
+
RNMBXImageModule.NAME,
|
|
193
|
+
RNMBXImageModule.NAME,
|
|
194
|
+
false, // canOverrideExistingModule
|
|
195
|
+
false, // needsEagerInit
|
|
196
|
+
false, // hasConstants
|
|
197
|
+
false, // isCxxModule
|
|
198
|
+
isTurboModule // isTurboModule
|
|
199
|
+
)
|
|
200
|
+
moduleInfos[RNMBXPointAnnotationModule.NAME] = ReactModuleInfo(
|
|
201
|
+
RNMBXPointAnnotationModule.NAME,
|
|
202
|
+
RNMBXPointAnnotationModule.NAME,
|
|
203
|
+
false, // canOverrideExistingModule
|
|
204
|
+
false, // needsEagerInit
|
|
205
|
+
false, // hasConstants
|
|
206
|
+
false, // isCxxModule
|
|
207
|
+
isTurboModule // isTurboModule
|
|
208
|
+
)
|
|
190
209
|
moduleInfos
|
|
191
210
|
}
|
|
192
211
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.annotation
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
4
|
+
import com.facebook.react.uimanager.ViewGroupManager
|
|
5
|
+
import com.facebook.react.uimanager.ViewManagerDelegate
|
|
6
|
+
import com.facebook.react.viewmanagers.RNMBXCalloutManagerDelegate
|
|
7
|
+
import com.facebook.react.viewmanagers.RNMBXCalloutManagerInterface
|
|
8
|
+
|
|
9
|
+
class RNMBXCalloutManager : ViewGroupManager<RNMBXCallout>(),
|
|
10
|
+
RNMBXCalloutManagerInterface<RNMBXCallout> {
|
|
11
|
+
|
|
12
|
+
private val mDelegate: ViewManagerDelegate<RNMBXCallout>
|
|
13
|
+
|
|
14
|
+
init {
|
|
15
|
+
mDelegate = RNMBXCalloutManagerDelegate(this)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
override fun getDelegate(): ViewManagerDelegate<RNMBXCallout> {
|
|
19
|
+
return mDelegate
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
override fun getName(): String {
|
|
23
|
+
return REACT_CLASS
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
override fun createViewInstance(reactContext: ThemedReactContext): RNMBXCallout {
|
|
27
|
+
return RNMBXCallout(reactContext)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
companion object {
|
|
31
|
+
const val REACT_CLASS = "RNMBXCallout"
|
|
32
|
+
}
|
|
33
|
+
}
|
package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt
CHANGED
|
@@ -2,42 +2,56 @@ package com.rnmapbox.rnmbx.components.annotation
|
|
|
2
2
|
|
|
3
3
|
import android.view.View
|
|
4
4
|
import android.widget.FrameLayout
|
|
5
|
+
import com.facebook.react.bridge.Dynamic
|
|
5
6
|
import com.rnmapbox.rnmbx.utils.GeoJSONUtils.toPointGeometry
|
|
6
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
7
8
|
import com.rnmapbox.rnmbx.components.AbstractEventEmitter
|
|
8
9
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
9
|
-
import com.facebook.react.bridge.ReadableMap
|
|
10
10
|
import com.facebook.react.common.MapBuilder
|
|
11
11
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
12
|
+
import com.facebook.react.uimanager.ViewManagerDelegate
|
|
13
|
+
import com.facebook.react.viewmanagers.RNMBXMarkerViewManagerDelegate
|
|
14
|
+
import com.facebook.react.viewmanagers.RNMBXMarkerViewManagerInterface
|
|
12
15
|
import com.mapbox.maps.ScreenCoordinate
|
|
13
16
|
import com.mapbox.maps.viewannotation.OnViewAnnotationUpdatedListener
|
|
14
17
|
import com.mapbox.maps.viewannotation.ViewAnnotationManager
|
|
15
18
|
import com.rnmapbox.rnmbx.components.mapview.RNMBXMapView
|
|
16
19
|
|
|
17
20
|
class RNMBXMarkerViewManager(reactApplicationContext: ReactApplicationContext) :
|
|
18
|
-
AbstractEventEmitter<RNMBXMarkerView
|
|
21
|
+
AbstractEventEmitter<RNMBXMarkerView>(reactApplicationContext),
|
|
22
|
+
RNMBXMarkerViewManagerInterface<RNMBXMarkerView> {
|
|
23
|
+
private val mDelegate: ViewManagerDelegate<RNMBXMarkerView>
|
|
24
|
+
|
|
25
|
+
init {
|
|
26
|
+
mDelegate = RNMBXMarkerViewManagerDelegate(this)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
override fun getDelegate(): ViewManagerDelegate<RNMBXMarkerView> {
|
|
30
|
+
return mDelegate
|
|
31
|
+
}
|
|
32
|
+
|
|
19
33
|
override fun getName(): String {
|
|
20
34
|
return REACT_CLASS
|
|
21
35
|
}
|
|
22
36
|
|
|
23
37
|
@ReactProp(name = "coordinate")
|
|
24
|
-
fun setCoordinate(markerView: RNMBXMarkerView, geoJSONStr:
|
|
25
|
-
markerView.setCoordinate(toPointGeometry(geoJSONStr))
|
|
38
|
+
override fun setCoordinate(markerView: RNMBXMarkerView, geoJSONStr: Dynamic) {
|
|
39
|
+
markerView.setCoordinate(toPointGeometry(geoJSONStr.asString()))
|
|
26
40
|
}
|
|
27
41
|
|
|
28
42
|
@ReactProp(name = "anchor")
|
|
29
|
-
fun setAnchor(markerView: RNMBXMarkerView, map:
|
|
30
|
-
markerView.setAnchor(map.getDouble("x").toFloat(), map.getDouble("y").toFloat())
|
|
43
|
+
override fun setAnchor(markerView: RNMBXMarkerView, map: Dynamic) {
|
|
44
|
+
markerView.setAnchor(map.asMap().getDouble("x").toFloat(), map.asMap().getDouble("y").toFloat())
|
|
31
45
|
}
|
|
32
46
|
|
|
33
47
|
@ReactProp(name = "allowOverlap")
|
|
34
|
-
fun setAllowOverlap(markerView: RNMBXMarkerView, allowOverlap:
|
|
35
|
-
markerView.setAllowOverlap(allowOverlap)
|
|
48
|
+
override fun setAllowOverlap(markerView: RNMBXMarkerView, allowOverlap: Dynamic) {
|
|
49
|
+
markerView.setAllowOverlap(allowOverlap.asBoolean())
|
|
36
50
|
}
|
|
37
51
|
|
|
38
52
|
@ReactProp(name = "isSelected")
|
|
39
|
-
fun setIsSelected(markerView: RNMBXMarkerView, isSelected:
|
|
40
|
-
markerView.setIsSelected(isSelected)
|
|
53
|
+
override fun setIsSelected(markerView: RNMBXMarkerView, isSelected: Dynamic) {
|
|
54
|
+
markerView.setIsSelected(isSelected.asBoolean())
|
|
41
55
|
}
|
|
42
56
|
|
|
43
57
|
override fun createViewInstance(reactContext: ThemedReactContext): RNMBXMarkerView {
|
package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotation.kt
CHANGED
|
@@ -74,6 +74,11 @@ class RNMBXPointAnnotation(private val mContext: Context, private val mManager:
|
|
|
74
74
|
mMapView?.offscreenAnnotationViewContainer?.removeView(childView)
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
override fun setId(id: Int) {
|
|
78
|
+
super.setId(id)
|
|
79
|
+
mManager.tagAssigned(id)
|
|
80
|
+
}
|
|
81
|
+
|
|
77
82
|
override fun addToMap(mapView: RNMBXMapView) {
|
|
78
83
|
super.addToMap(mapView)
|
|
79
84
|
mMap = mapView.getMapboxMap()
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.annotation
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Dynamic
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
+
import com.facebook.react.common.MapBuilder
|
|
6
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
7
|
+
import com.facebook.react.uimanager.ViewManagerDelegate
|
|
8
|
+
import com.facebook.react.uimanager.annotations.ReactProp
|
|
9
|
+
import com.facebook.react.viewmanagers.RNMBXPointAnnotationManagerDelegate
|
|
10
|
+
import com.facebook.react.viewmanagers.RNMBXPointAnnotationManagerInterface
|
|
11
|
+
import com.rnmapbox.rnmbx.components.AbstractEventEmitter
|
|
12
|
+
import com.rnmapbox.rnmbx.components.styles.sources.RNMBXShapeSource
|
|
13
|
+
import com.rnmapbox.rnmbx.events.constants.EventKeys
|
|
14
|
+
import com.rnmapbox.rnmbx.utils.GeoJSONUtils.toPointGeometry
|
|
15
|
+
import com.rnmapbox.rnmbx.utils.ViewTagResolver
|
|
16
|
+
|
|
17
|
+
class RNMBXPointAnnotationManager(reactApplicationContext: ReactApplicationContext, val viewTagResolver: ViewTagResolver) : AbstractEventEmitter<RNMBXPointAnnotation>(reactApplicationContext),
|
|
18
|
+
RNMBXPointAnnotationManagerInterface<RNMBXPointAnnotation> {
|
|
19
|
+
|
|
20
|
+
private val mDelegate: ViewManagerDelegate<RNMBXPointAnnotation>
|
|
21
|
+
|
|
22
|
+
init {
|
|
23
|
+
mDelegate = RNMBXPointAnnotationManagerDelegate(this)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
override fun getDelegate(): ViewManagerDelegate<RNMBXPointAnnotation> {
|
|
27
|
+
return mDelegate
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
override fun getName(): String {
|
|
31
|
+
return REACT_CLASS
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override fun customEvents(): Map<String, String> {
|
|
35
|
+
return MapBuilder.builder<String, String>()
|
|
36
|
+
.put(EventKeys.POINT_ANNOTATION_SELECTED, "onMapboxPointAnnotationSelected")
|
|
37
|
+
.put(EventKeys.POINT_ANNOTATION_DESELECTED, "onMapboxPointAnnotationDeselected")
|
|
38
|
+
.put(EventKeys.POINT_ANNOTATION_DRAG_START, "onMapboxPointAnnotationDragStart")
|
|
39
|
+
.put(EventKeys.POINT_ANNOTATION_DRAG, "onMapboxPointAnnotationDrag")
|
|
40
|
+
.put(EventKeys.POINT_ANNOTATION_DRAG_END, "onMapboxPointAnnotationDragEnd")
|
|
41
|
+
.build()
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// TODO: check why it does not work correctly
|
|
45
|
+
override fun createViewInstance(reactContext: ThemedReactContext): RNMBXPointAnnotation {
|
|
46
|
+
return RNMBXPointAnnotation(reactContext!!, this)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
override fun onDropViewInstance(view: RNMBXPointAnnotation) {
|
|
50
|
+
val reactTag = view.id
|
|
51
|
+
|
|
52
|
+
viewTagResolver.viewRemoved(reactTag)
|
|
53
|
+
super.onDropViewInstance(view)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
fun tagAssigned(reactTag: Int) {
|
|
57
|
+
return viewTagResolver.tagAssigned(reactTag)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@ReactProp(name = "id")
|
|
61
|
+
override fun setId(annotation: RNMBXPointAnnotation, id: Dynamic) {
|
|
62
|
+
annotation.iD = id.asString()
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@ReactProp(name = "coordinate")
|
|
66
|
+
override fun setCoordinate(annotation: RNMBXPointAnnotation, geoJSONStr: Dynamic) {
|
|
67
|
+
annotation.setCoordinate(toPointGeometry(geoJSONStr.asString())!!)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@ReactProp(name = "anchor")
|
|
71
|
+
override fun setAnchor(annotation: RNMBXPointAnnotation, map: Dynamic) {
|
|
72
|
+
annotation.setAnchor(map.asMap().getDouble("x").toFloat(), map.asMap().getDouble("y").toFloat())
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@ReactProp(name = "draggable")
|
|
76
|
+
override fun setDraggable(annotation: RNMBXPointAnnotation, draggable: Dynamic) {
|
|
77
|
+
annotation.setDraggable(draggable.asBoolean())
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
companion object {
|
|
81
|
+
const val REACT_CLASS = "RNMBXPointAnnotation"
|
|
82
|
+
}
|
|
83
|
+
}
|
package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationModule.kt
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.annotation
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Promise
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
+
import com.facebook.react.bridge.ReactMethod
|
|
6
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
7
|
+
import com.rnmapbox.rnmbx.NativeRNMBXPointAnnotationModuleSpec
|
|
8
|
+
import com.rnmapbox.rnmbx.utils.ViewTagResolver
|
|
9
|
+
|
|
10
|
+
@ReactModule(name = RNMBXPointAnnotationModule.NAME)
|
|
11
|
+
class RNMBXPointAnnotationModule(reactContext: ReactApplicationContext?, private val viewTagResolver: ViewTagResolver) :
|
|
12
|
+
NativeRNMBXPointAnnotationModuleSpec(reactContext) {
|
|
13
|
+
|
|
14
|
+
companion object {
|
|
15
|
+
const val NAME = "RNMBXPointAnnotationModule"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
private fun withPointAnnotationOnUIThread(viewRef: Double?, reject: Promise, fn: (RNMBXPointAnnotation) -> Unit) {
|
|
19
|
+
if (viewRef == null) {
|
|
20
|
+
reject.reject(Exception("viewRef is null for RNMBXPointAnnotation"))
|
|
21
|
+
} else {
|
|
22
|
+
viewTagResolver.withViewResolved(viewRef.toInt(), reject, fn)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@ReactMethod
|
|
27
|
+
override fun refresh(viewRef: Double?, promise: Promise) {
|
|
28
|
+
withPointAnnotationOnUIThread(viewRef, promise) {
|
|
29
|
+
it.refresh()
|
|
30
|
+
promise.resolve(null)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -28,6 +28,11 @@ class RNMBXImage(private val mContext: ReactApplicationContext, private val mMan
|
|
|
28
28
|
|
|
29
29
|
var mBitmap : Bitmap? = null
|
|
30
30
|
|
|
31
|
+
override fun setId(id: Int) {
|
|
32
|
+
super.setId(id)
|
|
33
|
+
mManager.tagAssigned(id)
|
|
34
|
+
}
|
|
35
|
+
|
|
31
36
|
override fun onLayoutChange(v: View, left: Int, top: Int, right: Int, bottom: Int, oldLeft: Int, oldTop: Int,
|
|
32
37
|
oldRight: Int, oldBottom: Int) {
|
|
33
38
|
if (left == 0 && top == 0 && right == 0 && bottom == 0) {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
package com.rnmapbox.rnmbx.components.images
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.Dynamic
|
|
4
|
-
import com.facebook.react.bridge.DynamicFromArray
|
|
5
4
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
5
|
import com.facebook.react.bridge.ReadableArray
|
|
7
|
-
import com.facebook.react.common.MapBuilder
|
|
8
6
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
9
7
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
8
|
+
import com.facebook.react.viewmanagers.RNMBXImageManagerInterface
|
|
10
9
|
import com.rnmapbox.rnmbx.components.AbstractEventEmitter
|
|
11
|
-
import com.rnmapbox.rnmbx.
|
|
10
|
+
import com.rnmapbox.rnmbx.components.styles.sources.RNMBXShapeSource
|
|
11
|
+
import com.rnmapbox.rnmbx.utils.ViewTagResolver
|
|
12
12
|
|
|
13
|
-
class RNMBXImageManager(private val mContext: ReactApplicationContext) : AbstractEventEmitter<RNMBXImage>(
|
|
13
|
+
class RNMBXImageManager(private val mContext: ReactApplicationContext, val viewTagResolver: ViewTagResolver) : AbstractEventEmitter<RNMBXImage>(
|
|
14
14
|
mContext
|
|
15
|
-
) {
|
|
15
|
+
), RNMBXImageManagerInterface<RNMBXImage> {
|
|
16
16
|
override fun getName(): String {
|
|
17
17
|
return "RNMBXImage"
|
|
18
18
|
}
|
|
@@ -25,43 +25,46 @@ mContext
|
|
|
25
25
|
return mutableMapOf();
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
override fun onDropViewInstance(view: RNMBXImage) {
|
|
29
|
+
val reactTag = view.id
|
|
30
|
+
|
|
31
|
+
viewTagResolver.viewRemoved(reactTag)
|
|
32
|
+
super.onDropViewInstance(view)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
fun tagAssigned(reactTag: Int) {
|
|
36
|
+
return viewTagResolver.tagAssigned(reactTag)
|
|
37
|
+
}
|
|
38
|
+
|
|
28
39
|
// region React properties
|
|
29
40
|
@ReactProp(name="name")
|
|
30
|
-
fun setName(image: RNMBXImage, value:
|
|
31
|
-
image.name = value
|
|
41
|
+
override fun setName(image: RNMBXImage, value: Dynamic) {
|
|
42
|
+
image.name = value.asString()
|
|
32
43
|
}
|
|
33
44
|
|
|
34
45
|
@ReactProp(name="sdf")
|
|
35
|
-
fun setSdf(image: RNMBXImage, value:
|
|
36
|
-
image.sdf = value
|
|
46
|
+
override fun setSdf(image: RNMBXImage, value: Dynamic) {
|
|
47
|
+
image.sdf = value.asBoolean()
|
|
37
48
|
}
|
|
38
49
|
|
|
39
50
|
@ReactProp(name="stretchX")
|
|
40
|
-
fun setStretchX(image: RNMBXImage, value: Dynamic) {
|
|
51
|
+
override fun setStretchX(image: RNMBXImage, value: Dynamic) {
|
|
41
52
|
image.stretchX = RNMBXImagesManager.convertStretch(value) ?: listOf()
|
|
42
53
|
}
|
|
43
54
|
|
|
44
55
|
@ReactProp(name="stretchY")
|
|
45
|
-
fun setStretchY(image: RNMBXImage, value: Dynamic) {
|
|
56
|
+
override fun setStretchY(image: RNMBXImage, value: Dynamic) {
|
|
46
57
|
image.stretchY = RNMBXImagesManager.convertStretch(value) ?: listOf()
|
|
47
58
|
}
|
|
48
59
|
|
|
49
60
|
@ReactProp(name="content")
|
|
50
|
-
fun setContent(image: RNMBXImage, value: Dynamic) {
|
|
61
|
+
override fun setContent(image: RNMBXImage, value: Dynamic) {
|
|
51
62
|
image.content = RNMBXImagesManager.convertContent(value)
|
|
52
63
|
}
|
|
53
64
|
|
|
54
65
|
@ReactProp(name="scale")
|
|
55
|
-
fun setScale(image: RNMBXImage, value:
|
|
56
|
-
image.scale = value
|
|
57
|
-
}
|
|
58
|
-
// endregion
|
|
59
|
-
|
|
60
|
-
// region React methods
|
|
61
|
-
override fun receiveCommand(root: RNMBXImage, commandId: String?, args: ReadableArray?) {
|
|
62
|
-
if (commandId == "refresh") {
|
|
63
|
-
root.refresh()
|
|
64
|
-
}
|
|
66
|
+
override fun setScale(image: RNMBXImage, value: Dynamic) {
|
|
67
|
+
image.scale = value.asDouble()
|
|
65
68
|
}
|
|
66
69
|
// endregion
|
|
67
70
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
package com.rnmapbox.rnmbx.components.images
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Promise
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
+
import com.facebook.react.bridge.ReactMethod
|
|
6
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
7
|
+
import com.rnmapbox.rnmbx.NativeRNMBXImageModuleSpec
|
|
8
|
+
import com.rnmapbox.rnmbx.utils.ViewTagResolver
|
|
9
|
+
|
|
10
|
+
@ReactModule(name = RNMBXImageModule.NAME)
|
|
11
|
+
class RNMBXImageModule(reactContext: ReactApplicationContext?, private val viewTagResolver: ViewTagResolver) :
|
|
12
|
+
NativeRNMBXImageModuleSpec(reactContext) {
|
|
13
|
+
|
|
14
|
+
companion object {
|
|
15
|
+
const val NAME = "RNMBXImageModule"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
private fun withImageOnUIThread(viewRef: Double?, reject: Promise, fn: (RNMBXImage) -> Unit) {
|
|
19
|
+
if (viewRef == null) {
|
|
20
|
+
reject.reject(Exception("viewRef is null for RNMBXImage"))
|
|
21
|
+
} else {
|
|
22
|
+
viewTagResolver.withViewResolved(viewRef.toInt(), reject, fn)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@ReactMethod
|
|
27
|
+
override fun refresh(viewRef: Double?, promise: Promise) {
|
|
28
|
+
withImageOnUIThread(viewRef, promise) {
|
|
29
|
+
it.refresh()
|
|
30
|
+
promise.resolve(null)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -6,6 +6,7 @@ import com.facebook.react.bridge.*
|
|
|
6
6
|
import com.facebook.react.common.MapBuilder
|
|
7
7
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
8
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
9
|
+
import com.facebook.react.viewmanagers.RNMBXImagesManagerInterface
|
|
9
10
|
import com.mapbox.maps.ImageContent
|
|
10
11
|
import com.mapbox.maps.ImageStretches
|
|
11
12
|
import com.rnmapbox.rnmbx.components.AbstractEventEmitter
|
|
@@ -20,7 +21,7 @@ import java.util.*
|
|
|
20
21
|
class RNMBXImagesManager(private val mContext: ReactApplicationContext) :
|
|
21
22
|
AbstractEventEmitter<RNMBXImages?>(
|
|
22
23
|
mContext
|
|
23
|
-
) {
|
|
24
|
+
), RNMBXImagesManagerInterface<RNMBXImages> {
|
|
24
25
|
override fun getName(): String {
|
|
25
26
|
return "RNMBXImages"
|
|
26
27
|
}
|
|
@@ -67,9 +68,9 @@ class RNMBXImagesManager(private val mContext: ReactApplicationContext) :
|
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
@ReactProp(name = "images")
|
|
70
|
-
fun setImages(images: RNMBXImages, map:
|
|
71
|
+
override fun setImages(images: RNMBXImages, map: Dynamic) {
|
|
71
72
|
val imagesList = mutableListOf<Map.Entry<String, ImageEntry>>()
|
|
72
|
-
map.forEach { imageName, imageInfo ->
|
|
73
|
+
map.asMap().forEach { imageName, imageInfo ->
|
|
73
74
|
when (imageInfo) {
|
|
74
75
|
is ReadableMap -> {
|
|
75
76
|
val uri = imageInfo.getString("uri")
|
|
@@ -128,8 +129,8 @@ class RNMBXImagesManager(private val mContext: ReactApplicationContext) :
|
|
|
128
129
|
}
|
|
129
130
|
|
|
130
131
|
@ReactProp(name = "hasOnImageMissing")
|
|
131
|
-
fun setHasOnImageMissing(images: RNMBXImages, value:
|
|
132
|
-
images.setHasOnImageMissing(value
|
|
132
|
+
override fun setHasOnImageMissing(images: RNMBXImages, value: Dynamic) {
|
|
133
|
+
images.setHasOnImageMissing(value.asBoolean())
|
|
133
134
|
}
|
|
134
135
|
|
|
135
136
|
fun toNativeImage(dynamic: Dynamic): NativeImage? {
|
|
@@ -165,10 +166,10 @@ class RNMBXImagesManager(private val mContext: ReactApplicationContext) :
|
|
|
165
166
|
}
|
|
166
167
|
|
|
167
168
|
@ReactProp(name = "nativeImages")
|
|
168
|
-
fun setNativeImages(images: RNMBXImages, arr:
|
|
169
|
+
override fun setNativeImages(images: RNMBXImages, arr: Dynamic) {
|
|
169
170
|
val nativeImages = mutableListOf<NativeImage>();
|
|
170
|
-
for (i in 0 until arr.size()) {
|
|
171
|
-
val nativeImage = toNativeImage(arr.getDynamic(i))
|
|
171
|
+
for (i in 0 until arr.asArray().size()) {
|
|
172
|
+
val nativeImage = toNativeImage(arr.asArray().getDynamic(i))
|
|
172
173
|
if (nativeImage != null) {
|
|
173
174
|
nativeImages.add(nativeImage)
|
|
174
175
|
}
|
|
@@ -1,26 +1,33 @@
|
|
|
1
1
|
package com.rnmapbox.rnmbx.components.location
|
|
2
2
|
|
|
3
|
+
import com.facebook.react.bridge.Dynamic
|
|
3
4
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
4
5
|
import com.facebook.react.uimanager.ViewGroupManager
|
|
5
6
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
6
|
-
import com.
|
|
7
|
+
import com.facebook.react.viewmanagers.RNMBXNativeUserLocationManagerInterface
|
|
7
8
|
import javax.annotation.Nonnull
|
|
8
9
|
|
|
9
|
-
class RNMBXNativeUserLocationManager : ViewGroupManager<RNMBXNativeUserLocation>()
|
|
10
|
+
class RNMBXNativeUserLocationManager : ViewGroupManager<RNMBXNativeUserLocation>(),
|
|
11
|
+
RNMBXNativeUserLocationManagerInterface<RNMBXNativeUserLocation> {
|
|
10
12
|
@Nonnull
|
|
11
13
|
override fun getName(): String {
|
|
12
14
|
return REACT_CLASS
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
@ReactProp(name = "androidRenderMode")
|
|
16
|
-
fun setAndroidRenderMode(userLocation: RNMBXNativeUserLocation, mode:
|
|
17
|
-
when (mode) {
|
|
18
|
+
override fun setAndroidRenderMode(userLocation: RNMBXNativeUserLocation, mode: Dynamic) {
|
|
19
|
+
when (mode.asString()) {
|
|
18
20
|
"compass" -> userLocation.setAndroidRenderMode(RenderMode.COMPASS);
|
|
19
21
|
"gps" -> userLocation.setAndroidRenderMode(RenderMode.GPS);
|
|
20
22
|
"normal" -> userLocation.setAndroidRenderMode(RenderMode.NORMAL);
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
|
|
26
|
+
@ReactProp(name = "iosShowsUserHeadingIndicator")
|
|
27
|
+
override fun setIosShowsUserHeadingIndicator(view: RNMBXNativeUserLocation, value: Dynamic) {
|
|
28
|
+
// iOS only
|
|
29
|
+
}
|
|
30
|
+
|
|
24
31
|
@Nonnull
|
|
25
32
|
override fun createViewInstance(@Nonnull reactContext: ThemedReactContext): RNMBXNativeUserLocation {
|
|
26
33
|
return RNMBXNativeUserLocation(reactContext)
|