@rnmapbox/maps 10.1.0 → 10.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (661) hide show
  1. package/CHANGELOG.md +9 -5
  2. package/README.md +5 -31
  3. package/android/build.gradle +6 -2
  4. package/android/install.md +5 -21
  5. package/android/src/main/AndroidManifest.xml +1 -1
  6. package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +76 -12
  7. package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEvent.kt +24 -0
  8. package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEventEmitter.kt +5 -0
  9. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerView.kt +17 -6
  10. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewContent.kt +31 -0
  11. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewContentManager.kt +23 -0
  12. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt +8 -9
  13. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotation.kt +33 -35
  14. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.kt +8 -7
  15. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXCamera.kt +4 -4
  16. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXVIewportManager.kt +55 -0
  17. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewport.kt +408 -0
  18. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewportModule.kt +66 -0
  19. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/ImageManager.kt +53 -0
  20. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImages.kt +2 -1
  21. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +31 -6
  22. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/LocationComponentManager.kt +78 -47
  23. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXCustomLocationProvider.kt +114 -0
  24. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXCustomLocationProviderManager.kt +54 -0
  25. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt +246 -25
  26. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocationManager.kt +90 -7
  27. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/NativeMapViewModule.kt +1 -8
  28. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +185 -114
  29. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +16 -8
  30. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyle.kt +1 -1
  31. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleFactory.kt +1184 -109
  32. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXCircleLayerManager.kt +8 -0
  33. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXFillLayerManager.kt +12 -5
  34. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXHeatmapLayerManager.kt +7 -0
  35. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXLayer.kt +25 -6
  36. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXLineLayerManager.kt +7 -0
  37. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayer.kt +33 -0
  38. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXModelLayerManager.kt +85 -0
  39. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterLayer.kt +4 -0
  40. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterLayerManager.kt +8 -2
  41. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXSymbolLayerManager.kt +8 -0
  42. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/codeparts/LayerManagerCommonProps.codepart-kt.ejs +59 -0
  43. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModels.kt +33 -0
  44. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/model/RNMBXModelsManager.kt +59 -0
  45. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSource.kt +56 -6
  46. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +7 -5
  47. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSource.kt +1 -1
  48. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSourceManager.kt +5 -4
  49. package/android/src/main/java/com/rnmapbox/rnmbx/events/AndroidCallbackEvent.java +1 -1
  50. package/android/src/main/java/com/rnmapbox/rnmbx/events/FeatureClickEvent.java +3 -3
  51. package/android/src/main/java/com/rnmapbox/rnmbx/events/IEvent.kt +1 -4
  52. package/android/src/main/java/com/rnmapbox/rnmbx/events/ImageMissingEvent.java +1 -1
  53. package/android/src/main/java/com/rnmapbox/rnmbx/events/LocationEvent.kt +1 -1
  54. package/android/src/main/java/com/rnmapbox/rnmbx/events/MapChangeEvent.kt +1 -1
  55. package/android/src/main/java/com/rnmapbox/rnmbx/events/MapClickEvent.java +2 -2
  56. package/android/src/main/java/com/rnmapbox/rnmbx/events/MapUserTrackingModeEvent.kt +4 -4
  57. package/android/src/main/java/com/rnmapbox/rnmbx/events/PointAnnotationClickEvent.java +1 -1
  58. package/android/src/main/java/com/rnmapbox/rnmbx/events/PointAnnotationDragEvent.java +3 -3
  59. package/android/src/main/java/com/rnmapbox/rnmbx/events/constants/EventKeys.kt +44 -0
  60. package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXModule.kt +18 -1
  61. package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXOfflineModule.kt +4 -1
  62. package/android/src/main/java/com/rnmapbox/rnmbx/modules/RNMBXOfflineModuleLegacy.kt +444 -0
  63. package/android/src/main/java/com/rnmapbox/rnmbx/shape_animators/RNMBXMovePointShapeAnimatorModule.kt +55 -0
  64. package/android/src/main/java/com/rnmapbox/rnmbx/shape_animators/ShapeAnimatorCommon.kt +110 -0
  65. package/android/src/main/java/com/rnmapbox/rnmbx/utils/BitmapUtils.kt +3 -0
  66. package/android/src/main/java/com/rnmapbox/rnmbx/utils/DownloadMapImageTask.kt +5 -2
  67. package/android/src/main/java/com/rnmapbox/rnmbx/utils/GeoJSONUtils.kt +5 -0
  68. package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt +21 -1
  69. package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt +111 -0
  70. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Annotation.kt +33 -1
  71. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Cancelable.kt +15 -0
  72. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Image.kt +17 -1
  73. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Layer.kt +7 -0
  74. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Location.kt +6 -9
  75. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/MapboxMap.kt +11 -0
  76. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/OfflineManager.kt +6 -0
  77. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +395 -0
  78. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Annotation.kt +29 -1
  79. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Cancelable.kt +3 -0
  80. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Image.kt +21 -1
  81. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Layer.kt +3 -0
  82. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Location.kt +2 -2
  83. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/MapboxMap.kt +5 -0
  84. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/OfflineManager.kt +4 -0
  85. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/StyleFactory.kt +8 -0
  86. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCircleLayerManagerDelegate.java +9 -6
  87. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCircleLayerManagerInterface.java +3 -2
  88. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCustomLocationProviderManagerDelegate.java +35 -0
  89. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCustomLocationProviderManagerInterface.java +18 -0
  90. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXFillLayerManagerDelegate.java +9 -6
  91. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXFillLayerManagerInterface.java +3 -2
  92. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXHeatmapLayerManagerDelegate.java +9 -6
  93. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXHeatmapLayerManagerInterface.java +3 -2
  94. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLineLayerManagerDelegate.java +9 -6
  95. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLineLayerManagerInterface.java +3 -2
  96. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerDelegate.java +3 -0
  97. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMapViewManagerInterface.java +1 -0
  98. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewContentManagerDelegate.java +25 -0
  99. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewContentManagerInterface.java +16 -0
  100. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerDelegate.java +3 -0
  101. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXMarkerViewManagerInterface.java +1 -0
  102. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerDelegate.java +65 -0
  103. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelLayerManagerInterface.java +28 -0
  104. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerDelegate.java +32 -0
  105. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXModelsManagerInterface.java +17 -0
  106. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerDelegate.java +23 -2
  107. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerInterface.java +8 -1
  108. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterLayerManagerDelegate.java +9 -6
  109. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterLayerManagerInterface.java +3 -2
  110. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXSymbolLayerManagerDelegate.java +9 -6
  111. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXSymbolLayerManagerInterface.java +3 -2
  112. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXViewportManagerDelegate.java +35 -0
  113. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXViewportManagerInterface.java +18 -0
  114. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXMovePointShapeAnimatorModuleSpec.java +44 -0
  115. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXViewportModuleSpec.java +49 -0
  116. package/ios/RNMBX/CommonLayerProperties.H +2 -0
  117. package/ios/RNMBX/CustomHttpHeaders.swift +2 -9
  118. package/ios/RNMBX/ImageManager.swift +41 -0
  119. package/ios/RNMBX/RNMBXCamera.swift +4 -4
  120. package/ios/RNMBX/RNMBXCustomLocationProvider.swift +274 -0
  121. package/ios/RNMBX/RNMBXCustomLocationProviderComponentView.h +15 -0
  122. package/ios/RNMBX/RNMBXCustomLocationProviderComponentView.mm +67 -0
  123. package/ios/RNMBX/RNMBXCustomLocationProviderVIewManager.swift +13 -0
  124. package/ios/RNMBX/RNMBXCustomLocationProviderViewManager.m +10 -0
  125. package/ios/RNMBX/RNMBXEvent.swift +2 -0
  126. package/ios/RNMBX/RNMBXFabricPropConvert.h +47 -0
  127. package/ios/RNMBX/RNMBXFabricPropConvert.mm +136 -0
  128. package/ios/RNMBX/RNMBXImageModule.mm +2 -2
  129. package/ios/RNMBX/RNMBXImages.swift +22 -6
  130. package/ios/RNMBX/RNMBXImagesComponentView.mm +19 -1
  131. package/ios/RNMBX/RNMBXInteractiveElement.swift +1 -1
  132. package/ios/RNMBX/RNMBXLayer.swift +27 -0
  133. package/ios/RNMBX/RNMBXLocationModule.swift +25 -14
  134. package/ios/RNMBX/RNMBXLocationModuleV11.swift +81 -14
  135. package/ios/RNMBX/RNMBXLogging.swift +8 -0
  136. package/ios/RNMBX/RNMBXMapView.swift +507 -207
  137. package/ios/RNMBX/RNMBXMapViewComponentView.mm +28 -20
  138. package/ios/RNMBX/RNMBXMapViewManager.m +1 -0
  139. package/ios/RNMBX/RNMBXMapViewManager.swift +0 -1
  140. package/ios/RNMBX/RNMBXMapViewModule.mm +0 -1
  141. package/ios/RNMBX/RNMBXMarkerView.swift +11 -3
  142. package/ios/RNMBX/RNMBXMarkerViewComponentView.mm +5 -0
  143. package/ios/RNMBX/RNMBXMarkerViewContentComponentView.h +15 -0
  144. package/ios/RNMBX/RNMBXMarkerViewContentComponentView.mm +55 -0
  145. package/ios/RNMBX/RNMBXMarkerViewContentManager.m +6 -0
  146. package/ios/RNMBX/RNMBXMarkerViewContentManager.swift +14 -0
  147. package/ios/RNMBX/RNMBXMarkerViewManager.m +1 -0
  148. package/ios/RNMBX/RNMBXModelLayer.swift +59 -0
  149. package/ios/RNMBX/RNMBXModelLayerComponentView.h +15 -0
  150. package/ios/RNMBX/RNMBXModelLayerComponentView.mm +70 -0
  151. package/ios/RNMBX/RNMBXModelLayerViewManager.m +12 -0
  152. package/ios/RNMBX/RNMBXModelLayerViewManager.swift +13 -0
  153. package/ios/RNMBX/RNMBXModels.swift +63 -0
  154. package/ios/RNMBX/RNMBXModelsComponentView.h +17 -0
  155. package/ios/RNMBX/RNMBXModelsComponentView.mm +67 -0
  156. package/ios/RNMBX/RNMBXModelsManager.mm +9 -0
  157. package/ios/RNMBX/RNMBXModelsManager.swift +13 -0
  158. package/ios/RNMBX/RNMBXModule.m +1 -1
  159. package/ios/RNMBX/RNMBXModule.swift +24 -0
  160. package/ios/RNMBX/RNMBXNativeUserLocation.swift +248 -19
  161. package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +15 -6
  162. package/ios/RNMBX/RNMBXNativeUserLocationViewManager.m +8 -0
  163. package/ios/RNMBX/RNMBXOfflineModule.m +1 -1
  164. package/ios/RNMBX/RNMBXOfflineModuleLegacy.m +33 -0
  165. package/ios/RNMBX/RNMBXOfflineModuleLegacy.swift +431 -0
  166. package/ios/RNMBX/RNMBXPointAnnotation.swift +34 -1
  167. package/ios/RNMBX/RNMBXPointAnnotationModule.mm +2 -2
  168. package/ios/RNMBX/RNMBXShapeSource.swift +54 -15
  169. package/ios/RNMBX/RNMBXStyle.swift +786 -1
  170. package/ios/RNMBX/RNMBXStyleValue.swift +56 -4
  171. package/ios/RNMBX/RNMBXUtils.swift +2 -7
  172. package/ios/RNMBX/RNMBXViewport.swift +349 -0
  173. package/ios/RNMBX/RNMBXViewportComponentView.h +17 -0
  174. package/ios/RNMBX/RNMBXViewportComponentView.mm +119 -0
  175. package/ios/RNMBX/RNMBXViewportManager.m +12 -0
  176. package/ios/RNMBX/RNMBXViewportManager.swift +38 -0
  177. package/ios/RNMBX/RNMBXViewportModule.h +18 -0
  178. package/ios/RNMBX/RNMBXViewportModule.mm +87 -0
  179. package/ios/RNMBX/ShapeAnimators/RNMBXMovePointShapeAnimatorModule.m +61 -0
  180. package/ios/RNMBX/ShapeAnimators/RNMBXMovePointShapeAnimatorModule.swift +47 -0
  181. package/ios/RNMBX/ShapeAnimators/ShapeAnimatorCommon.swift +76 -0
  182. package/ios/RNMBX/ShapeAnimators/ShapeAnimatorManager.swift +45 -0
  183. package/ios/RNMBX/Uitls/PropertyChanges.swift +57 -0
  184. package/ios/RNMBX/rnmapbox_maps-Swift.pre.h +3 -0
  185. package/ios/install.md +5 -26
  186. package/lib/commonjs/Mapbox.js +63 -0
  187. package/lib/commonjs/Mapbox.js.map +1 -1
  188. package/lib/commonjs/RNMBXModule.js +3 -1
  189. package/lib/commonjs/RNMBXModule.js.map +1 -1
  190. package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -1
  191. package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  192. package/lib/commonjs/classes/AnimatedPoint.js.map +1 -1
  193. package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  194. package/lib/commonjs/classes/AnimatedShape.js.map +1 -1
  195. package/lib/commonjs/classes/index.d.js.map +1 -1
  196. package/lib/commonjs/classes/index.js.map +1 -1
  197. package/lib/commonjs/components/AbstractLayer.js +1 -1
  198. package/lib/commonjs/components/AbstractLayer.js.map +1 -1
  199. package/lib/commonjs/components/AbstractSource.js.map +1 -1
  200. package/lib/commonjs/components/Annotation.js.map +1 -1
  201. package/lib/commonjs/components/Atmosphere.js.map +1 -1
  202. package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
  203. package/lib/commonjs/components/Callout.js.map +1 -1
  204. package/lib/commonjs/components/Camera.js.map +1 -1
  205. package/lib/commonjs/components/CircleLayer.js +7 -2
  206. package/lib/commonjs/components/CircleLayer.js.map +1 -1
  207. package/lib/commonjs/components/{NativeUserLocation.js → CustomLocationProvider.js} +5 -5
  208. package/lib/commonjs/components/CustomLocationProvider.js.map +1 -0
  209. package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
  210. package/lib/commonjs/components/FillLayer.js +7 -2
  211. package/lib/commonjs/components/FillLayer.js.map +1 -1
  212. package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
  213. package/lib/commonjs/components/HeatmapLayer.js +7 -2
  214. package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
  215. package/lib/commonjs/components/Image.js.map +1 -1
  216. package/lib/commonjs/components/ImageSource.js.map +1 -1
  217. package/lib/commonjs/components/Images.js.map +1 -1
  218. package/lib/commonjs/components/Light.js.map +1 -1
  219. package/lib/commonjs/components/LineLayer.js +7 -2
  220. package/lib/commonjs/components/LineLayer.js.map +1 -1
  221. package/lib/commonjs/components/LocationPuck.js +66 -0
  222. package/lib/commonjs/components/LocationPuck.js.map +1 -0
  223. package/lib/commonjs/components/MapView.js +0 -8
  224. package/lib/commonjs/components/MapView.js.map +1 -1
  225. package/lib/commonjs/components/MarkerView.js +5 -3
  226. package/lib/commonjs/components/MarkerView.js.map +1 -1
  227. package/lib/commonjs/components/ModelLayer.js +37 -0
  228. package/lib/commonjs/components/ModelLayer.js.map +1 -0
  229. package/lib/commonjs/components/Models.js +43 -0
  230. package/lib/commonjs/components/Models.js.map +1 -0
  231. package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
  232. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  233. package/lib/commonjs/components/RasterDemSource.js.map +1 -1
  234. package/lib/commonjs/components/RasterLayer.js +7 -2
  235. package/lib/commonjs/components/RasterLayer.js.map +1 -1
  236. package/lib/commonjs/components/RasterSource.js.map +1 -1
  237. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  238. package/lib/commonjs/components/SkyLayer.js +2 -2
  239. package/lib/commonjs/components/SkyLayer.js.map +1 -1
  240. package/lib/commonjs/components/Style.js.map +1 -1
  241. package/lib/commonjs/components/StyleImport.js.map +1 -1
  242. package/lib/commonjs/components/SymbolLayer.js +7 -2
  243. package/lib/commonjs/components/SymbolLayer.js.map +1 -1
  244. package/lib/commonjs/components/Terrain.js.map +1 -1
  245. package/lib/commonjs/components/UserLocation.js +2 -2
  246. package/lib/commonjs/components/UserLocation.js.map +1 -1
  247. package/lib/commonjs/components/VectorSource.js.map +1 -1
  248. package/lib/commonjs/components/Viewport.js +105 -0
  249. package/lib/commonjs/components/Viewport.js.map +1 -0
  250. package/lib/commonjs/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
  251. package/lib/commonjs/global.d.js.map +1 -1
  252. package/lib/commonjs/index.js.map +1 -1
  253. package/lib/commonjs/index.web.js.map +1 -1
  254. package/lib/commonjs/modules/location/locationManager.js.map +1 -1
  255. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  256. package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
  257. package/lib/commonjs/modules/offline/OfflinePackLegacy.js +40 -0
  258. package/lib/commonjs/modules/offline/OfflinePackLegacy.js.map +1 -0
  259. package/lib/commonjs/modules/offline/offlineManager.js +4 -4
  260. package/lib/commonjs/modules/offline/offlineManager.js.map +1 -1
  261. package/lib/commonjs/modules/offline/offlineManagerLegacy.js +166 -0
  262. package/lib/commonjs/modules/offline/offlineManagerLegacy.js.map +1 -0
  263. package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -1
  264. package/lib/commonjs/modules/snapshot/snapshotManager.js.map +1 -1
  265. package/lib/commonjs/requestAndroidLocationPermissions.js.map +1 -1
  266. package/lib/commonjs/shape_animators/MovePointShapeAnimator.js +21 -0
  267. package/lib/commonjs/shape_animators/MovePointShapeAnimator.js.map +1 -0
  268. package/lib/commonjs/shape_animators/ShapeAnimatorManager.js +15 -0
  269. package/lib/commonjs/shape_animators/ShapeAnimatorManager.js.map +1 -0
  270. package/lib/commonjs/specs/NativeMapViewModule.js.map +1 -1
  271. package/lib/commonjs/specs/NativeRNMBXImageModule.js.map +1 -1
  272. package/lib/commonjs/specs/NativeRNMBXMovePointShapeAnimatorModule.js +10 -0
  273. package/lib/commonjs/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -0
  274. package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
  275. package/lib/commonjs/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
  276. package/lib/commonjs/specs/NativeRNMBXViewportModule.js +10 -0
  277. package/lib/commonjs/specs/NativeRNMBXViewportModule.js.map +1 -0
  278. package/lib/commonjs/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
  279. package/lib/commonjs/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
  280. package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js.map +1 -1
  281. package/lib/commonjs/specs/RNMBXCameraNativeComponent.js.map +1 -1
  282. package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js +2 -0
  283. package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
  284. package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js +11 -0
  285. package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -0
  286. package/lib/commonjs/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
  287. package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js +2 -0
  288. package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
  289. package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js +2 -0
  290. package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
  291. package/lib/commonjs/specs/RNMBXImageNativeComponent.js.map +1 -1
  292. package/lib/commonjs/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
  293. package/lib/commonjs/specs/RNMBXImagesNativeComponent.js.map +1 -1
  294. package/lib/commonjs/specs/RNMBXLightNativeComponent.js.map +1 -1
  295. package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js +2 -0
  296. package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
  297. package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  298. package/lib/commonjs/specs/RNMBXMarkerViewContentNativeComponent.js +11 -0
  299. package/lib/commonjs/specs/RNMBXMarkerViewContentNativeComponent.js.map +1 -0
  300. package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
  301. package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js +13 -0
  302. package/lib/commonjs/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
  303. package/lib/commonjs/specs/RNMBXModelsNativeComponent.js +10 -0
  304. package/lib/commonjs/specs/RNMBXModelsNativeComponent.js.map +1 -0
  305. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js +1 -0
  306. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  307. package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
  308. package/lib/commonjs/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
  309. package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js +2 -0
  310. package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
  311. package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
  312. package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
  313. package/lib/commonjs/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
  314. package/lib/commonjs/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
  315. package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js +2 -0
  316. package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
  317. package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js.map +1 -1
  318. package/lib/commonjs/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
  319. package/lib/commonjs/specs/RNMBXViewportNativeComponent.js +36 -0
  320. package/lib/commonjs/specs/RNMBXViewportNativeComponent.js.map +1 -0
  321. package/lib/commonjs/specs/codegenUtils.js.map +1 -1
  322. package/lib/commonjs/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +18 -0
  323. package/lib/commonjs/types/BaseProps.js.map +1 -1
  324. package/lib/commonjs/types/OnPressEvent.js.map +1 -1
  325. package/lib/commonjs/types/Position.js.map +1 -1
  326. package/lib/commonjs/types/index.js.map +1 -1
  327. package/lib/commonjs/utils/BridgeValue.js.map +1 -1
  328. package/lib/commonjs/utils/Logger.js.map +1 -1
  329. package/lib/commonjs/utils/MapboxStyles.d.js +5 -0
  330. package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
  331. package/lib/commonjs/utils/StyleValue.js.map +1 -1
  332. package/lib/commonjs/utils/animated/Animated.js.map +1 -1
  333. package/lib/commonjs/utils/checkRequiredProps.js.map +1 -1
  334. package/lib/commonjs/utils/deprecation.js.map +1 -1
  335. package/lib/commonjs/utils/filterUtils.js.map +1 -1
  336. package/lib/commonjs/utils/geoUtils.js.map +1 -1
  337. package/lib/commonjs/utils/getAnnotationsLayerID.js.map +1 -1
  338. package/lib/commonjs/utils/index.js.map +1 -1
  339. package/lib/commonjs/utils/nativeRef.js.map +1 -1
  340. package/lib/commonjs/utils/styleMap.js +67 -2
  341. package/lib/commonjs/utils/styleMap.js.map +1 -1
  342. package/lib/commonjs/web/MapContext.js.map +1 -1
  343. package/lib/commonjs/web/MapboxModule.js.map +1 -1
  344. package/lib/commonjs/web/UnimplementedComponent.js.map +1 -1
  345. package/lib/commonjs/web/components/Camera.js.map +1 -1
  346. package/lib/commonjs/web/components/MapView.js.map +1 -1
  347. package/lib/commonjs/web/index.js.map +1 -1
  348. package/lib/commonjs/web/utils/Logger.js.map +1 -1
  349. package/lib/module/Mapbox.js +18 -0
  350. package/lib/module/Mapbox.js.map +1 -1
  351. package/lib/module/RNMBXModule.js +1 -0
  352. package/lib/module/RNMBXModule.js.map +1 -1
  353. package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
  354. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  355. package/lib/module/classes/AnimatedPoint.js.map +1 -1
  356. package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  357. package/lib/module/classes/AnimatedShape.js.map +1 -1
  358. package/lib/module/classes/index.d.js.map +1 -1
  359. package/lib/module/classes/index.js.map +1 -1
  360. package/lib/module/components/AbstractLayer.js +1 -1
  361. package/lib/module/components/AbstractLayer.js.map +1 -1
  362. package/lib/module/components/AbstractSource.js.map +1 -1
  363. package/lib/module/components/Annotation.js.map +1 -1
  364. package/lib/module/components/Atmosphere.js.map +1 -1
  365. package/lib/module/components/BackgroundLayer.js.map +1 -1
  366. package/lib/module/components/Callout.js.map +1 -1
  367. package/lib/module/components/Camera.js.map +1 -1
  368. package/lib/module/components/CircleLayer.js +7 -2
  369. package/lib/module/components/CircleLayer.js.map +1 -1
  370. package/lib/module/components/CustomLocationProvider.js +7 -0
  371. package/lib/module/components/CustomLocationProvider.js.map +1 -0
  372. package/lib/module/components/FillExtrusionLayer.js.map +1 -1
  373. package/lib/module/components/FillLayer.js +7 -2
  374. package/lib/module/components/FillLayer.js.map +1 -1
  375. package/lib/module/components/HeadingIndicator.js.map +1 -1
  376. package/lib/module/components/HeatmapLayer.js +7 -2
  377. package/lib/module/components/HeatmapLayer.js.map +1 -1
  378. package/lib/module/components/Image.js.map +1 -1
  379. package/lib/module/components/ImageSource.js.map +1 -1
  380. package/lib/module/components/Images.js.map +1 -1
  381. package/lib/module/components/Light.js.map +1 -1
  382. package/lib/module/components/LineLayer.js +7 -2
  383. package/lib/module/components/LineLayer.js.map +1 -1
  384. package/lib/module/components/LocationPuck.js +57 -0
  385. package/lib/module/components/LocationPuck.js.map +1 -0
  386. package/lib/module/components/MapView.js +0 -8
  387. package/lib/module/components/MapView.js.map +1 -1
  388. package/lib/module/components/MarkerView.js +5 -3
  389. package/lib/module/components/MarkerView.js.map +1 -1
  390. package/lib/module/components/ModelLayer.js +30 -0
  391. package/lib/module/components/ModelLayer.js.map +1 -0
  392. package/lib/module/components/Models.js +36 -0
  393. package/lib/module/components/Models.js.map +1 -0
  394. package/lib/module/components/NativeBridgeComponent.js.map +1 -1
  395. package/lib/module/components/PointAnnotation.js.map +1 -1
  396. package/lib/module/components/RasterDemSource.js.map +1 -1
  397. package/lib/module/components/RasterLayer.js +7 -2
  398. package/lib/module/components/RasterLayer.js.map +1 -1
  399. package/lib/module/components/RasterSource.js.map +1 -1
  400. package/lib/module/components/ShapeSource.js.map +1 -1
  401. package/lib/module/components/SkyLayer.js +2 -2
  402. package/lib/module/components/SkyLayer.js.map +1 -1
  403. package/lib/module/components/Style.js.map +1 -1
  404. package/lib/module/components/StyleImport.js.map +1 -1
  405. package/lib/module/components/SymbolLayer.js +7 -2
  406. package/lib/module/components/SymbolLayer.js.map +1 -1
  407. package/lib/module/components/Terrain.js.map +1 -1
  408. package/lib/module/components/UserLocation.js +1 -1
  409. package/lib/module/components/UserLocation.js.map +1 -1
  410. package/lib/module/components/VectorSource.js.map +1 -1
  411. package/lib/module/components/Viewport.js +96 -0
  412. package/lib/module/components/Viewport.js.map +1 -0
  413. package/lib/module/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
  414. package/lib/module/global.d.js.map +1 -1
  415. package/lib/module/index.js.map +1 -1
  416. package/lib/module/index.web.js.map +1 -1
  417. package/lib/module/modules/location/locationManager.js.map +1 -1
  418. package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  419. package/lib/module/modules/offline/OfflinePack.js.map +1 -1
  420. package/lib/module/modules/offline/OfflinePackLegacy.js +34 -0
  421. package/lib/module/modules/offline/OfflinePackLegacy.js.map +1 -0
  422. package/lib/module/modules/offline/offlineManager.js +4 -4
  423. package/lib/module/modules/offline/offlineManager.js.map +1 -1
  424. package/lib/module/modules/offline/offlineManagerLegacy.js +154 -0
  425. package/lib/module/modules/offline/offlineManagerLegacy.js.map +1 -0
  426. package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
  427. package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
  428. package/lib/module/requestAndroidLocationPermissions.js.map +1 -1
  429. package/lib/module/shape_animators/MovePointShapeAnimator.js +13 -0
  430. package/lib/module/shape_animators/MovePointShapeAnimator.js.map +1 -0
  431. package/lib/module/shape_animators/ShapeAnimatorManager.js +8 -0
  432. package/lib/module/shape_animators/ShapeAnimatorManager.js.map +1 -0
  433. package/lib/module/specs/NativeMapViewModule.js.map +1 -1
  434. package/lib/module/specs/NativeRNMBXImageModule.js.map +1 -1
  435. package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js +6 -0
  436. package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -0
  437. package/lib/module/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
  438. package/lib/module/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
  439. package/lib/module/specs/NativeRNMBXViewportModule.js +6 -0
  440. package/lib/module/specs/NativeRNMBXViewportModule.js.map +1 -0
  441. package/lib/module/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
  442. package/lib/module/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
  443. package/lib/module/specs/RNMBXCalloutNativeComponent.js.map +1 -1
  444. package/lib/module/specs/RNMBXCameraNativeComponent.js.map +1 -1
  445. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js +3 -0
  446. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
  447. package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js +6 -0
  448. package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -0
  449. package/lib/module/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
  450. package/lib/module/specs/RNMBXFillLayerNativeComponent.js +3 -0
  451. package/lib/module/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
  452. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js +3 -0
  453. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
  454. package/lib/module/specs/RNMBXImageNativeComponent.js.map +1 -1
  455. package/lib/module/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
  456. package/lib/module/specs/RNMBXImagesNativeComponent.js.map +1 -1
  457. package/lib/module/specs/RNMBXLightNativeComponent.js.map +1 -1
  458. package/lib/module/specs/RNMBXLineLayerNativeComponent.js +3 -0
  459. package/lib/module/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
  460. package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  461. package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js +6 -0
  462. package/lib/module/specs/RNMBXMarkerViewContentNativeComponent.js.map +1 -0
  463. package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
  464. package/lib/module/specs/RNMBXModelLayerNativeComponent.js +9 -0
  465. package/lib/module/specs/RNMBXModelLayerNativeComponent.js.map +1 -0
  466. package/lib/module/specs/RNMBXModelsNativeComponent.js +3 -0
  467. package/lib/module/specs/RNMBXModelsNativeComponent.js.map +1 -0
  468. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js +3 -0
  469. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  470. package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
  471. package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
  472. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js +3 -0
  473. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
  474. package/lib/module/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
  475. package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
  476. package/lib/module/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
  477. package/lib/module/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
  478. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js +3 -0
  479. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
  480. package/lib/module/specs/RNMBXTerrainNativeComponent.js.map +1 -1
  481. package/lib/module/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
  482. package/lib/module/specs/RNMBXViewportNativeComponent.js +33 -0
  483. package/lib/module/specs/RNMBXViewportNativeComponent.js.map +1 -0
  484. package/lib/module/specs/codegenUtils.js.map +1 -1
  485. package/lib/module/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +18 -0
  486. package/lib/module/types/BaseProps.js.map +1 -1
  487. package/lib/module/types/OnPressEvent.js.map +1 -1
  488. package/lib/module/types/Position.js.map +1 -1
  489. package/lib/module/types/index.js.map +1 -1
  490. package/lib/module/utils/BridgeValue.js.map +1 -1
  491. package/lib/module/utils/Logger.js.map +1 -1
  492. package/lib/module/utils/MapboxStyles.d.js +5 -0
  493. package/lib/module/utils/MapboxStyles.d.js.map +1 -1
  494. package/lib/module/utils/StyleValue.js.map +1 -1
  495. package/lib/module/utils/animated/Animated.js.map +1 -1
  496. package/lib/module/utils/checkRequiredProps.js.map +1 -1
  497. package/lib/module/utils/deprecation.js.map +1 -1
  498. package/lib/module/utils/filterUtils.js.map +1 -1
  499. package/lib/module/utils/geoUtils.js.map +1 -1
  500. package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
  501. package/lib/module/utils/index.js.map +1 -1
  502. package/lib/module/utils/nativeRef.js.map +1 -1
  503. package/lib/module/utils/styleMap.js +67 -2
  504. package/lib/module/utils/styleMap.js.map +1 -1
  505. package/lib/module/web/MapContext.js.map +1 -1
  506. package/lib/module/web/MapboxModule.js.map +1 -1
  507. package/lib/module/web/UnimplementedComponent.js.map +1 -1
  508. package/lib/module/web/components/Camera.js.map +1 -1
  509. package/lib/module/web/components/MapView.js.map +1 -1
  510. package/lib/module/web/index.js.map +1 -1
  511. package/lib/module/web/utils/Logger.js.map +1 -1
  512. package/lib/typescript/src/Mapbox.d.ts +16 -2
  513. package/lib/typescript/src/Mapbox.d.ts.map +1 -1
  514. package/lib/typescript/src/RNMBXModule.d.ts +1 -1
  515. package/lib/typescript/src/RNMBXModule.d.ts.map +1 -1
  516. package/lib/typescript/src/components/AbstractLayer.d.ts +9 -4
  517. package/lib/typescript/src/components/AbstractLayer.d.ts.map +1 -1
  518. package/lib/typescript/src/components/Camera.d.ts +5 -3
  519. package/lib/typescript/src/components/Camera.d.ts.map +1 -1
  520. package/lib/typescript/src/components/CircleLayer.d.ts +11 -3
  521. package/lib/typescript/src/components/CircleLayer.d.ts.map +1 -1
  522. package/lib/typescript/src/components/CustomLocationProvider.d.ts +15 -0
  523. package/lib/typescript/src/components/CustomLocationProvider.d.ts.map +1 -0
  524. package/lib/typescript/src/components/FillLayer.d.ts +10 -1
  525. package/lib/typescript/src/components/FillLayer.d.ts.map +1 -1
  526. package/lib/typescript/src/components/HeatmapLayer.d.ts +12 -4
  527. package/lib/typescript/src/components/HeatmapLayer.d.ts.map +1 -1
  528. package/lib/typescript/src/components/Images.d.ts +1 -1
  529. package/lib/typescript/src/components/LineLayer.d.ts +10 -1
  530. package/lib/typescript/src/components/LineLayer.d.ts.map +1 -1
  531. package/lib/typescript/src/components/LocationPuck.d.ts +85 -0
  532. package/lib/typescript/src/components/LocationPuck.d.ts.map +1 -0
  533. package/lib/typescript/src/components/MapView.d.ts +6 -6
  534. package/lib/typescript/src/components/MapView.d.ts.map +1 -1
  535. package/lib/typescript/src/components/MarkerView.d.ts +5 -1
  536. package/lib/typescript/src/components/MarkerView.d.ts.map +1 -1
  537. package/lib/typescript/src/components/ModelLayer.d.ts +77 -0
  538. package/lib/typescript/src/components/ModelLayer.d.ts.map +1 -0
  539. package/lib/typescript/src/components/Models.d.ts +15 -0
  540. package/lib/typescript/src/components/Models.d.ts.map +1 -0
  541. package/lib/typescript/src/components/RasterLayer.d.ts +11 -2
  542. package/lib/typescript/src/components/RasterLayer.d.ts.map +1 -1
  543. package/lib/typescript/src/components/SymbolLayer.d.ts +17 -5
  544. package/lib/typescript/src/components/SymbolLayer.d.ts.map +1 -1
  545. package/lib/typescript/src/components/UserLocation.d.ts +1 -0
  546. package/lib/typescript/src/components/UserLocation.d.ts.map +1 -1
  547. package/lib/typescript/src/components/Viewport.d.ts +136 -0
  548. package/lib/typescript/src/components/Viewport.d.ts.map +1 -0
  549. package/lib/typescript/src/modules/offline/OfflinePackLegacy.d.ts +24 -0
  550. package/lib/typescript/src/modules/offline/OfflinePackLegacy.d.ts.map +1 -0
  551. package/lib/typescript/src/modules/offline/offlineManager.d.ts +1 -1
  552. package/lib/typescript/src/modules/offline/offlineManager.d.ts.map +1 -1
  553. package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts +93 -0
  554. package/lib/typescript/src/modules/offline/offlineManagerLegacy.d.ts.map +1 -0
  555. package/lib/typescript/src/shape_animators/MovePointShapeAnimator.d.ts +7 -0
  556. package/lib/typescript/src/shape_animators/MovePointShapeAnimator.d.ts.map +1 -0
  557. package/lib/typescript/src/shape_animators/ShapeAnimatorManager.d.ts +5 -0
  558. package/lib/typescript/src/shape_animators/ShapeAnimatorManager.d.ts.map +1 -0
  559. package/lib/typescript/src/specs/NativeMapViewModule.d.ts +0 -1
  560. package/lib/typescript/src/specs/NativeMapViewModule.d.ts.map +1 -1
  561. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts +0 -1
  562. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts.map +1 -1
  563. package/lib/typescript/src/specs/NativeRNMBXMovePointShapeAnimatorModule.d.ts +10 -0
  564. package/lib/typescript/src/specs/NativeRNMBXMovePointShapeAnimatorModule.d.ts.map +1 -0
  565. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts +0 -1
  566. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts.map +1 -1
  567. package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts +0 -1
  568. package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts.map +1 -1
  569. package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts +35 -0
  570. package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts.map +1 -0
  571. package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts +16 -11
  572. package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts.map +1 -1
  573. package/lib/typescript/src/specs/RNMBXCustomLocationProviderNativeComponent.d.ts +12 -0
  574. package/lib/typescript/src/specs/RNMBXCustomLocationProviderNativeComponent.d.ts.map +1 -0
  575. package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts +9 -4
  576. package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts.map +1 -1
  577. package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts +9 -4
  578. package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts.map +1 -1
  579. package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts +9 -4
  580. package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts.map +1 -1
  581. package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts +1 -0
  582. package/lib/typescript/src/specs/RNMBXMapViewNativeComponent.d.ts.map +1 -1
  583. package/lib/typescript/src/specs/RNMBXMarkerViewContentNativeComponent.d.ts +6 -0
  584. package/lib/typescript/src/specs/RNMBXMarkerViewContentNativeComponent.d.ts.map +1 -0
  585. package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts +1 -0
  586. package/lib/typescript/src/specs/RNMBXMarkerViewNativeComponent.d.ts.map +1 -1
  587. package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts +28 -0
  588. package/lib/typescript/src/specs/RNMBXModelLayerNativeComponent.d.ts.map +1 -0
  589. package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts +15 -0
  590. package/lib/typescript/src/specs/RNMBXModelsNativeComponent.d.ts.map +1 -0
  591. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts +20 -3
  592. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -1
  593. package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts +9 -4
  594. package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts.map +1 -1
  595. package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts +9 -4
  596. package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts.map +1 -1
  597. package/lib/typescript/src/specs/RNMBXViewportNativeComponent.d.ts +59 -0
  598. package/lib/typescript/src/specs/RNMBXViewportNativeComponent.d.ts.map +1 -0
  599. package/lib/typescript/src/specs/codegenUtils.d.ts +0 -1
  600. package/lib/typescript/src/specs/codegenUtils.d.ts.map +1 -1
  601. package/lib/typescript/src/types/Position.d.ts +3 -0
  602. package/lib/typescript/src/types/Position.d.ts.map +1 -1
  603. package/lib/typescript/src/utils/styleMap.d.ts.map +1 -1
  604. package/package.json +11 -10
  605. package/plugin/install.md +6 -14
  606. package/rnmapbox-maps.podspec +26 -4
  607. package/setup-jest.js +30 -1
  608. package/src/Mapbox.ts +21 -0
  609. package/src/RNMBXModule.ts +2 -0
  610. package/src/components/AbstractLayer.tsx +11 -5
  611. package/src/components/Camera.tsx +8 -3
  612. package/src/components/CircleLayer.tsx +17 -5
  613. package/src/components/CustomLocationProvider.tsx +22 -0
  614. package/src/components/FillLayer.tsx +16 -3
  615. package/src/components/HeatmapLayer.tsx +18 -6
  616. package/src/components/Images.tsx +1 -1
  617. package/src/components/LineLayer.tsx +16 -3
  618. package/src/components/LocationPuck.tsx +143 -0
  619. package/src/components/MapView.tsx +7 -9
  620. package/src/components/MarkerView.tsx +12 -5
  621. package/src/components/ModelLayer.tsx +107 -0
  622. package/src/components/Models.tsx +44 -0
  623. package/src/components/RasterLayer.tsx +17 -4
  624. package/src/components/SkyLayer.tsx +2 -2
  625. package/src/components/SymbolLayer.tsx +26 -7
  626. package/src/components/UserLocation.tsx +2 -1
  627. package/src/components/Viewport.tsx +330 -0
  628. package/src/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
  629. package/src/modules/offline/OfflinePackLegacy.ts +55 -0
  630. package/src/modules/offline/offlineManager.ts +4 -4
  631. package/src/modules/offline/offlineManagerLegacy.ts +181 -0
  632. package/src/shape_animators/MovePointShapeAnimator.ts +18 -0
  633. package/src/shape_animators/ShapeAnimatorManager.tsx +8 -0
  634. package/src/specs/NativeRNMBXMovePointShapeAnimatorModule.ts +16 -0
  635. package/src/specs/NativeRNMBXViewportModule.ts +41 -0
  636. package/src/specs/RNMBXCircleLayerNativeComponent.ts +21 -12
  637. package/src/specs/RNMBXCustomLocationProviderNativeComponent.ts +19 -0
  638. package/src/specs/RNMBXFillLayerNativeComponent.ts +13 -4
  639. package/src/specs/RNMBXHeatmapLayerNativeComponent.ts +13 -4
  640. package/src/specs/RNMBXLineLayerNativeComponent.ts +13 -4
  641. package/src/specs/RNMBXMapViewNativeComponent.ts +2 -0
  642. package/src/specs/RNMBXMarkerViewContentNativeComponent.ts +9 -0
  643. package/src/specs/RNMBXMarkerViewNativeComponent.ts +1 -0
  644. package/src/specs/RNMBXModelLayerNativeComponent.ts +38 -0
  645. package/src/specs/RNMBXModelsNativeComponent.ts +18 -0
  646. package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +29 -3
  647. package/src/specs/RNMBXRasterLayerNativeComponent.ts +13 -4
  648. package/src/specs/RNMBXSymbolLayerNativeComponent.ts +13 -4
  649. package/src/specs/RNMBXViewportNativeComponent.ts +117 -0
  650. package/src/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +18 -0
  651. package/src/types/Position.ts +3 -0
  652. package/src/utils/MapboxStyles.d.ts +526 -63
  653. package/src/utils/styleMap.ts +69 -2
  654. package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEvent.java +0 -35
  655. package/android/src/main/java/com/rnmapbox/rnmbx/events/constants/EventKeys.java +0 -39
  656. package/lib/commonjs/components/NativeUserLocation.js.map +0 -1
  657. package/lib/module/components/NativeUserLocation.js +0 -7
  658. package/lib/module/components/NativeUserLocation.js.map +0 -1
  659. package/lib/typescript/src/components/NativeUserLocation.d.ts +0 -22
  660. package/lib/typescript/src/components/NativeUserLocation.d.ts.map +0 -1
  661. package/src/components/NativeUserLocation.tsx +0 -29
@@ -0,0 +1,444 @@
1
+ package com.rnmapbox.rnmbx.modules
2
+
3
+ import android.os.Build
4
+ import android.util.Log
5
+ import com.facebook.react.bridge.Arguments
6
+ import com.facebook.react.bridge.Promise
7
+ import com.facebook.react.bridge.ReactApplicationContext
8
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
9
+ import com.facebook.react.bridge.ReactMethod
10
+ import com.facebook.react.bridge.ReadableMap
11
+ import com.facebook.react.bridge.UiThreadUtil
12
+ import com.facebook.react.bridge.WritableMap
13
+ import com.facebook.react.module.annotations.ReactModule
14
+ import com.mapbox.bindgen.Expected
15
+ import com.mapbox.geojson.FeatureCollection
16
+ import com.mapbox.geojson.Point
17
+ import com.mapbox.maps.CoordinateBounds
18
+ import com.mapbox.maps.GlyphsRasterizationMode
19
+ import com.mapbox.maps.OfflineRegion
20
+ import com.mapbox.maps.OfflineRegionCallback
21
+ import com.mapbox.maps.OfflineRegionCreateCallback
22
+ import com.mapbox.maps.OfflineRegionDownloadState
23
+ import com.mapbox.maps.OfflineRegionManager
24
+ import com.mapbox.maps.OfflineRegionStatus
25
+ import com.mapbox.maps.OfflineRegionTilePyramidDefinition
26
+ import com.rnmapbox.rnmbx.utils.ConvertUtils
27
+ import com.rnmapbox.rnmbx.utils.extensions.toGeometryCollection
28
+ import com.rnmapbox.rnmbx.utils.writableArrayOf
29
+ import com.rnmapbox.rnmbx.v11compat.offlinemanager.getOfflineRegionManager
30
+ import org.json.JSONException
31
+ import org.json.JSONObject
32
+ import java.io.File
33
+ import java.io.UnsupportedEncodingException
34
+ import java.nio.file.Files
35
+ import java.nio.file.Paths
36
+ import java.nio.file.StandardCopyOption
37
+ import kotlin.math.ceil
38
+
39
+
40
+ @ReactModule(name = RNMBXOfflineModuleLegacy.REACT_CLASS)
41
+ class RNMBXOfflineModuleLegacy(private val mReactContext: ReactApplicationContext) :
42
+ ReactContextBaseJavaModule(
43
+ mReactContext
44
+ ) {
45
+ companion object {
46
+ const val REACT_CLASS = "RNMBXOfflineModuleLegacy"
47
+ const val LOG_TAG = "OfflineModuleLegacy"
48
+ const val DEFAULT_STYLE_URL = "mapbox://styles/mapbox/streets-v11"
49
+ const val DEFAULT_MIN_ZOOM_LEVEL = 10.0
50
+ const val DEFAULT_MAX_ZOOM_LEVEL = 20.0
51
+ const val COMPLETE_REGION_DOWNLOAD_STATE = 2
52
+ }
53
+
54
+ override fun getName(): String {
55
+ return REACT_CLASS
56
+ }
57
+
58
+ val offlineRegionManager: OfflineRegionManager by lazy {
59
+ getOfflineRegionManager {
60
+ RNMBXModule.getAccessToken(mReactContext)
61
+ }
62
+ }
63
+
64
+ private fun makeDefinition(
65
+ bounds: CoordinateBounds,
66
+ options: ReadableMap
67
+ ): OfflineRegionTilePyramidDefinition {
68
+ return OfflineRegionTilePyramidDefinition.Builder()
69
+ .styleURL(ConvertUtils.getString("styleURL", options, DEFAULT_STYLE_URL))
70
+ .bounds(bounds)
71
+ .minZoom(ConvertUtils.getDouble("minZoom", options, DEFAULT_MIN_ZOOM_LEVEL))
72
+ .maxZoom(ConvertUtils.getDouble("maxZoom", options, DEFAULT_MAX_ZOOM_LEVEL))
73
+ .pixelRatio(mReactContext.getResources().getDisplayMetrics().density)
74
+ .glyphsRasterizationMode(GlyphsRasterizationMode.IDEOGRAPHS_RASTERIZED_LOCALLY)
75
+ .build()
76
+ }
77
+
78
+ private fun convertPointPairToBounds(boundsFC: FeatureCollection): CoordinateBounds? {
79
+ val geometryCollection = boundsFC.toGeometryCollection()
80
+ val geometries = geometryCollection.geometries()
81
+ if (geometries.size != 2) {
82
+ return null
83
+ }
84
+ val pt0 = geometries.get(0) as Point?
85
+ val pt1 = geometries.get(1) as Point?
86
+ if (pt0 == null || pt1 == null) {
87
+ return null
88
+ }
89
+ return CoordinateBounds(pt0, pt1)
90
+ }
91
+
92
+ private fun createPackCallback(promise: Promise, metadata: ByteArray): OfflineRegionCreateCallback {
93
+ return OfflineRegionCreateCallback { expected ->
94
+ if (expected.isValue) {
95
+ expected.value?.let {
96
+ it.setOfflineRegionDownloadState(OfflineRegionDownloadState.ACTIVE)
97
+ it.setMetadata(metadata) { expectedMetadata ->
98
+ if (expectedMetadata.isError) {
99
+ promise.reject("createPack error:", "Failed to setMetadata")
100
+ } else {
101
+ Log.d(LOG_TAG, "createPack done:")
102
+ promise.resolve(fromOfflineRegion(it))
103
+ }
104
+ }
105
+ }
106
+ } else {
107
+ Log.d(LOG_TAG, "createPack error:")
108
+ promise.reject("createPack error:", "Failed to create OfflineRegion")
109
+ }
110
+ }
111
+ }
112
+
113
+
114
+ private fun fromOfflineRegion(region: OfflineRegion): WritableMap? {
115
+ val bb = region.tilePyramidDefinition?.bounds
116
+ val map = Arguments.createMap()
117
+
118
+ if (bb === null) return map
119
+
120
+ val jsonBounds = writableArrayOf(
121
+ writableArrayOf(bb.east(), bb.north()),
122
+ writableArrayOf(bb.west(), bb.south())
123
+ )
124
+
125
+ map.putArray("bounds", jsonBounds)
126
+ map.putString("metadata", String(region.metadata))
127
+
128
+ return map
129
+ }
130
+
131
+ private fun getMetadataBytes(metadata: String?): ByteArray? {
132
+ var metadataBytes: ByteArray? = null
133
+ if (metadata == null || metadata.isEmpty()) {
134
+ return metadataBytes
135
+ }
136
+ try {
137
+ metadataBytes = metadata.toByteArray(charset("utf-8"))
138
+ } catch (e: UnsupportedEncodingException) {
139
+ Log.w(LOG_TAG, e.localizedMessage)
140
+ }
141
+ return metadataBytes
142
+ }
143
+
144
+ private fun getRegionByName(
145
+ name: String?,
146
+ offlineRegions: List<OfflineRegion>
147
+ ): OfflineRegion? {
148
+ if (name.isNullOrEmpty()) {
149
+ return null
150
+ }
151
+ for (region in offlineRegions) {
152
+ try {
153
+ val byteMetadata = region.metadata
154
+
155
+ if (byteMetadata != null) {
156
+ val metadata = JSONObject(String(byteMetadata))
157
+ if (name == metadata.getString("name")) {
158
+ return region
159
+ }
160
+ }
161
+ } catch (e: JSONException) {
162
+ Log.w(LOG_TAG, e.localizedMessage)
163
+ }
164
+ }
165
+ return null
166
+ }
167
+
168
+ private fun makeRegionStatus(regionName: String, status: OfflineRegionStatus): WritableMap? {
169
+ val map = Arguments.createMap()
170
+ val progressPercentage = if (status.requiredResourceCount > 0) status.completedResourceCount.toDouble() / status.requiredResourceCount.toDouble() else 0.0
171
+ val percentage = ceil(progressPercentage * 100.0).coerceAtMost(100.0)
172
+ val isCompleted = percentage == 100.0
173
+ val downloadState = if (isCompleted) COMPLETE_REGION_DOWNLOAD_STATE else status.downloadState.ordinal
174
+
175
+ map.putString("name", regionName)
176
+ map.putInt("state", downloadState)
177
+ map.putDouble("percentage", percentage)
178
+ map.putInt("completedResourceCount", status.completedResourceCount.toInt())
179
+ map.putInt("completedResourceSize", status.completedResourceSize.toInt())
180
+ map.putInt("completedTileSize", status.completedTileSize.toInt())
181
+ map.putInt("completedTileCount", status.completedTileCount.toInt())
182
+ map.putInt("requiredResourceCount", status.requiredResourceCount.toInt())
183
+ return map
184
+ }
185
+
186
+ @ReactMethod
187
+ @Throws(JSONException::class)
188
+ fun createPack(options: ReadableMap, promise: Promise) {
189
+ try {
190
+ val metadataBytes: ByteArray? =
191
+ getMetadataBytes(ConvertUtils.getString("metadata", options, ""))
192
+
193
+ val boundsStr = options.getString("bounds")!!
194
+ val boundsFC = FeatureCollection.fromJson(boundsStr)
195
+ val bounds = convertPointPairToBounds(boundsFC)
196
+
197
+ if (metadataBytes == null || bounds == null) {
198
+ promise.reject("createPack error:", "No metadata or bounds set")
199
+ return
200
+ };
201
+
202
+ val definition: OfflineRegionTilePyramidDefinition = makeDefinition(bounds, options)
203
+
204
+ UiThreadUtil.runOnUiThread {
205
+ offlineRegionManager.createOfflineRegion(definition, createPackCallback(promise, metadataBytes))
206
+ }
207
+
208
+ } catch (e: Throwable) {
209
+ promise.reject("createPack error:", e)
210
+ }
211
+ }
212
+
213
+ @ReactMethod
214
+ fun getPacks(promise: Promise) {
215
+ UiThreadUtil.runOnUiThread {
216
+ offlineRegionManager.getOfflineRegions(object: OfflineRegionCallback {
217
+ override fun run(expected: Expected<String, MutableList<OfflineRegion>>) {
218
+ if (expected.isValue) {
219
+ expected.value?.let {
220
+ val payload = Arguments.createArray()
221
+
222
+ for (region in it) {
223
+ payload.pushMap(fromOfflineRegion(region!!))
224
+ }
225
+
226
+ Log.d(LOG_TAG, "getPacks done:" + it.size.toString())
227
+ promise.resolve(payload)
228
+ }
229
+ } else {
230
+ promise.reject("getPacks error:", expected.error)
231
+ Log.d(LOG_TAG, "getPacks error:${expected.error}")
232
+ }
233
+ }
234
+ })
235
+ }
236
+ }
237
+
238
+ @ReactMethod
239
+ fun deletePack(name: String?, promise: Promise) {
240
+ UiThreadUtil.runOnUiThread {
241
+ offlineRegionManager.getOfflineRegions { regionsExpected ->
242
+ if (regionsExpected.isValue) {
243
+ regionsExpected.value?.let { regions ->
244
+ var region = getRegionByName(name, regions);
245
+
246
+ if (region == null) {
247
+ promise.resolve(null);
248
+ Log.w(LOG_TAG, "deleteRegion - Unknown offline region");
249
+ return@getOfflineRegions
250
+ }
251
+
252
+ region.setOfflineRegionDownloadState(OfflineRegionDownloadState.INACTIVE)
253
+
254
+ region.purge { purgeExpected ->
255
+ if (purgeExpected.isError) {
256
+ promise.reject("deleteRegion error:", purgeExpected.error);
257
+ } else {
258
+ promise.resolve(null);
259
+ }
260
+ }
261
+ }
262
+ } else {
263
+ promise.reject("deleteRegion error:", regionsExpected.error);
264
+ }
265
+ }
266
+ }
267
+ }
268
+
269
+ @ReactMethod
270
+ fun invalidatePack(name: String?, promise: Promise) {
271
+ UiThreadUtil.runOnUiThread {
272
+ offlineRegionManager.getOfflineRegions { expected ->
273
+ if (expected.isValue) {
274
+ expected.value?.let { regions ->
275
+ var region = getRegionByName(name, regions);
276
+
277
+ if (region == null) {
278
+ promise.resolve(null);
279
+ Log.w(LOG_TAG, "invalidateRegion - Unknown offline region");
280
+ return@getOfflineRegions
281
+ }
282
+
283
+ region.invalidate { expected ->
284
+ if (expected.isError) {
285
+ promise.reject("invalidateRegion error:", expected.error);
286
+ } else {
287
+ promise.resolve(null);
288
+ }
289
+ }
290
+ }
291
+ } else {
292
+ promise.reject("invalidateRegion error:", expected.error);
293
+ }
294
+ }
295
+ }
296
+ }
297
+
298
+ @ReactMethod
299
+ fun getPackStatus(name: String?, promise: Promise) {
300
+ UiThreadUtil.runOnUiThread {
301
+ offlineRegionManager.getOfflineRegions { expected ->
302
+ if (expected.isValue) {
303
+ expected.value?.let { regions ->
304
+ var region = getRegionByName(name, regions);
305
+
306
+ if (region == null) {
307
+ promise.resolve(null);
308
+ Log.w(LOG_TAG, "getPackStatus - Unknown offline region");
309
+ return@getOfflineRegions
310
+ }
311
+
312
+ region.getStatus {
313
+ if (it.isValue) {
314
+ it.value?.let { status ->
315
+ promise.resolve(makeRegionStatus(name!!, status));
316
+ }
317
+ } else {
318
+ promise.reject("getPackStatus error:", expected.error);
319
+ }
320
+ }
321
+ }
322
+ } else {
323
+ promise.reject("getPackStatus error:", expected.error);
324
+ }
325
+ }
326
+ }
327
+ }
328
+
329
+ @ReactMethod
330
+ fun pausePackDownload(name: String?, promise: Promise) {
331
+ UiThreadUtil.runOnUiThread {
332
+ offlineRegionManager.getOfflineRegions { expected ->
333
+ if (expected.isValue) {
334
+ expected.value?.let { regions ->
335
+ var region = getRegionByName(name, regions);
336
+
337
+ if (region == null) {
338
+ promise.resolve(null);
339
+ Log.w(LOG_TAG, "pausePackDownload - Unknown offline region");
340
+ return@getOfflineRegions
341
+ }
342
+
343
+ region.setOfflineRegionDownloadState(OfflineRegionDownloadState.INACTIVE)
344
+ promise.resolve(null)
345
+ }
346
+ } else {
347
+ promise.reject("pausePackDownload error:", expected.error);
348
+ }
349
+ }
350
+ }
351
+ }
352
+
353
+ @ReactMethod
354
+ fun resumePackDownload(name: String?, promise: Promise) {
355
+ UiThreadUtil.runOnUiThread {
356
+ offlineRegionManager.getOfflineRegions { expected ->
357
+ if (expected.isValue) {
358
+ expected.value?.let { regions ->
359
+ var region = getRegionByName(name, regions);
360
+
361
+ if (region == null) {
362
+ promise.resolve(null);
363
+ Log.w(LOG_TAG, "resumeRegionDownload - Unknown offline region");
364
+ return@getOfflineRegions
365
+ }
366
+
367
+ region.setOfflineRegionDownloadState(OfflineRegionDownloadState.ACTIVE)
368
+ promise.resolve(null);
369
+ }
370
+ } else {
371
+ promise.reject("resumeRegionDownload error:", expected.error);
372
+ }
373
+ }
374
+ }
375
+ }
376
+
377
+ @ReactMethod
378
+ fun resetDatabase(promise: Promise) {
379
+ UiThreadUtil.runOnUiThread {
380
+ var purgedCount = 0
381
+ offlineRegionManager.getOfflineRegions { expected ->
382
+ if (expected.isValue) {
383
+ expected.value?.let { regions ->
384
+ if (regions.size == 0) promise.resolve(null)
385
+
386
+ for (region in regions) {
387
+ region.setOfflineRegionDownloadState(OfflineRegionDownloadState.INACTIVE)
388
+
389
+ region.purge { expected ->
390
+ if (expected.isError) {
391
+ promise.reject("resetDatabase error:", expected.error);
392
+ } else {
393
+ purgedCount++
394
+ if (purgedCount == regions.size) {
395
+ Log.d(LOG_TAG, "resetDatabase done: ${regions.size} packs were purged")
396
+ promise.resolve(null)
397
+ }
398
+ }
399
+ }
400
+ }
401
+ }
402
+ } else {
403
+ promise.reject("resetDatabase error:", expected.error);
404
+ }
405
+ }
406
+ }
407
+ }
408
+
409
+ @ReactMethod
410
+ fun migrateOfflineCache(promise: Promise) {
411
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
412
+ // Old and new cache file paths
413
+ val targetDirectoryPathName = mReactContext.filesDir.absolutePath + "/.mapbox/map_data"
414
+ val sourcePathName = mReactContext.filesDir.absolutePath + "/mbgl-offline.db"
415
+ val sourcePath = Paths.get(sourcePathName)
416
+ val targetPath = Paths.get("$targetDirectoryPathName/map_data.db")
417
+
418
+ try {
419
+ val source = File(sourcePath.toString())
420
+
421
+ if (!source.exists()) {
422
+ Log.d(LOG_TAG, "Nothing to migrate")
423
+ promise.resolve(false)
424
+ return
425
+ }
426
+
427
+ val directory = File(targetDirectoryPathName)
428
+
429
+ directory.mkdirs()
430
+ Files.move(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING)
431
+ Log.d(LOG_TAG, "v10 cache directory created successfully")
432
+ promise.resolve(true)
433
+ } catch (e: Exception) {
434
+ val mes = "${e}... file move unsuccessful"
435
+ Log.d(LOG_TAG, mes)
436
+ promise.reject(mes)
437
+ }
438
+ } else {
439
+ val mes = "\"migrateOfflineCache only supported on api level 26 or later\""
440
+ Log.w(LOG_TAG, "migrateOfflineCache only supported on api level 26 or later")
441
+ promise.reject(mes)
442
+ }
443
+ }
444
+ }
@@ -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
+ }
@@ -87,6 +87,9 @@ object BitmapUtils {
87
87
  if (tempFile == null) {
88
88
  return null
89
89
  }
90
+ if (outputStream == null) {
91
+ return null
92
+ }
90
93
  bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream)
91
94
  closeSnapshotOutputStream(outputStream)
92
95
  return Uri.fromFile(tempFile).toString()
@@ -20,6 +20,7 @@ import com.facebook.imagepipeline.image.CloseableStaticBitmap
20
20
  import com.facebook.imagepipeline.request.ImageRequestBuilder
21
21
  import com.facebook.react.views.imagehelper.ImageSource
22
22
  import com.rnmapbox.rnmbx.components.images.ImageInfo
23
+ import com.rnmapbox.rnmbx.components.images.ImageManager
23
24
  import java.io.File
24
25
  import java.lang.ref.WeakReference
25
26
  import java.util.HashMap
@@ -27,12 +28,13 @@ import com.rnmapbox.rnmbx.v11compat.image.*
27
28
 
28
29
  data class DownloadedImage(val name: String, val bitmap: Bitmap, val info: ImageInfo)
29
30
 
30
- class DownloadMapImageTask(context: Context, map: MapboxMap, callback: OnAllImagesLoaded?) :
31
+ class DownloadMapImageTask(context: Context, map: MapboxMap, imageManager: ImageManager?, callback: OnAllImagesLoaded? = null) :
31
32
  AsyncTask<Map.Entry<String, ImageEntry>, Void?, List<DownloadedImage>>() {
32
33
  private val mContext: WeakReference<Context>
33
34
  private val mMap: WeakReference<MapboxMap>
34
35
  private val mCallback: OnAllImagesLoaded?
35
36
  private val mCallerContext: Any
37
+ private val mImageManager: WeakReference<ImageManager>
36
38
 
37
39
  interface OnAllImagesLoaded {
38
40
  fun onAllImagesLoaded()
@@ -97,7 +99,7 @@ class DownloadMapImageTask(context: Context, map: MapboxMap, callback: OnAllImag
97
99
  for (image in images) {
98
100
  bitmapImages[image.name] = image.bitmap
99
101
  val info = image.info
100
-
102
+ mImageManager.get()?.resolve(image.name, image.bitmap)
101
103
  style.addBitmapImage(image.name, image.bitmap, info)
102
104
  }
103
105
  }
@@ -112,6 +114,7 @@ class DownloadMapImageTask(context: Context, map: MapboxMap, callback: OnAllImag
112
114
  init {
113
115
  mContext = WeakReference(context.applicationContext)
114
116
  mMap = WeakReference(map)
117
+ mImageManager = WeakReference(imageManager)
115
118
  mCallback = callback
116
119
  mCallerContext = this
117
120
  }
@@ -100,6 +100,11 @@ object GeoJSONUtils {
100
100
  val map: WritableMap = WritableNativeMap()
101
101
  map.putString("type", "Feature")
102
102
  map.putMap("geometry", toPointGeometry(latLng))
103
+ properties?.let {
104
+ if (it.hasKey("id") == true) {
105
+ map.putString("id", it.getString("id"));
106
+ }
107
+ }
103
108
  map.putMap("properties", properties)
104
109
  return map
105
110
  }