@rnmapbox/maps 10.1.0-beta.20 → 10.1.0-beta.22

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 (386) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/AndroidManifest.xml +1 -1
  3. package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +27 -1
  4. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt +6 -5
  5. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXCircleLayerManager.kt +8 -0
  6. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXFillLayerManager.kt +12 -5
  7. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXHeatmapLayerManager.kt +7 -0
  8. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXLayer.kt +25 -6
  9. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXLineLayerManager.kt +7 -0
  10. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterLayer.kt +4 -0
  11. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXRasterLayerManager.kt +8 -2
  12. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXSymbolLayerManager.kt +8 -0
  13. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/codeparts/LayerManagerCommonProps.codepart-kt.ejs +59 -0
  14. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSource.kt +56 -6
  15. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +2 -1
  16. package/android/src/main/java/com/rnmapbox/rnmbx/shape_animators/RNMBXMovePointShapeAnimatorModule.kt +55 -0
  17. package/android/src/main/java/com/rnmapbox/rnmbx/shape_animators/ShapeAnimatorCommon.kt +110 -0
  18. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Layer.kt +7 -0
  19. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Layer.kt +3 -0
  20. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCircleLayerManagerDelegate.java +9 -6
  21. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCircleLayerManagerInterface.java +3 -2
  22. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXFillLayerManagerDelegate.java +9 -6
  23. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXFillLayerManagerInterface.java +3 -2
  24. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXHeatmapLayerManagerDelegate.java +9 -6
  25. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXHeatmapLayerManagerInterface.java +3 -2
  26. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLineLayerManagerDelegate.java +9 -6
  27. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXLineLayerManagerInterface.java +3 -2
  28. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterLayerManagerDelegate.java +9 -6
  29. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXRasterLayerManagerInterface.java +3 -2
  30. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXSymbolLayerManagerDelegate.java +9 -6
  31. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXSymbolLayerManagerInterface.java +3 -2
  32. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeMapViewModuleSpec.java +1 -2
  33. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXImageModuleSpec.java +1 -2
  34. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXMovePointShapeAnimatorModuleSpec.java +43 -0
  35. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXPointAnnotationModuleSpec.java +1 -2
  36. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXShapeSourceModuleSpec.java +1 -2
  37. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXViewportModuleSpec.java +1 -2
  38. package/ios/RNMBX/CommonLayerProperties.H +2 -0
  39. package/ios/RNMBX/RNMBXLayer.swift +27 -0
  40. package/ios/RNMBX/RNMBXMapView.swift +74 -3
  41. package/ios/RNMBX/RNMBXMarkerViewComponentView.mm +1 -0
  42. package/ios/RNMBX/RNMBXShapeSource.swift +54 -15
  43. package/ios/RNMBX/RNMBXViewportComponentView.mm +1 -1
  44. package/ios/RNMBX/ShapeAnimators/RNMBXMovePointShapeAnimatorModule.m +61 -0
  45. package/ios/RNMBX/ShapeAnimators/RNMBXMovePointShapeAnimatorModule.swift +47 -0
  46. package/ios/RNMBX/ShapeAnimators/ShapeAnimatorCommon.swift +76 -0
  47. package/ios/RNMBX/ShapeAnimators/ShapeAnimatorManager.swift +45 -0
  48. package/lib/commonjs/Mapbox.js +10 -0
  49. package/lib/commonjs/Mapbox.js.map +1 -1
  50. package/lib/commonjs/RNMBXModule.js.map +1 -1
  51. package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -1
  52. package/lib/commonjs/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  53. package/lib/commonjs/classes/AnimatedPoint.js.map +1 -1
  54. package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  55. package/lib/commonjs/classes/AnimatedShape.js.map +1 -1
  56. package/lib/commonjs/classes/index.d.js.map +1 -1
  57. package/lib/commonjs/classes/index.js.map +1 -1
  58. package/lib/commonjs/components/AbstractLayer.js.map +1 -1
  59. package/lib/commonjs/components/AbstractSource.js.map +1 -1
  60. package/lib/commonjs/components/Annotation.js.map +1 -1
  61. package/lib/commonjs/components/Atmosphere.js.map +1 -1
  62. package/lib/commonjs/components/BackgroundLayer.js.map +1 -1
  63. package/lib/commonjs/components/Callout.js.map +1 -1
  64. package/lib/commonjs/components/Camera.js.map +1 -1
  65. package/lib/commonjs/components/CircleLayer.js +7 -2
  66. package/lib/commonjs/components/CircleLayer.js.map +1 -1
  67. package/lib/commonjs/components/CustomLocationProvider.js.map +1 -1
  68. package/lib/commonjs/components/FillExtrusionLayer.js.map +1 -1
  69. package/lib/commonjs/components/FillLayer.js +7 -2
  70. package/lib/commonjs/components/FillLayer.js.map +1 -1
  71. package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
  72. package/lib/commonjs/components/HeatmapLayer.js +7 -2
  73. package/lib/commonjs/components/HeatmapLayer.js.map +1 -1
  74. package/lib/commonjs/components/Image.js.map +1 -1
  75. package/lib/commonjs/components/ImageSource.js.map +1 -1
  76. package/lib/commonjs/components/Images.js.map +1 -1
  77. package/lib/commonjs/components/Light.js.map +1 -1
  78. package/lib/commonjs/components/LineLayer.js +7 -2
  79. package/lib/commonjs/components/LineLayer.js.map +1 -1
  80. package/lib/commonjs/components/MapView.js +0 -8
  81. package/lib/commonjs/components/MapView.js.map +1 -1
  82. package/lib/commonjs/components/MarkerView.js.map +1 -1
  83. package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
  84. package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
  85. package/lib/commonjs/components/PointAnnotation.js.map +1 -1
  86. package/lib/commonjs/components/RasterDemSource.js.map +1 -1
  87. package/lib/commonjs/components/RasterLayer.js +7 -2
  88. package/lib/commonjs/components/RasterLayer.js.map +1 -1
  89. package/lib/commonjs/components/RasterSource.js.map +1 -1
  90. package/lib/commonjs/components/ShapeSource.js.map +1 -1
  91. package/lib/commonjs/components/SkyLayer.js +2 -2
  92. package/lib/commonjs/components/SkyLayer.js.map +1 -1
  93. package/lib/commonjs/components/Style.js.map +1 -1
  94. package/lib/commonjs/components/StyleImport.js.map +1 -1
  95. package/lib/commonjs/components/SymbolLayer.js +7 -2
  96. package/lib/commonjs/components/SymbolLayer.js.map +1 -1
  97. package/lib/commonjs/components/Terrain.js.map +1 -1
  98. package/lib/commonjs/components/UserLocation.js.map +1 -1
  99. package/lib/commonjs/components/VectorSource.js.map +1 -1
  100. package/lib/commonjs/components/Viewport.js.map +1 -1
  101. package/lib/commonjs/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
  102. package/lib/commonjs/global.d.js.map +1 -1
  103. package/lib/commonjs/index.js.map +1 -1
  104. package/lib/commonjs/index.web.js.map +1 -1
  105. package/lib/commonjs/modules/location/locationManager.js.map +1 -1
  106. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  107. package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
  108. package/lib/commonjs/modules/offline/offlineManager.js.map +1 -1
  109. package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -1
  110. package/lib/commonjs/modules/snapshot/snapshotManager.js.map +1 -1
  111. package/lib/commonjs/requestAndroidLocationPermissions.js.map +1 -1
  112. package/lib/commonjs/shape_animators/MovePointShapeAnimator.js +21 -0
  113. package/lib/commonjs/shape_animators/MovePointShapeAnimator.js.map +1 -0
  114. package/lib/commonjs/shape_animators/ShapeAnimatorManager.js +15 -0
  115. package/lib/commonjs/shape_animators/ShapeAnimatorManager.js.map +1 -0
  116. package/lib/commonjs/specs/NativeMapViewModule.js.map +1 -1
  117. package/lib/commonjs/specs/NativeRNMBXImageModule.js.map +1 -1
  118. package/lib/commonjs/specs/NativeRNMBXMovePointShapeAnimatorModule.js +10 -0
  119. package/lib/commonjs/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -0
  120. package/lib/commonjs/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
  121. package/lib/commonjs/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
  122. package/lib/commonjs/specs/NativeRNMBXViewportModule.js.map +1 -1
  123. package/lib/commonjs/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
  124. package/lib/commonjs/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
  125. package/lib/commonjs/specs/RNMBXCalloutNativeComponent.js.map +1 -1
  126. package/lib/commonjs/specs/RNMBXCameraNativeComponent.js.map +1 -1
  127. package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js +2 -0
  128. package/lib/commonjs/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
  129. package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -1
  130. package/lib/commonjs/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
  131. package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js +2 -0
  132. package/lib/commonjs/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
  133. package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js +2 -0
  134. package/lib/commonjs/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
  135. package/lib/commonjs/specs/RNMBXImageNativeComponent.js.map +1 -1
  136. package/lib/commonjs/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
  137. package/lib/commonjs/specs/RNMBXImagesNativeComponent.js.map +1 -1
  138. package/lib/commonjs/specs/RNMBXLightNativeComponent.js.map +1 -1
  139. package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js +2 -0
  140. package/lib/commonjs/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
  141. package/lib/commonjs/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  142. package/lib/commonjs/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
  143. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  144. package/lib/commonjs/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
  145. package/lib/commonjs/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
  146. package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js +2 -0
  147. package/lib/commonjs/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
  148. package/lib/commonjs/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
  149. package/lib/commonjs/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
  150. package/lib/commonjs/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
  151. package/lib/commonjs/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
  152. package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js +2 -0
  153. package/lib/commonjs/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
  154. package/lib/commonjs/specs/RNMBXTerrainNativeComponent.js.map +1 -1
  155. package/lib/commonjs/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
  156. package/lib/commonjs/specs/RNMBXViewportNativeComponent.js.map +1 -1
  157. package/lib/commonjs/specs/codegenUtils.js.map +1 -1
  158. package/lib/commonjs/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +17 -0
  159. package/lib/commonjs/types/BaseProps.js.map +1 -1
  160. package/lib/commonjs/types/OnPressEvent.js.map +1 -1
  161. package/lib/commonjs/types/Position.js.map +1 -1
  162. package/lib/commonjs/types/index.js.map +1 -1
  163. package/lib/commonjs/utils/BridgeValue.js.map +1 -1
  164. package/lib/commonjs/utils/Logger.js.map +1 -1
  165. package/lib/commonjs/utils/MapboxStyles.d.js.map +1 -1
  166. package/lib/commonjs/utils/StyleValue.js.map +1 -1
  167. package/lib/commonjs/utils/animated/Animated.js.map +1 -1
  168. package/lib/commonjs/utils/checkRequiredProps.js.map +1 -1
  169. package/lib/commonjs/utils/deprecation.js.map +1 -1
  170. package/lib/commonjs/utils/filterUtils.js.map +1 -1
  171. package/lib/commonjs/utils/geoUtils.js.map +1 -1
  172. package/lib/commonjs/utils/getAnnotationsLayerID.js.map +1 -1
  173. package/lib/commonjs/utils/index.js.map +1 -1
  174. package/lib/commonjs/utils/nativeRef.js.map +1 -1
  175. package/lib/commonjs/utils/styleMap.js.map +1 -1
  176. package/lib/commonjs/web/MapContext.js.map +1 -1
  177. package/lib/commonjs/web/MapboxModule.js.map +1 -1
  178. package/lib/commonjs/web/UnimplementedComponent.js.map +1 -1
  179. package/lib/commonjs/web/components/Camera.js.map +1 -1
  180. package/lib/commonjs/web/components/MapView.js.map +1 -1
  181. package/lib/commonjs/web/index.js.map +1 -1
  182. package/lib/commonjs/web/utils/Logger.js.map +1 -1
  183. package/lib/module/Mapbox.js +8 -0
  184. package/lib/module/Mapbox.js.map +1 -1
  185. package/lib/module/RNMBXModule.js.map +1 -1
  186. package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
  187. package/lib/module/classes/AnimatedExtractCoordinateFromArray.js.map +1 -1
  188. package/lib/module/classes/AnimatedPoint.js.map +1 -1
  189. package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  190. package/lib/module/classes/AnimatedShape.js.map +1 -1
  191. package/lib/module/classes/index.d.js.map +1 -1
  192. package/lib/module/classes/index.js.map +1 -1
  193. package/lib/module/components/AbstractLayer.js.map +1 -1
  194. package/lib/module/components/AbstractSource.js.map +1 -1
  195. package/lib/module/components/Annotation.js.map +1 -1
  196. package/lib/module/components/Atmosphere.js.map +1 -1
  197. package/lib/module/components/BackgroundLayer.js.map +1 -1
  198. package/lib/module/components/Callout.js.map +1 -1
  199. package/lib/module/components/Camera.js.map +1 -1
  200. package/lib/module/components/CircleLayer.js +7 -2
  201. package/lib/module/components/CircleLayer.js.map +1 -1
  202. package/lib/module/components/CustomLocationProvider.js.map +1 -1
  203. package/lib/module/components/FillExtrusionLayer.js.map +1 -1
  204. package/lib/module/components/FillLayer.js +7 -2
  205. package/lib/module/components/FillLayer.js.map +1 -1
  206. package/lib/module/components/HeadingIndicator.js.map +1 -1
  207. package/lib/module/components/HeatmapLayer.js +7 -2
  208. package/lib/module/components/HeatmapLayer.js.map +1 -1
  209. package/lib/module/components/Image.js.map +1 -1
  210. package/lib/module/components/ImageSource.js.map +1 -1
  211. package/lib/module/components/Images.js.map +1 -1
  212. package/lib/module/components/Light.js.map +1 -1
  213. package/lib/module/components/LineLayer.js +7 -2
  214. package/lib/module/components/LineLayer.js.map +1 -1
  215. package/lib/module/components/MapView.js +0 -8
  216. package/lib/module/components/MapView.js.map +1 -1
  217. package/lib/module/components/MarkerView.js.map +1 -1
  218. package/lib/module/components/NativeBridgeComponent.js.map +1 -1
  219. package/lib/module/components/NativeUserLocation.js.map +1 -1
  220. package/lib/module/components/PointAnnotation.js.map +1 -1
  221. package/lib/module/components/RasterDemSource.js.map +1 -1
  222. package/lib/module/components/RasterLayer.js +7 -2
  223. package/lib/module/components/RasterLayer.js.map +1 -1
  224. package/lib/module/components/RasterSource.js.map +1 -1
  225. package/lib/module/components/ShapeSource.js.map +1 -1
  226. package/lib/module/components/SkyLayer.js +2 -2
  227. package/lib/module/components/SkyLayer.js.map +1 -1
  228. package/lib/module/components/Style.js.map +1 -1
  229. package/lib/module/components/StyleImport.js.map +1 -1
  230. package/lib/module/components/SymbolLayer.js +7 -2
  231. package/lib/module/components/SymbolLayer.js.map +1 -1
  232. package/lib/module/components/Terrain.js.map +1 -1
  233. package/lib/module/components/UserLocation.js.map +1 -1
  234. package/lib/module/components/VectorSource.js.map +1 -1
  235. package/lib/module/components/Viewport.js.map +1 -1
  236. package/lib/module/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
  237. package/lib/module/global.d.js.map +1 -1
  238. package/lib/module/index.js.map +1 -1
  239. package/lib/module/index.web.js.map +1 -1
  240. package/lib/module/modules/location/locationManager.js.map +1 -1
  241. package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +1 -1
  242. package/lib/module/modules/offline/OfflinePack.js.map +1 -1
  243. package/lib/module/modules/offline/offlineManager.js.map +1 -1
  244. package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
  245. package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
  246. package/lib/module/requestAndroidLocationPermissions.js.map +1 -1
  247. package/lib/module/shape_animators/MovePointShapeAnimator.js +13 -0
  248. package/lib/module/shape_animators/MovePointShapeAnimator.js.map +1 -0
  249. package/lib/module/shape_animators/ShapeAnimatorManager.js +8 -0
  250. package/lib/module/shape_animators/ShapeAnimatorManager.js.map +1 -0
  251. package/lib/module/specs/NativeMapViewModule.js.map +1 -1
  252. package/lib/module/specs/NativeRNMBXImageModule.js.map +1 -1
  253. package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js +6 -0
  254. package/lib/module/specs/NativeRNMBXMovePointShapeAnimatorModule.js.map +1 -0
  255. package/lib/module/specs/NativeRNMBXPointAnnotationModule.js.map +1 -1
  256. package/lib/module/specs/NativeRNMBXShapeSourceModule.js.map +1 -1
  257. package/lib/module/specs/NativeRNMBXViewportModule.js.map +1 -1
  258. package/lib/module/specs/RNMBXAtmosphereNativeComponent.js.map +1 -1
  259. package/lib/module/specs/RNMBXBackgroundLayerNativeComponent.js.map +1 -1
  260. package/lib/module/specs/RNMBXCalloutNativeComponent.js.map +1 -1
  261. package/lib/module/specs/RNMBXCameraNativeComponent.js.map +1 -1
  262. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js +2 -1
  263. package/lib/module/specs/RNMBXCircleLayerNativeComponent.js.map +1 -1
  264. package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -1
  265. package/lib/module/specs/RNMBXFillExtrusionLayerNativeComponent.js.map +1 -1
  266. package/lib/module/specs/RNMBXFillLayerNativeComponent.js +2 -1
  267. package/lib/module/specs/RNMBXFillLayerNativeComponent.js.map +1 -1
  268. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js +2 -1
  269. package/lib/module/specs/RNMBXHeatmapLayerNativeComponent.js.map +1 -1
  270. package/lib/module/specs/RNMBXImageNativeComponent.js.map +1 -1
  271. package/lib/module/specs/RNMBXImageSourceNativeComponent.js.map +1 -1
  272. package/lib/module/specs/RNMBXImagesNativeComponent.js.map +1 -1
  273. package/lib/module/specs/RNMBXLightNativeComponent.js.map +1 -1
  274. package/lib/module/specs/RNMBXLineLayerNativeComponent.js +2 -1
  275. package/lib/module/specs/RNMBXLineLayerNativeComponent.js.map +1 -1
  276. package/lib/module/specs/RNMBXMapViewNativeComponent.js.map +1 -1
  277. package/lib/module/specs/RNMBXMarkerViewNativeComponent.js.map +1 -1
  278. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  279. package/lib/module/specs/RNMBXPointAnnotationNativeComponent.js.map +1 -1
  280. package/lib/module/specs/RNMBXRasterDemSourceNativeComponent.js.map +1 -1
  281. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js +2 -1
  282. package/lib/module/specs/RNMBXRasterLayerNativeComponent.js.map +1 -1
  283. package/lib/module/specs/RNMBXRasterSourceNativeComponent.js.map +1 -1
  284. package/lib/module/specs/RNMBXShapeSourceNativeComponent.js.map +1 -1
  285. package/lib/module/specs/RNMBXSkyLayerNativeComponent.js.map +1 -1
  286. package/lib/module/specs/RNMBXStyleImportNativeComponent.js.map +1 -1
  287. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js +2 -1
  288. package/lib/module/specs/RNMBXSymbolLayerNativeComponent.js.map +1 -1
  289. package/lib/module/specs/RNMBXTerrainNativeComponent.js.map +1 -1
  290. package/lib/module/specs/RNMBXVectorSourceNativeComponent.js.map +1 -1
  291. package/lib/module/specs/RNMBXViewportNativeComponent.js.map +1 -1
  292. package/lib/module/specs/codegenUtils.js.map +1 -1
  293. package/lib/module/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +17 -0
  294. package/lib/module/types/BaseProps.js.map +1 -1
  295. package/lib/module/types/OnPressEvent.js.map +1 -1
  296. package/lib/module/types/Position.js.map +1 -1
  297. package/lib/module/types/index.js.map +1 -1
  298. package/lib/module/utils/BridgeValue.js.map +1 -1
  299. package/lib/module/utils/Logger.js.map +1 -1
  300. package/lib/module/utils/MapboxStyles.d.js.map +1 -1
  301. package/lib/module/utils/StyleValue.js.map +1 -1
  302. package/lib/module/utils/animated/Animated.js.map +1 -1
  303. package/lib/module/utils/checkRequiredProps.js.map +1 -1
  304. package/lib/module/utils/deprecation.js.map +1 -1
  305. package/lib/module/utils/filterUtils.js.map +1 -1
  306. package/lib/module/utils/geoUtils.js.map +1 -1
  307. package/lib/module/utils/getAnnotationsLayerID.js.map +1 -1
  308. package/lib/module/utils/index.js.map +1 -1
  309. package/lib/module/utils/nativeRef.js.map +1 -1
  310. package/lib/module/utils/styleMap.js.map +1 -1
  311. package/lib/module/web/MapContext.js.map +1 -1
  312. package/lib/module/web/MapboxModule.js.map +1 -1
  313. package/lib/module/web/UnimplementedComponent.js.map +1 -1
  314. package/lib/module/web/components/Camera.js.map +1 -1
  315. package/lib/module/web/components/MapView.js.map +1 -1
  316. package/lib/module/web/index.js.map +1 -1
  317. package/lib/module/web/utils/Logger.js.map +1 -1
  318. package/lib/typescript/src/Mapbox.d.ts +5 -0
  319. package/lib/typescript/src/Mapbox.d.ts.map +1 -1
  320. package/lib/typescript/src/components/CircleLayer.d.ts +11 -3
  321. package/lib/typescript/src/components/CircleLayer.d.ts.map +1 -1
  322. package/lib/typescript/src/components/FillLayer.d.ts +10 -1
  323. package/lib/typescript/src/components/FillLayer.d.ts.map +1 -1
  324. package/lib/typescript/src/components/HeatmapLayer.d.ts +12 -4
  325. package/lib/typescript/src/components/HeatmapLayer.d.ts.map +1 -1
  326. package/lib/typescript/src/components/LineLayer.d.ts +10 -1
  327. package/lib/typescript/src/components/LineLayer.d.ts.map +1 -1
  328. package/lib/typescript/src/components/MapView.d.ts +5 -6
  329. package/lib/typescript/src/components/MapView.d.ts.map +1 -1
  330. package/lib/typescript/src/components/RasterLayer.d.ts +11 -2
  331. package/lib/typescript/src/components/RasterLayer.d.ts.map +1 -1
  332. package/lib/typescript/src/components/SymbolLayer.d.ts +17 -5
  333. package/lib/typescript/src/components/SymbolLayer.d.ts.map +1 -1
  334. package/lib/typescript/src/shape_animators/MovePointShapeAnimator.d.ts +7 -0
  335. package/lib/typescript/src/shape_animators/MovePointShapeAnimator.d.ts.map +1 -0
  336. package/lib/typescript/src/shape_animators/ShapeAnimatorManager.d.ts +5 -0
  337. package/lib/typescript/src/shape_animators/ShapeAnimatorManager.d.ts.map +1 -0
  338. package/lib/typescript/src/specs/NativeMapViewModule.d.ts +0 -1
  339. package/lib/typescript/src/specs/NativeMapViewModule.d.ts.map +1 -1
  340. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts +0 -1
  341. package/lib/typescript/src/specs/NativeRNMBXImageModule.d.ts.map +1 -1
  342. package/lib/typescript/src/specs/NativeRNMBXMovePointShapeAnimatorModule.d.ts +10 -0
  343. package/lib/typescript/src/specs/NativeRNMBXMovePointShapeAnimatorModule.d.ts.map +1 -0
  344. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts +0 -1
  345. package/lib/typescript/src/specs/NativeRNMBXPointAnnotationModule.d.ts.map +1 -1
  346. package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts +0 -1
  347. package/lib/typescript/src/specs/NativeRNMBXShapeSourceModule.d.ts.map +1 -1
  348. package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts +0 -1
  349. package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts.map +1 -1
  350. package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts +6 -3
  351. package/lib/typescript/src/specs/RNMBXCircleLayerNativeComponent.d.ts.map +1 -1
  352. package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts +13 -10
  353. package/lib/typescript/src/specs/RNMBXFillLayerNativeComponent.d.ts.map +1 -1
  354. package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts +13 -10
  355. package/lib/typescript/src/specs/RNMBXHeatmapLayerNativeComponent.d.ts.map +1 -1
  356. package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts +13 -10
  357. package/lib/typescript/src/specs/RNMBXLineLayerNativeComponent.d.ts.map +1 -1
  358. package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts +13 -10
  359. package/lib/typescript/src/specs/RNMBXRasterLayerNativeComponent.d.ts.map +1 -1
  360. package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts +13 -10
  361. package/lib/typescript/src/specs/RNMBXSymbolLayerNativeComponent.d.ts.map +1 -1
  362. package/lib/typescript/src/specs/codegenUtils.d.ts +0 -1
  363. package/lib/typescript/src/specs/codegenUtils.d.ts.map +1 -1
  364. package/package.json +7 -8
  365. package/rnmapbox-maps.podspec +13 -2
  366. package/setup-jest.js +5 -0
  367. package/src/Mapbox.ts +9 -0
  368. package/src/components/CircleLayer.tsx +17 -5
  369. package/src/components/FillLayer.tsx +16 -3
  370. package/src/components/HeatmapLayer.tsx +18 -6
  371. package/src/components/LineLayer.tsx +16 -3
  372. package/src/components/MapView.tsx +0 -8
  373. package/src/components/RasterLayer.tsx +17 -4
  374. package/src/components/SkyLayer.tsx +2 -2
  375. package/src/components/SymbolLayer.tsx +26 -7
  376. package/src/components/codeparts/LayerPropsCommon.codepart-tsx +62 -0
  377. package/src/shape_animators/MovePointShapeAnimator.ts +18 -0
  378. package/src/shape_animators/ShapeAnimatorManager.tsx +8 -0
  379. package/src/specs/NativeRNMBXMovePointShapeAnimatorModule.ts +16 -0
  380. package/src/specs/RNMBXCircleLayerNativeComponent.ts +9 -3
  381. package/src/specs/RNMBXFillLayerNativeComponent.ts +17 -11
  382. package/src/specs/RNMBXHeatmapLayerNativeComponent.ts +17 -11
  383. package/src/specs/RNMBXLineLayerNativeComponent.ts +17 -11
  384. package/src/specs/RNMBXRasterLayerNativeComponent.ts +17 -11
  385. package/src/specs/RNMBXSymbolLayerNativeComponent.ts +17 -11
  386. package/src/specs/codeparts/CommonLayerNativeComponentsProps.codepart-ts +17 -0
@@ -1,5 +1,5 @@
1
1
  def defaultMapboxMapsImpl = "mapbox"
2
- def defaultMapboxMapsVersion = "10.16.1"
2
+ def defaultMapboxMapsVersion = "10.16.2"
3
3
 
4
4
  def safeExtGet(prop, fallback) {
5
5
  rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
@@ -1,4 +1,4 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android">
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.rnmapbox.rnmbx">
2
2
  <uses-permission android:name="android.permission.INTERNET" />
3
3
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
4
4
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
@@ -46,6 +46,8 @@ import com.rnmapbox.rnmbx.modules.RNMBXLogging
46
46
  import com.rnmapbox.rnmbx.modules.RNMBXModule
47
47
  import com.rnmapbox.rnmbx.modules.RNMBXOfflineModule
48
48
  import com.rnmapbox.rnmbx.modules.RNMBXSnapshotModule
49
+ import com.rnmapbox.rnmbx.shape_animators.RNMBXMovePointShapeAnimatorModule
50
+ import com.rnmapbox.rnmbx.shape_animators.ShapeAnimatorManager
49
51
  import com.rnmapbox.rnmbx.utils.ViewTagResolver
50
52
 
51
53
  class RNMBXPackage : TurboReactPackage() {
@@ -61,6 +63,17 @@ class RNMBXPackage : TurboReactPackage() {
61
63
  return viewTagResolver
62
64
  }
63
65
 
66
+ var shapeAnimators: ShapeAnimatorManager? = null
67
+ fun getShapeAnimators(module: String): ShapeAnimatorManager {
68
+ val shapeAnimators = shapeAnimators
69
+ if (shapeAnimators == null) {
70
+ val result = ShapeAnimatorManager()
71
+ this.shapeAnimators = result
72
+ return result
73
+ }
74
+ return shapeAnimators
75
+ }
76
+
64
77
  fun resetViewTagResolver() {
65
78
  viewTagResolver = null
66
79
  }
@@ -80,6 +93,7 @@ class RNMBXPackage : TurboReactPackage() {
80
93
  RNMBXShapeSourceModule.NAME -> return RNMBXShapeSourceModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
81
94
  RNMBXImageModule.NAME -> return RNMBXImageModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
82
95
  RNMBXPointAnnotationModule.NAME -> return RNMBXPointAnnotationModule(reactApplicationContext, getViewTagResolver(reactApplicationContext, s))
96
+ RNMBXMovePointShapeAnimatorModule.NAME -> return RNMBXMovePointShapeAnimatorModule(reactApplicationContext, getShapeAnimators(s))
83
97
  }
84
98
  return null
85
99
  }
@@ -107,7 +121,10 @@ class RNMBXPackage : TurboReactPackage() {
107
121
 
108
122
  // sources
109
123
  managers.add(RNMBXVectorSourceManager(reactApplicationContext))
110
- managers.add(RNMBXShapeSourceManager(reactApplicationContext, getViewTagResolver(reactApplicationContext, "RNMBXShapeSourceManager")))
124
+ managers.add(RNMBXShapeSourceManager(reactApplicationContext,
125
+ getViewTagResolver(reactApplicationContext, "RNMBXShapeSourceManager"),
126
+ getShapeAnimators("RNMBXShapeSourceManager")
127
+ ))
111
128
  managers.add(RNMBXRasterDemSourceManager(reactApplicationContext))
112
129
  managers.add(RNMBXRasterSourceManager(reactApplicationContext))
113
130
  managers.add(RNMBXImageSourceManager())
@@ -227,6 +244,15 @@ class RNMBXPackage : TurboReactPackage() {
227
244
  false, // isCxxModule
228
245
  isTurboModule // isTurboModule
229
246
  )
247
+ moduleInfos[RNMBXMovePointShapeAnimatorModule.NAME] = ReactModuleInfo(
248
+ RNMBXMovePointShapeAnimatorModule.NAME,
249
+ RNMBXMovePointShapeAnimatorModule.NAME,
250
+ false,
251
+ false,
252
+ false,
253
+ false,
254
+ isTurboModule
255
+ )
230
256
  moduleInfos
231
257
  }
232
258
  }
@@ -15,6 +15,7 @@ import com.mapbox.maps.MapboxMap
15
15
  import com.mapbox.maps.Style
16
16
  import com.mapbox.maps.plugin.LocationPuck2D
17
17
  import com.mapbox.maps.plugin.locationcomponent.location
18
+ import com.mapbox.maps.plugin.locationcomponent.R as LR
18
19
  import com.rnmapbox.rnmbx.R
19
20
  import com.rnmapbox.rnmbx.components.AbstractMapFeature
20
21
  import com.rnmapbox.rnmbx.components.RemovalReason
@@ -234,19 +235,19 @@ fun makeDefaultLocationPuck2D(context: Context, renderMode: RenderMode): Locatio
234
235
  return LocationPuck2D(
235
236
  topImage = AppCompatResourcesV11.getDrawableImageHolder(
236
237
  context,
237
- R.drawable.mapbox_user_icon
238
+ LR.drawable.mapbox_user_icon
238
239
  ),
239
240
  bearingImage = AppCompatResourcesV11.getDrawableImageHolder(
240
241
  context,
241
242
  when (renderMode) {
242
- RenderMode.GPS -> R.drawable.mapbox_user_bearing_icon
243
- RenderMode.COMPASS -> R.drawable.mapbox_user_puck_icon
244
- RenderMode.NORMAL -> R.drawable.mapbox_user_stroke_icon
243
+ RenderMode.GPS -> LR.drawable.mapbox_user_bearing_icon
244
+ RenderMode.COMPASS -> LR.drawable.mapbox_user_puck_icon
245
+ RenderMode.NORMAL -> LR.drawable.mapbox_user_stroke_icon
245
246
  }
246
247
  ),
247
248
  shadowImage = AppCompatResourcesV11.getDrawableImageHolder(
248
249
  context,
249
- R.drawable.mapbox_user_icon_shadow
250
+ LR.drawable.mapbox_user_icon_shadow
250
251
  )
251
252
  );
252
253
  }
@@ -8,6 +8,7 @@ import com.facebook.react.viewmanagers.RNMBXCircleLayerManagerInterface
8
8
 
9
9
  class RNMBXCircleLayerManager : ViewGroupManager<RNMBXCircleLayer>(),
10
10
  RNMBXCircleLayerManagerInterface<RNMBXCircleLayer> {
11
+
11
12
  override fun getName(): String {
12
13
  return REACT_CLASS
13
14
  }
@@ -16,6 +17,7 @@ class RNMBXCircleLayerManager : ViewGroupManager<RNMBXCircleLayer>(),
16
17
  return RNMBXCircleLayer(reactContext)
17
18
  }
18
19
 
20
+ // @{codepart-replace-start(LayerManagerCommonProps.codepart-kt.ejs,{layerType:"RNMBXCircleLayer"})}
19
21
  @ReactProp(name = "id")
20
22
  override fun setId(layer: RNMBXCircleLayer, id: Dynamic) {
21
23
  layer.iD = id.asString()
@@ -71,6 +73,12 @@ class RNMBXCircleLayerManager : ViewGroupManager<RNMBXCircleLayer>(),
71
73
  layer.setFilter(filterList.asArray())
72
74
  }
73
75
 
76
+ @ReactProp(name = "slot")
77
+ override fun setSlot(layer: RNMBXCircleLayer, slot: Dynamic) {
78
+ layer.setSlot(slot.asString())
79
+ }
80
+ // @{codepart-replace-end}
81
+
74
82
  companion object {
75
83
  const val REACT_CLASS = "RNMBXCircleLayer"
76
84
  }
@@ -16,6 +16,7 @@ class RNMBXFillLayerManager : ViewGroupManager<RNMBXFillLayer>(),
16
16
  return RNMBXFillLayer(reactContext)
17
17
  }
18
18
 
19
+ // @{codepart-replace-start(LayerManagerCommonProps.codepart-kt.ejs,{layerType:"RNMBXFillLayer"})}
19
20
  @ReactProp(name = "id")
20
21
  override fun setId(layer: RNMBXFillLayer, id: Dynamic) {
21
22
  layer.iD = id.asString()
@@ -31,11 +32,6 @@ class RNMBXFillLayerManager : ViewGroupManager<RNMBXFillLayer>(),
31
32
  layer.setSourceID(sourceID.asString())
32
33
  }
33
34
 
34
- @ReactProp(name = "sourceLayerID")
35
- override fun setSourceLayerID(layer: RNMBXFillLayer, sourceLayerID: Dynamic) {
36
- layer.setSourceLayerID(sourceLayerID.asString())
37
- }
38
-
39
35
  @ReactProp(name = "aboveLayerID")
40
36
  override fun setAboveLayerID(layer: RNMBXFillLayer, aboveLayerID: Dynamic) {
41
37
  layer.setAboveLayerID(aboveLayerID.asString())
@@ -66,11 +62,22 @@ class RNMBXFillLayerManager : ViewGroupManager<RNMBXFillLayer>(),
66
62
  layer.setReactStyle(style.asMap())
67
63
  }
68
64
 
65
+ @ReactProp(name = "sourceLayerID")
66
+ override fun setSourceLayerID(layer: RNMBXFillLayer, sourceLayerID: Dynamic) {
67
+ layer.setSourceLayerID(sourceLayerID.asString())
68
+ }
69
+
69
70
  @ReactProp(name = "filter")
70
71
  override fun setFilter(layer: RNMBXFillLayer, filterList: Dynamic) {
71
72
  layer.setFilter(filterList.asArray())
72
73
  }
73
74
 
75
+ @ReactProp(name = "slot")
76
+ override fun setSlot(layer: RNMBXFillLayer, slot: Dynamic) {
77
+ layer.setSlot(slot.asString())
78
+ }
79
+ // @{codepart-replace-end}
80
+
74
81
  companion object {
75
82
  const val REACT_CLASS = "RNMBXFillLayer"
76
83
  }
@@ -16,6 +16,7 @@ class RNMBXHeatmapLayerManager : ViewGroupManager<RNMBXHeatmapLayer>(),
16
16
  return RNMBXHeatmapLayer(reactContext)
17
17
  }
18
18
 
19
+ // @{codepart-replace-start(LayerManagerCommonProps.codepart-kt.ejs,{layerType:"RNMBXHeatmapLayer"})}
19
20
  @ReactProp(name = "id")
20
21
  override fun setId(layer: RNMBXHeatmapLayer, id: Dynamic) {
21
22
  layer.iD = id.asString()
@@ -71,6 +72,12 @@ class RNMBXHeatmapLayerManager : ViewGroupManager<RNMBXHeatmapLayer>(),
71
72
  layer.setFilter(filterList.asArray())
72
73
  }
73
74
 
75
+ @ReactProp(name = "slot")
76
+ override fun setSlot(layer: RNMBXHeatmapLayer, slot: Dynamic) {
77
+ layer.setSlot(slot.asString())
78
+ }
79
+ // @{codepart-replace-end}
80
+
74
81
  companion object {
75
82
  const val REACT_CLASS = "RNMBXHeatmapLayer"
76
83
  }
@@ -18,6 +18,7 @@ import com.rnmapbox.rnmbx.components.RemovalReason
18
18
  import com.rnmapbox.rnmbx.utils.ExpressionParser
19
19
  import java.lang.ClassCastException
20
20
  import com.rnmapbox.rnmbx.utils.Logger
21
+ import com.rnmapbox.rnmbx.v11compat.layer.*
21
22
 
22
23
  abstract class RNMBXLayer<T : Layer?>(protected var mContext: Context) : AbstractSourceConsumer(
23
24
  mContext
@@ -133,6 +134,13 @@ abstract class RNMBXLayer<T : Layer?>(protected var mContext: Context) : Abstrac
133
134
  }
134
135
  }
135
136
 
137
+ var mSlot: String? = null
138
+
139
+ fun setSlot(slot: String?) {
140
+ mSlot = slot
141
+ applySlot()
142
+ }
143
+
136
144
  fun setExisting(existing: Boolean) {
137
145
  mExisting = existing
138
146
  }
@@ -232,16 +240,27 @@ abstract class RNMBXLayer<T : Layer?>(protected var mContext: Context) : Abstrac
232
240
  add ()
233
241
  } } }
234
242
  }
235
- setZoomBounds()
243
+ applyZoomBounds()
244
+ applySlot()
236
245
  }
237
246
  }
238
247
 
239
- protected fun setZoomBounds() {
240
- if (mMaxZoomLevel != null) {
241
- mLayer!!.maxZoom(mMaxZoomLevel!!.toFloat().toDouble())
248
+ protected fun applyZoomBounds() {
249
+ mLayer?.let {layer ->
250
+ mMaxZoomLevel?.let {
251
+ layer.maxZoom(it.toDouble())
252
+ }
253
+ mMinZoomLevel?.let {
254
+ layer.minZoom(it.toDouble())
255
+ }
242
256
  }
243
- if (mMinZoomLevel != null) {
244
- mLayer!!.minZoom(mMinZoomLevel!!.toFloat().toDouble())
257
+ }
258
+
259
+ protected fun applySlot() {
260
+ mLayer?.let { layer ->
261
+ mSlot?.let {
262
+ layer.slot(it)
263
+ }
245
264
  }
246
265
  }
247
266
 
@@ -16,6 +16,7 @@ class RNMBXLineLayerManager : ViewGroupManager<RNMBXLineLayer>(),
16
16
  return RNMBXLineLayer(reactContext)
17
17
  }
18
18
 
19
+ // @{codepart-replace-start(LayerManagerCommonProps.codepart-kt.ejs,{layerType:"RNMBXLineLayer"})}
19
20
  @ReactProp(name = "id")
20
21
  override fun setId(layer: RNMBXLineLayer, id: Dynamic) {
21
22
  layer.iD = id.asString()
@@ -71,6 +72,12 @@ class RNMBXLineLayerManager : ViewGroupManager<RNMBXLineLayer>(),
71
72
  layer.setFilter(filterList.asArray())
72
73
  }
73
74
 
75
+ @ReactProp(name = "slot")
76
+ override fun setSlot(layer: RNMBXLineLayer, slot: Dynamic) {
77
+ layer.setSlot(slot.asString())
78
+ }
79
+ // @{codepart-replace-end}
80
+
74
81
  companion object {
75
82
  const val REACT_CLASS = "RNMBXLineLayer"
76
83
  }
@@ -20,4 +20,8 @@ class RNMBXRasterLayer(context: Context?) : RNMBXLayer<RasterLayer?>(
20
20
  Logger.e("RNMBXRasterLayer", "mLayer is null")
21
21
  }
22
22
  }
23
+
24
+ fun setSourceLayerID(asString: String?) {
25
+ // no-op
26
+ }
23
27
  }
@@ -16,6 +16,7 @@ class RNMBXRasterLayerManager : ViewGroupManager<RNMBXRasterLayer>(),
16
16
  return RNMBXRasterLayer(reactContext)
17
17
  }
18
18
 
19
+ // @{codepart-replace-start(LayerManagerCommonProps.codepart-kt.ejs,{layerType:"RNMBXRasterLayer"})}
19
20
  @ReactProp(name = "id")
20
21
  override fun setId(layer: RNMBXRasterLayer, id: Dynamic) {
21
22
  layer.iD = id.asString()
@@ -63,8 +64,7 @@ class RNMBXRasterLayerManager : ViewGroupManager<RNMBXRasterLayer>(),
63
64
 
64
65
  @ReactProp(name = "sourceLayerID")
65
66
  override fun setSourceLayerID(layer: RNMBXRasterLayer, sourceLayerID: Dynamic) {
66
- // not available
67
- // layer.setSourceLayerID(sourceLayerID.asString())
67
+ layer.setSourceLayerID(sourceLayerID.asString())
68
68
  }
69
69
 
70
70
  @ReactProp(name = "filter")
@@ -72,6 +72,12 @@ class RNMBXRasterLayerManager : ViewGroupManager<RNMBXRasterLayer>(),
72
72
  layer.setFilter(filterList.asArray())
73
73
  }
74
74
 
75
+ @ReactProp(name = "slot")
76
+ override fun setSlot(layer: RNMBXRasterLayer, slot: Dynamic) {
77
+ layer.setSlot(slot.asString())
78
+ }
79
+ // @{codepart-replace-end}
80
+
75
81
  companion object {
76
82
  const val REACT_CLASS = "RNMBXRasterLayer"
77
83
  }
@@ -16,6 +16,7 @@ class RNMBXSymbolLayerManager : ViewGroupManager<RNMBXSymbolLayer>(),
16
16
  return RNMBXSymbolLayer(reactContext)
17
17
  }
18
18
 
19
+ // @{codepart-replace-start(LayerManagerCommonProps.codepart-kt.ejs,{layerType:"RNMBXSymbolLayer"})}
19
20
  @ReactProp(name = "id")
20
21
  override fun setId(layer: RNMBXSymbolLayer, id: Dynamic) {
21
22
  layer.iD = id.asString()
@@ -71,6 +72,13 @@ class RNMBXSymbolLayerManager : ViewGroupManager<RNMBXSymbolLayer>(),
71
72
  layer.setFilter(filterList.asArray())
72
73
  }
73
74
 
75
+ @ReactProp(name = "slot")
76
+ override fun setSlot(layer: RNMBXSymbolLayer, slot: Dynamic) {
77
+ layer.setSlot(slot.asString())
78
+ }
79
+
80
+ // @{codepart-replace-end}
81
+
74
82
  companion object {
75
83
  const val REACT_CLASS = "RNMBXSymbolLayer"
76
84
  }
@@ -0,0 +1,59 @@
1
+ @ReactProp(name = "id")
2
+ override fun setId(layer: <%= layerType %>, id: Dynamic) {
3
+ layer.iD = id.asString()
4
+ }
5
+
6
+ @ReactProp(name = "existing")
7
+ override fun setExisting(layer: <%= layerType %>, existing: Dynamic) {
8
+ layer.setExisting(existing.asBoolean())
9
+ }
10
+
11
+ @ReactProp(name = "sourceID")
12
+ override fun setSourceID(layer: <%= layerType %>, sourceID: Dynamic) {
13
+ layer.setSourceID(sourceID.asString())
14
+ }
15
+
16
+ @ReactProp(name = "aboveLayerID")
17
+ override fun setAboveLayerID(layer: <%= layerType %>, aboveLayerID: Dynamic) {
18
+ layer.setAboveLayerID(aboveLayerID.asString())
19
+ }
20
+
21
+ @ReactProp(name = "belowLayerID")
22
+ override fun setBelowLayerID(layer: <%= layerType %>, belowLayerID: Dynamic) {
23
+ layer.setBelowLayerID(belowLayerID.asString())
24
+ }
25
+
26
+ @ReactProp(name = "layerIndex")
27
+ override fun setLayerIndex(layer: <%= layerType %>, layerIndex: Dynamic) {
28
+ layer.setLayerIndex(layerIndex.asInt())
29
+ }
30
+
31
+ @ReactProp(name = "minZoomLevel")
32
+ override fun setMinZoomLevel(layer: <%= layerType %>, minZoomLevel: Dynamic) {
33
+ layer.setMinZoomLevel(minZoomLevel.asDouble())
34
+ }
35
+
36
+ @ReactProp(name = "maxZoomLevel")
37
+ override fun setMaxZoomLevel(layer: <%= layerType %>, maxZoomLevel: Dynamic) {
38
+ layer.setMaxZoomLevel(maxZoomLevel.asDouble())
39
+ }
40
+
41
+ @ReactProp(name = "reactStyle")
42
+ override fun setReactStyle(layer: <%= layerType %>, style: Dynamic) {
43
+ layer.setReactStyle(style.asMap())
44
+ }
45
+
46
+ @ReactProp(name = "sourceLayerID")
47
+ override fun setSourceLayerID(layer: <%= layerType %>, sourceLayerID: Dynamic) {
48
+ layer.setSourceLayerID(sourceLayerID.asString())
49
+ }
50
+
51
+ @ReactProp(name = "filter")
52
+ override fun setFilter(layer: <%= layerType %>, filterList: Dynamic) {
53
+ layer.setFilter(filterList.asArray())
54
+ }
55
+
56
+ @ReactProp(name = "slot")
57
+ override fun setSlot(layer: <%= layerType %>, slot: Dynamic) {
58
+ layer.setSlot(slot.asString())
59
+ }
@@ -14,8 +14,13 @@ import com.mapbox.bindgen.Value
14
14
  import com.mapbox.geojson.Feature
15
15
  import com.rnmapbox.rnmbx.events.AndroidCallbackEvent
16
16
  import com.mapbox.geojson.FeatureCollection
17
+ import com.mapbox.geojson.GeoJson
18
+ import com.mapbox.geojson.Geometry
17
19
  import com.mapbox.maps.*
18
20
  import com.mapbox.maps.extension.style.expressions.generated.Expression
21
+ import com.rnmapbox.rnmbx.shape_animators.ShapeAnimationConsumer
22
+ import com.rnmapbox.rnmbx.shape_animators.ShapeAnimator
23
+ import com.rnmapbox.rnmbx.shape_animators.ShapeAnimatorManager
19
24
  import com.rnmapbox.rnmbx.utils.Logger
20
25
  import java.net.URL
21
26
  import java.util.ArrayList
@@ -24,9 +29,10 @@ import java.util.HashMap
24
29
  import com.rnmapbox.rnmbx.v11compat.feature.*
25
30
 
26
31
  class RNMBXShapeSource(context: Context, private val mManager: RNMBXShapeSourceManager) :
27
- RNMBXSource<GeoJsonSource>(context) {
32
+ RNMBXSource<GeoJsonSource>(context), ShapeAnimationConsumer {
28
33
  private var mURL: URL? = null
29
34
  private var mShape: String? = null
35
+ private var mShapeAnimator: ShapeAnimator? = null
30
36
  private var mCluster: Boolean? = null
31
37
  private var mClusterRadius: Long? = null
32
38
  private var mClusterMaxZoom: Long? = null
@@ -70,11 +76,55 @@ class RNMBXShapeSource(context: Context, private val mManager: RNMBXShapeSourceM
70
76
  }
71
77
 
72
78
  fun setShape(geoJSONStr: String) {
73
- mShape = geoJSONStr
74
- if (mSource != null && mMapView != null && !mMapView!!.isDestroyed) {
75
- mSource!!.data(mShape!!)
76
- val result = mMap!!.getStyle()!!
77
- .setStyleSourceProperty(iD!!, "data", Value.valueOf(mShape!!))
79
+ mShapeAnimator?.unsubscribe(this)
80
+ mShapeAnimator = null
81
+
82
+ val shapeAnimatorManager = mManager.shapeAnimatorManager
83
+ if (shapeAnimatorManager.isShapeAnimatorTag(geoJSONStr)) {
84
+ shapeAnimatorManager.get(geoJSONStr)?.let { shapeAnimator ->
85
+ mShapeAnimator = shapeAnimator
86
+ shapeAnimator.subscribe(this)
87
+
88
+ shapeUpdated(shapeAnimator.getShape())
89
+ }
90
+ } else {
91
+ mShape = geoJSONStr
92
+ if (mSource != null && mMapView != null && !mMapView!!.isDestroyed) {
93
+ mSource!!.data(mShape!!)
94
+ val result = mMap!!.getStyle()!!
95
+ .setStyleSourceProperty(iD!!, "data", Value.valueOf(mShape!!))
96
+ }
97
+ }
98
+ }
99
+
100
+ private fun toGeoJSONSourceData(geoJson: GeoJson): GeoJSONSourceData? {
101
+ return when (geoJson) {
102
+ is Geometry ->
103
+ GeoJSONSourceData(geoJson)
104
+ is Feature ->
105
+ GeoJSONSourceData(geoJson)
106
+ is FeatureCollection ->
107
+ GeoJSONSourceData(geoJson.features() ?: listOf())
108
+ else -> {
109
+ Logger.e(
110
+ LOG_TAG,
111
+ "Cannot convert shape to GeoJSONSourceData, neitthe Geometry, nor Feature or FeatureCollection: $geoJson"
112
+ );
113
+ return null
114
+ }
115
+ }
116
+ }
117
+ override fun shapeUpdated(geoJson: GeoJson) {
118
+ mSource?.also {
119
+ if (mSource != null && mMapView != null && !mMapView!!.isDestroyed) {
120
+ toGeoJSONSourceData(geoJson)?.let {
121
+ mMap?.getStyle()?.setStyleGeoJSONSourceData(iD!!,
122
+ "animated-shape",
123
+ it)
124
+ }
125
+ }
126
+ } ?: run {
127
+ mShape = geoJson.toJson()
78
128
  }
79
129
  }
80
130
 
@@ -13,6 +13,7 @@ import com.mapbox.bindgen.Value
13
13
  import com.mapbox.maps.extension.style.expressions.generated.Expression
14
14
  import com.rnmapbox.rnmbx.events.constants.EventKeys
15
15
  import com.rnmapbox.rnmbx.events.constants.eventMapOf
16
+ import com.rnmapbox.rnmbx.shape_animators.ShapeAnimatorManager
16
17
  import com.rnmapbox.rnmbx.utils.ExpressionParser
17
18
  import com.rnmapbox.rnmbx.utils.Logger
18
19
  import com.rnmapbox.rnmbx.utils.ViewTagResolver
@@ -22,7 +23,7 @@ import java.util.ArrayList
22
23
  import java.util.HashMap
23
24
 
24
25
 
25
- class RNMBXShapeSourceManager(private val mContext: ReactApplicationContext, val viewTagResolver: ViewTagResolver) :
26
+ class RNMBXShapeSourceManager(private val mContext: ReactApplicationContext, val viewTagResolver: ViewTagResolver, val shapeAnimatorManager: ShapeAnimatorManager) :
26
27
  AbstractEventEmitter<RNMBXShapeSource>(
27
28
  mContext
28
29
  ), RNMBXShapeSourceManagerInterface<RNMBXShapeSource> {
@@ -0,0 +1,55 @@
1
+ package com.rnmapbox.rnmbx.shape_animators
2
+
3
+ import com.facebook.react.bridge.ReadableArray
4
+ import com.rnmapbox.rnmbx.NativeRNMBXMovePointShapeAnimatorModuleSpec
5
+ import com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotation
6
+
7
+ import com.facebook.react.bridge.Promise
8
+ import com.facebook.react.bridge.ReactApplicationContext
9
+ import com.facebook.react.bridge.ReactMethod
10
+ import com.facebook.react.module.annotations.ReactModule
11
+ import com.google.gson.JsonObject
12
+ import com.mapbox.geojson.GeoJson
13
+ import com.mapbox.geojson.Point
14
+ import com.rnmapbox.rnmbx.NativeRNMBXPointAnnotationModuleSpec
15
+ import com.rnmapbox.rnmbx.utils.Logger
16
+ import com.rnmapbox.rnmbx.utils.ViewTagResolver
17
+ import org.json.JSONObject
18
+ import java.util.Date
19
+ import java.util.Timer
20
+ import java.util.TimerTask
21
+ import kotlin.time.Duration
22
+ import kotlin.time.Duration.Companion.milliseconds
23
+ import kotlin.time.DurationUnit
24
+
25
+
26
+ /// Simple dummy animator that moves the point lng, lat by 0.01, 0.01 each second.
27
+ class MovePointShapeAnimator(tag: Tag, val lng: Double, val lat: Double) : ShapeAnimatorCommon(tag) {
28
+ override fun getAnimatedShape(timeSinceStart: Duration): Pair<GeoJson, Boolean> {
29
+ return Pair(Point.fromLngLat(lng + timeSinceStart.toDouble(DurationUnit.SECONDS) * 0.01, lat + timeSinceStart.toDouble(DurationUnit.SECONDS) * 0.01), true);
30
+ }
31
+ }
32
+
33
+
34
+ @ReactModule(name = RNMBXMovePointShapeAnimatorModule.NAME)
35
+ class RNMBXMovePointShapeAnimatorModule(reactContext: ReactApplicationContext?, val shapeAnimatorManager: ShapeAnimatorManager) :
36
+ NativeRNMBXMovePointShapeAnimatorModuleSpec(reactContext) {
37
+
38
+ companion object {
39
+ const val LOG_TAG = "RNMBXMovePointShapeAnimatorModule"
40
+ const val NAME = "RNMBXMovePointShapeAnimatorModule"
41
+ }
42
+
43
+ @ReactMethod
44
+ override fun start(tag: Double, promise: Promise?) {
45
+ shapeAnimatorManager?.get(tag.toLong())?.let {
46
+ it.start()
47
+ }
48
+ }
49
+
50
+ @ReactMethod
51
+ override fun create(tag: Double, from: ReadableArray, promise: Promise) {
52
+ shapeAnimatorManager.add(MovePointShapeAnimator(tag.toLong(), from.getDouble(0), from.getDouble(1)))
53
+ promise.resolve(tag.toInt())
54
+ }
55
+ }
@@ -0,0 +1,110 @@
1
+ package com.rnmapbox.rnmbx.shape_animators
2
+
3
+ import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
4
+ import com.mapbox.geojson.GeoJson
5
+ import com.rnmapbox.rnmbx.utils.Logger
6
+ import org.json.JSONObject
7
+ import java.util.Date
8
+ import java.util.Timer
9
+ import java.util.TimerTask
10
+ import kotlin.time.Duration
11
+ import kotlin.time.Duration.Companion.milliseconds
12
+
13
+ typealias Tag = Long
14
+
15
+ interface ShapeAnimationConsumer {
16
+ fun shapeUpdated(geoJson: GeoJson)
17
+ }
18
+ abstract class ShapeAnimator(val tag: Tag) {
19
+
20
+ abstract fun getShape(): GeoJson;
21
+ abstract fun start()
22
+
23
+ abstract fun subscribe(consumer: ShapeAnimationConsumer)
24
+ abstract fun unsubscribe(consumer: ShapeAnimationConsumer)
25
+ }
26
+
27
+ abstract class ShapeAnimatorCommon(tag: Tag): ShapeAnimator(tag) {
28
+ var timer: Timer? = null
29
+ var progress: Duration? = null
30
+
31
+ // region subscribers
32
+ var subscribers = mutableListOf<ShapeAnimationConsumer>()
33
+
34
+ override fun subscribe(consumer: ShapeAnimationConsumer) {
35
+ subscribers.add(consumer)
36
+ }
37
+
38
+ override fun unsubscribe(consumer: ShapeAnimationConsumer) {
39
+ subscribers.remove(consumer)
40
+ }
41
+ // endregion
42
+
43
+ override fun start() {
44
+ timer?.let { it.cancel() }
45
+ timer = null
46
+
47
+ val fps = 30.0
48
+ val period = (1000.0 / fps).toLong()
49
+ val start = Date()
50
+ val timer = Timer()
51
+ this.timer = timer
52
+ val animator = this
53
+
54
+ timer.schedule(object : TimerTask() {
55
+ override fun run() {
56
+
57
+ val now = Date()
58
+ val diff = now.time - start.time
59
+ val progress = diff.milliseconds
60
+ animator.progress = progress
61
+
62
+ val (shape,doContinue) = getAnimatedShape(progress)
63
+ if (!doContinue) {
64
+ timer.cancel()
65
+ }
66
+ runOnUiThread {
67
+ subscribers.forEach { it.shapeUpdated(shape) }
68
+ }
69
+ }
70
+ },0, period)
71
+ }
72
+
73
+ override fun getShape(): GeoJson {
74
+ return getAnimatedShape(progress ?: 0.0.milliseconds).first
75
+ }
76
+ abstract fun getAnimatedShape(timeSinceStart: Duration): Pair<GeoJson,Boolean>
77
+
78
+ }
79
+ class ShapeAnimatorManager {
80
+ private val animators = hashMapOf<Tag, ShapeAnimator>();
81
+ fun add(animator: ShapeAnimator) {
82
+ animators.put(animator.tag, animator)
83
+ }
84
+
85
+ fun isShapeAnimatorTag(shape: String): Boolean {
86
+ return shape.startsWith("{\"__nativeTag\":")
87
+ }
88
+
89
+ fun get(tag: String): ShapeAnimator? {
90
+ if (isShapeAnimatorTag(tag)) {
91
+ val obj = JSONObject(tag)
92
+ val tag = obj.getLong("__nativeTag")
93
+ return get(tag);
94
+ }
95
+ else {
96
+ return null
97
+ }
98
+ }
99
+ fun get(tag: Tag): ShapeAnimator? {
100
+ val result = animators[tag]
101
+ if (result == null) {
102
+ Logger.e(LOG_TAG, "Shape animator for tag: $tag was not found")
103
+ }
104
+ return result
105
+ }
106
+
107
+ companion object {
108
+ const val LOG_TAG = "RNMBXShapeAnimators"
109
+ }
110
+ }